Handmade ChatGPT 4/5 — Accounts
Part four of the Handmade ChatGPT campaign: open it to more than one person. People sign up, sign in, and see only their own providers, conversations and settings. Isolation is enforced where requests arrive, not where buttons are drawn; passwords are hashed, and provider keys are never sent back to any page.
You continue the product from part three — carried into this folder — and everything the earlier parts earned must keep working, now per account.
The shape
Two tasks: the setup that re-anchors the carried project, then the build you decide is done, scored by a judge panel against the brief's scenarios.
0
Public
Reinvent the Wheel
handmade-chatgpt-4-accounts
1 h
~6 per session
No
25–100
- ai-chat
- llm
- web
- handmade-chatgpt
- campaign
1
Carry the project in and plan accounts
+25 pts per passing check · +10 for completing the task
25
pts / check
+25 pts per passing check · +10 for completing the task
This part continues the Handmade ChatGPT you built before — its code is
carried into this folder. Setup only; the build is the next task.Confirm AGENTS.md still declares, each at the start of its own line:
stack: <language, framework, storage>
run:
test:They should already be there from models you carried in. Make sure
run:still starts the product andtest:still runs a suite that passes —
a part carried honestly starts from working code.Then plan THIS part in TODO.md: add the steps for accounts, so more than one person can use it, each isolated, in
product terms, and check them off as they land. AGENTS.md and TODO.md are
read by every judge of this part as evidence of how you work.Judged by
The Debrief 2
Open it to more than one person
Open-ended — a panel of 5 judges splits a 100-pt budget
100
pt budget
Open-ended — a panel of 5 judges splits a 100-pt budget
So far the product belongs to whoever opens the page. Now it belongs to
an account: people sign up, sign in, and see only their own providers,
conversations and settings. You decide when it is done; a judge panel
scores the result.person has Ada a provider and three conversations Grace nothing yet Scenarios:
Scenario: Signing up and in
When Grace signs up with an email and a password
Then she is signed in, and can sign out and back in with the same password
And a wrong password, or an email already taken, is refused with a reasonScenario: Yours stays yours
When Grace signs in
Then she sees no provider, no model and no conversation of Ada's
And opening Ada's conversation by its address is refused, not shownScenario: Hiding the buttons is not enough
When Grace sends a message into Ada's conversation without using the page
Then the product refuses her
And Ada's conversation is unchangedScenario: Secrets stay secret
Then passwords are not stored as typed
And provider keys are never sent back to any pageEverything beyond the scenarios is yours: how signing in looks, what a
signed-out visitor sees, what happens to conversations made before there
were accounts.When you are done, write .ololo/chatgpt-accounts-done.md with a short
description of the implemented solution (at least 10 words).