Hosted Delivery Platform
Buyers open a website instead of unzipping a download
- Products served
- 24
- Gated / open
- 13 / 11
- Personal data stored
- None
- Accounts required
- None
What this case study claims
Design decisions, intended behaviour and the reasoning behind them, plus counts verified against the built product. It does not claim learner outcomes, adoption or improvement: those have not been measured, and describing an intention as a result would be the easiest thing on this page to get wrong.
Overview
Twenty-four products opened as a website instead of shipped as a ZIP — eleven open, thirteen gated. Access is a code that unlocks one product, so there are no accounts, no passwords, no email capture and no record of any buyer stored anywhere. Alongside the site sits the release process: eighty-three products that have already been sold are locked read-only, with checks around every release confirming that what goes out is what was built.
Problem
Products delivered as ZIP downloads fail in predictable ways. The archive unpacks into a downloads folder, the folder is renamed, relative links break, and managed school devices often refuse to open local HTML at all. Every one of those failures arrives as a support request from a teacher who simply wants to open the thing. The standard remedy is a website with user accounts, which carries two costs that were not acceptable here: collecting personal data about educators and their schools, and running an account system single-handed.
Audience
People who have bought a product and want to open it, often on a school device, often on the second day of term.
My role
- The access model, and the decision not to hold identity at all
- Operating the hosting, the access gate and the release process
- The privacy position, and the packaging changes it forced
Goals
What the design set out to achieve. These are objectives, not results.
- Replace the ZIP with a URL that keeps working
- Collect nothing about anyone
- Let access survive a school year on the same device without a login
- Make sure a released artefact cannot be quietly changed under someone who already bought it
- Build a front door that is not a shop
How it works
A buyer reaches a product through a code, not a login. The code unlocks one product for a set period and cannot be reused against a different one. Nothing about the buyer is recorded anywhere — no account, no password, no email address — so there is nothing about a buyer to protect, to lose, or to be asked to hand over. Repeated wrong attempts are slowed automatically. What traffic information exists comes from the server’s own records rather than from anything running in a teacher’s browser: no cookies, no identifiers, no third parties.
Design decisions
No accounts — the strongest privacy position is having nothing to lose
Every alternative design started with “create an account”, and each of them ends with a table of people. Removing identity from the system removes the breach, the data request and the retention policy in one move. It is also the honest version of a privacy claim: not that data is well protected, but that it was never taken.
The gate is per product, not per person
A code unlocks one product for a set period. That is enough to make access meaningful and not enough to identify anyone, which is exactly the amount of information the system should hold.
What has shipped is locked
Eighty-three products that have already been sold are locked read-only, with a documented procedure for unlocking, changing and relocking one. This constrains me more than anyone else, which is the point: it makes it impossible to silently alter something a person has already paid for.
The landing page is deliberately not a store
It exists to let someone open what they already own. Adding a catalogue, prices or upsells to it would make the buyer’s destination into a sales surface, and the buyer is not the audience for that.
Analytics from logs, not from the page
The traffic picture is assembled from server logs. No script runs in a teacher’s browser to report on them, which keeps the no-personal-data claim true on the pages as well as in the gate.
AI’s role
This is infrastructure, and the useful role for AI here was adversarial: repeatedly asking how the access design fails, what someone does with a code they should not have, and which of the convenience features being proposed would quietly reintroduce identity. Drafting the setup was the smaller half. The system itself contains no model and calls nothing outside itself.
Human judgment
The privacy and compliance position is a business decision with legal edges, not a technical preference, and it was taken deliberately rather than arrived at. So was the release lock, which is a self-imposed constraint that makes routine work harder and exists precisely because it makes carelessness harder too.
Experience
https://resources.mamtamotwani.org/
- No accounts.
- No passwords.
- No personal data.
24 products served · 83 released archives hashed and write-protected
The parts of this worth showing are the parts that must not be shown: the access flow, the code-entry page in use, and the configuration behind them. Described in words instead.
Challenges
Designing access with no identity means giving up everything convenient about a login. There is no “resend my code”, no account recovery, no way to look up who has access to what, and no way to contact anyone about a fix. Each of those has to be answered somewhere else — in the packaging or in the product itself — and working through that list is most of the real work in this system.
Iteration
The release side of the platform is where the iteration is recorded. What began as a build-and-upload step accumulated a check that what is served matches what was built, a check before publishing, a record of exactly what went out, and finally the read-only lock over the eighty-three products already sold. Each of those exists because release is the point at which a mistake becomes someone else’s problem.
Reflection
No adoption or revenue figures are claimed here and none are implied. What is verified is the shape of the thing: twenty-four hosted products, thirteen gated and eleven open, eighty-three locked releases, live and responding. Whether buyers prefer it to a ZIP is not something I have measured, and it would be easy to assert. The part I would defend regardless of usage is the decision to hold no personal data, because that one is right whether or not anybody notices it.
Skills demonstrated
- Access and delivery design
- Privacy by design
- Service operation
- Release process design
- Privacy-preserving analytics
- Product packaging and delivery
Read next
Systems
Curriculum QA Suite
Pedagogical rules turned into pass-or-fail release checks
Interactive Learning
Math at Home
Nine units of Grade 3 mathematics designed for the adult in the room