Founder
The Founder owns the idea, enters the evidence, and reads the survival verdict before committing further.
- Owns the idea and the verdict
- Records evidence by class
- Reads the build status and done notice
first-project is a founder-facing product for validating a startup idea with evidence rather than enthusiasm. The requester, Patrick N, asked for a "next million" idea with strong market opportunity and a realistic chance to survive — an idea with a strong moat — and asked the builder to select the idea, build it, and report when the build is done. This document is the System Requirements Document for that product.
The product idea selected by the builder is Proofline, an evidence-led idea validation workspace. A founder records a candidate idea, then assembles the evidence that would prove or disprove it: market signals, competitive moat claims, and demand proof. Each piece of evidence is classified by strength — strong proof, weak proof, or missing — and the workspace computes a survival verdict from those classifications. The founder sees, at a glance, whether the idea has the market opportunity and durability to survive, and exactly which evidence is missing before committing further.
The audience is two roles. The Founder owns the idea, enters evidence, and reads the verdict. The End user is the operator who opens the built product, completes the main validation task on a shared idea, and receives a clear result. Both reach the product through a public Landing page, self-service Sign Up, and returning Login; the Founder additionally has a Build Status page that reports the build state and the done notice the requester asked for.
first-project delivers Proofline as a web application with a React frontend, a shared FastAPI backend, and a MariaDB database for application-owned persistent data. The frontend is the only human-facing surface; the backend owns idea records, evidence records, verdict computation, and identity; the database persists all of it.
The active human actors are the Founder and the End user. The Founder selects and owns an idea, records evidence, and reads the survival verdict and build status. The End user works the same validation task on an idea and receives a clear result. Both enroll through self-service Sign Up and return through Login. The backend is a supporting system actor, not a persona: it computes verdicts and persists state but initiates no product goal of its own.
Current scope is exactly the five accepted pages — Landing, Sign Up, Build Status, Login, and Workspace — and the accepted capabilities of idea capture, evidence classification, verdict computation, build-status reporting, and self-service identity. There is no billing, no team collaboration, no third-party market-data integration, and no investor or marketplace surface.
The requester did not specify the idea, so the builder selected it; that selection is a hard constraint of this project, not an open question for the product to resolve at runtime. Proofline is delivered entirely first-party: the application owns its identity, its idea and evidence records, and its verdict logic. No provider surface or external destination owns any accepted human step.
Access is split by lifecycle. Landing, Sign Up, and Login are anonymously reachable — a visitor can read the product explanation, create an account, or verify a returning account without already being signed in. Build Status and Workspace are protected: they require a verified session because they read and write durable, actor-specific state (the Founder's build state and the idea's evidence and verdict). A protected page never owns the interaction that establishes access to itself; Sign Up and Login are the distinct anonymous entry boundaries for that.
Everything described here is current. Nothing in this document is deferred to a future horizon.
FR-1 — Select and present a product idea. As a Founder I should see the builder-selected idea presented as a concrete product with a stated market opportunity and moat, so that I can evaluate it rather than invent it. Provenance: explicit. Trigger: opening Landing. Observable result: the idea, its audience, and its evidence classes are stated. Access: anonymous. Failure/recovery: if the preview fails, coded rows fall back to grey "missing" placeholders and the page stays usable. Continuation: proceed to Sign Up.
FR-2 — Enroll as a Founder. As a Founder I should complete self-service enrollment, so that I own an idea and can read its build status and verdict. Provenance: required_inference. Trigger: submitting the Sign Up form with name, email, password, and role Founder. Observable result: an account and session exist; the Founder lands on Build Status. Access: anonymous entry. Failure/recovery: duplicate email, invalid email, or weak password shown inline with the form preserved. Continuation: correct and resubmit, or switch to Login.
FR-3 — Enroll as an End user. As an End user I should complete self-service enrollment, so that I can open the built product and complete its main task. Provenance: required_inference. Trigger: submitting Sign Up with role End user. Observable result: an account and session exist; the End user lands on Workspace. Access: anonymous entry. Failure/recovery: same inline validation and preserved form as FR-2. Continuation: correct and resubmit, or switch to Login.
FR-4 — Verify a returning actor. As a returning Founder or End user I should verify my identity on Login, so that I reach my protected work and resume rather than restart. Provenance: required_inference. Trigger: submitting email and password on Login. Observable result: a session is established and the actor is routed to Build Status (Founder) or Workspace (End user). Access: anonymous entry. Failure/recovery: incorrect credentials produce one plain message that does not reveal which field failed; the form is preserved. Continuation: retry or move to Sign Up.
FR-5 — Read the build state and the done notice. As a Founder I should see the build state and an explicit done notice, so that I know when the build is finished. Provenance: explicit. Trigger: opening Build Status with a verified session. Observable result: the current stage, the ordered completed steps, and — when the done flag is set — a solid done notice. Access: login required. Failure/recovery: an unreadable build state shows a plain error row with retry. Continuation: retry, or continue into Workspace.
FR-6 — Record the idea statement. As an End user I should record or update the idea statement in the Workspace, so that the evidence and verdict are anchored to a concrete idea. Provenance: required_inference. Trigger: entering the idea statement and saving. Observable result: the idea statement is persisted and displayed. Access: login required. Failure/recovery: a failed save shows an inline message and keeps the entered text. Continuation: retry the save.
FR-7 — Add classified evidence. As an End user I should add an evidence item with a class (strong proof, weak proof, or missing) and a short description, so that the idea's support is recorded explicitly. Provenance: required_inference. Trigger: entering a description and selecting a class, then saving. Observable result: the item appears in its class group with the matching 8px colour bar and a tabular timestamp. Access: login required. Failure/recovery: a failed save keeps the entered values and shows an inline message. Continuation: retry, or remove and re-add.
FR-8 — Change or remove an evidence item. As an End user I should change an evidence item's class or remove it, so that the record stays truthful as evidence improves or is disproven. Provenance: required_inference. Trigger: selecting a new class or removing an item. Observable result: the item moves between class groups or disappears, and the verdict recomputes. Access: login required. Failure/recovery: a failed change restores the prior class and shows an inline message. Continuation: retry.
FR-9 — Read the survival verdict. As a Founder or End user I should see the computed survival verdict and the evidence-strength counts, so that I get a clear result about whether the idea has strong market opportunity and a realistic chance to survive. Provenance: explicit (the idea must have strong market opportunity and a realistic chance to survive) with required_inference for the computation mechanics. Trigger: any change to the idea's evidence set. Observable result: the verdict and the strong/weak/missing counts update, with a 160ms colour wipe marking the saved verdict. Access: login required. Failure/recovery: if computation fails, the last verdict stays visible with a plain "not recomputed" note. Continuation: adjust evidence and re-read.
The Founder is the requester's own role: someone who wants a product idea with strong market opportunity that can survive, and who does not want to invent the idea from scratch. The Founder's context is a decision about whether to commit further to an idea, so the Founder's work is reading, not authoring — the Founder reads the build state, the done notice, and the survival verdict, and judges whether the evidence is strong enough.
The End user is the operator who does the validation work. The End user's context is a concrete idea that needs its support made explicit, so the End user's work is authoring and correcting evidence — adding items, classifying them honestly, and removing what does not hold — and then reading the result.
The muse is Massimo Vignelli; the headline is Systematic clarity. The feeling is ordered confidence: a dense validation tool made legible by colour codes and rules.
#F4F1EA (warm paper ground); surface #FFFFFF; text #111111; primary #D7261E (Vignelli red — primary actions and live signal); accent #F2B705 (yellow — second data class, weak proof); muted #6B6B66 (grey — labels only, and missing evidence). Strong proof uses the red bar; weak proof the yellow bar; missing the grey bar.clamp(...); decoration may bleed, text and controls may not.The public entry is a full-width Vignelli red band spanning the viewport edge to edge. Inside it, a stacked 96px Archivo 800 headline sits flush left in black and white. Beneath the headline, flush left, a solid black CTA block leads to Sign Up. To the right, the ruled evidence table fills the right five columns: coded rows with 8px bars — red for strong proof, yellow for weak proof, grey for missing — and tabular numerals aligned in a right-hand data column. A visible 12-column grid with 1px black rules separates every section, never hidden. Section openers use a numbered black square with a white caps label, like a transit sign. The composition recomposes only accepted Landing content: the product statement, the two audiences, the evidence classes, the CTA, and the Login link.
Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief
durable_state_required).frontend, backend, database. No additional infrastructure is required for the accepted workflows.
proofline
Proofline records your market, moat, and demand evidence, classifies each item by strength, and computes a survival verdict before you commit further.
Verified demand: paying pilots and repeated usage with a dated source.
A claim in progress: signals that hint at demand but are not yet sourced.
Not evidenced yet. The workspace names the gap before you commit.
Built for Founders and End users — proof before commitment.
Every piece of evidence is filed into one of three classes. Colour makes strength readable before a single word is read.
Evidence that survives scrutiny — named market signals, a stated moat claim, and demand proof the founder can stand behind.
Evidence that hints at demand but does not yet settle it — anecdote, a single signal, or a claim still being tested.
The class with no evidence recorded yet. Named plainly so the gap is visible before any further commitment.
The Founder owns the idea, enters the evidence, and reads the survival verdict before committing further.
The End user is the operator who opens the built product, completes the main validation task on a shared idea, and receives a clear result.
A computed read on whether the idea has the market opportunity and durability to survive, and exactly which evidence is still missing.

proofline
Proofline records your market, moat, and demand evidence, classifies each item by strength, and computes a survival verdict before you commit further.
Verified demand: paying pilots and repeated usage with a dated source.
A claim in progress: signals that hint at demand but are not yet sourced.
Not evidenced yet. The workspace names the gap before you commit.
Built for Founders and End users — proof before commitment.
Every piece of evidence is filed into one of three classes. Colour makes strength readable before a single word is read.
Evidence that survives scrutiny — named market signals, a stated moat claim, and demand proof the founder can stand behind.
Evidence that hints at demand but does not yet settle it — anecdote, a single signal, or a claim still being tested.
The class with no evidence recorded yet. Named plainly so the gap is visible before any further commitment.
The Founder owns the idea, enters the evidence, and reads the survival verdict before committing further.
The End user is the operator who opens the built product, completes the main validation task on a shared idea, and receives a clear result.
A computed read on whether the idea has the market opportunity and durability to survive, and exactly which evidence is still missing.
No comments yet. Be the first!