Skip to content

Prototype โ€‹

Now, releasing December 2026. Code name Pilot Light. Audience is internal developers and designers only.

The Prototype release means the product is feature-complete and deliberately attacked and verified. It does not mean production or legal clearance: the cutover, the counsel-facing legal work, and everything downstream of them belong to Alpha, because 100% production readiness by December is not realistic and legal only becomes a blocker once outsiders arrive (operator, 2026-08-31).

P0 here means blocks the December release.

Phases are sequential. See Phases.

Phase 1: Environment โ€‹

TaskCategoryPriorityDescriptionWhyStatusIssues
Onboarding pathEng, Ops๐Ÿ”ดย P0One onboarding page, a doctor command that names the next step, POC-side access grantingA newcomer productive in ten minutes without hand-holdingโœ… Built#825, #829
Personal context syncEng๐Ÿ”ดย P0Adopt the context repo on every machine, keep it current, dated volatile files, generated indexContext stranded per machine loses work and starts sessions blind๐Ÿšง In progress#834, #861, #862
Local service stacksEng๐ŸŸ ย P1One command to bring up a preset of services with port-collision guardsStanding up a stack by hand is where an afternoon goesโฌœ Not started#855
Doctor learns moreEng๐ŸŸ ย P1Worktree health, port status, the stale-server hintThe single best diagnostic should cover the things that actually breakโœ… Built#857
Local admin and merchant loginEng๐ŸŸ ย P1ADC cannot mint custom tokens, so local portal login is impossibleForces portal work onto deployed devโฌœ Not started#819
Prebuilt CodespaceEng๐ŸŸกย P2One-click environment with the agent tooling preinstalledOnly worth it if someone joins who cannot use the local pathโฌœ Not started#801

Phase 2: Build โ€‹

The product works end to end.

TaskCategoryPriorityDescriptionWhyStatusIssues
ChatEng๐Ÿ”ดย P0End-to-end encrypted 1:1 messaging inside a connectionTwo people who waved need somewhere to arrange the actual meetโœ… Built#166
FrensEng๐Ÿ”ดย P0Keep a connection after a successful meetTurns a one-off into retention, the second thing Alpha measuresโœ… Built#159, #131
Invite-gated signupEng๐Ÿ”ดย P0Account creation requires a single-use invite link, consumed server-sideAlpha is invite-only, and this is the mechanism that enforces itโœ… Built#375
Light a lanternEng๐Ÿ”ดย P0Pick a venue, signal availability, expire on the 2-hour lifetimeIt is the productโœ… Built#177, #28
Phone and PIN sign-inEng๐Ÿ”ดย P0Phone plus PIN, external OTP behind a flag and a hard spend ceilingThe door to the productโœ… Built#289, #699
User profilesEng๐Ÿ”ดย P0Anonymous profile with interests, client-side encryptedInterests are what strangers match onโœ… Built#132, #147
Venue dataEng๐Ÿ”ดย P0Real venues with hours and age rules from OpenStreetMap plus enrichmentA lantern with nowhere to be lit is not a testโœ… Built#222, #250
Wave to meetEng๐Ÿ”ดย P0Send and accept a meeting request between two lit lanternsThe mechanic Alpha exists to validateโœ… Built#177, #740
Push notificationsEng๐ŸŸ ย P1Real OS push for waves and accepts, Android and desktop ChromeA wave nobody sees is a meet that does not happenโœ… Built#161
BlockEng, Safety๐Ÿ”ดย P0Severs visibility both directionsNobody meets strangers without an exitโœ… Built#144
ReportEng, Safety๐Ÿ”ดย P0In-chat report that opens a moderation caseThe channel for the thing we hope does not happenโœ… Built#662, #678
Moderation pipelineEng, Safety๐Ÿ”ดย P0Report to case to notice, with appealsA report nobody reads is theaterโœ… Built#145, #677
Location proximity gatingEng, Safety๐Ÿ”ดย P0The server validates you are at the venue before a lantern lightsA lantern lit from home is a stranger who is not where they say they areโœ… Built#155, #210
Merchant provisioning seamEng๐Ÿ”ดย P0Application to approved to provisioned without an admin bridging it by handAlpha-gating per the 2026-08-03 gap mapโœ… Built#790, #793
Merchant signup and approvalEng๐Ÿ”ดย P0Application, review, approval into a merchant accountNo offers exist until merchants can get inโœ… Built#136, #138
OffersEng๐Ÿ”ดย P0Create, publish, and expire an offer against a venueWhat a partner merchant runs during Alphaโœ… Built#357
Offer moderation gateEng, Safety๐Ÿ”ดย P0Publish holds at pending review; only an admin approval makes an offer liveNothing unreviewed reaches a user during Alphaโœ… Built#796
Redemption and claimsEng๐Ÿ”ดย P0A user claims an offer, the merchant sees it happenedWithout this there is no attributionโœ… Built#704
Moderation surfacesEng, Safety๐Ÿ”ดย P0Cases, claim, escalate, priority, sealed ban, appealsSomeone has to act on a report during Alphaโœ… Built#621, #678
Venue creation from adminEng๐Ÿ”ดย P0Create and edit a net-new venue in the portalVenues otherwise only arrive by OSM importโœ… Built#786
Event pipelineEng, Analytics๐Ÿ”ดย P0App events into BigQuery, modeled for reportingEverything downstream reads from itโœ… Built#64, #272
Ad delivery telemetryAnalytics, Eng๐ŸŸ ย P1Impressions, fills and claim attribution behind a k-anonymity gateWhat a merchant is shown has to come from somewhereโœ… Built#694, #696
Account deletion and retentionEng, Legal๐Ÿ”ดย P0Full deletion cascade, enforced retention, BigQuery pseudonymizationThe privacy policy will promise exactly this, and it is already trueโœ… Built#151, #749
Attribution, no-POS pathAnalytics, Business๐Ÿ”ดย P0Lit lantern redeems in-app with an animated confirmation shown at the counterPilot venues can test this with no merchant systems integrationโ“ Needs operator input#965, #704
Merchant-side dashboardsAnalytics, Design๐ŸŸ ย P1What a partner merchant sees about their own offers and foot trafficThe partnership promises them data๐Ÿšง In progress#320
Venue and activity dashboardsAnalytics, Design๐ŸŸ ย P1Period activity, wave accept rates, offer deliveryHow we watch the experiment while it runs๐Ÿšง In progress#320
Polish and refinementDesign, Eng๐Ÿ”ดย P0A deliberate pass over the app, merchant surfaces and admin portalReal users meet strangers through this; unfinished edges read as untrustworthy๐Ÿšง In progress#293
Splash page refinementDesign, Growth๐ŸŸ ย P1Copy, layout and visual polish across the public siteInvited people land here before they can open the appโฌœ Not started#848, #593
Embers, minimal setEng, Design๐ŸŸ ย P1Three badges tied to what Alpha proves: showed up, lit a lantern, met someoneBadges shape behavior, so the starting set is itself a hypothesisโฌœ Not started#579, #160
Google Places integrationEng, Business๐ŸŸ ย P1Google Places alongside OpenStreetMap, with cost establishedVenue coverage is the supply side, and OSM alone does not reliably give itโฌœ Not started#866
Performance optimizationEng๐ŸŸ ย P1Load and responsiveness under real usageFirst impressions, even at invite scaleโฌœ Not started#153
Ad Network as a first-class surfaceEng, Design๐ŸŸ ย P1Its own page and section under Platform in the admin siteIt is a product area now, and burying it makes it unmanageableโฌœ Not started
Venues search and filtersEng, Design๐ŸŸ ย P1The venues list has neitherUnusable once there is more than a handfulโฌœ Not started
Interest-based venue filteringEng๐ŸŸกย P2Filter venues by interestMakes a small venue list feel chosen rather than sparseโฌœ Not started#319
Privacy architecture in placeEng, Legal๐Ÿ”ดย P0Sealed identity stages landed before real phone numbers scalePlaintext phones in production are hard to walk back๐Ÿšง In progress#523, #875, #874
Credential and identity colocationEng, Safety๐Ÿ”ดย P0Credentials and sealed-identity material out of documents admin clients read wholesaleFirestore has no field-level read control, so a routine admin read shipped hashes to the browser๐Ÿšง In progress#875
Data classification and egressEng, Safety๐Ÿ”ดย P0One policy for what each consumer may emit and whereAnswered ad hoc four times already; search and the apps platform would each invent a fifthโฌœ Not started#874
Admin portal mobile layoutDesign, Eng๐ŸŸ ย P1The sidebar never collapses; content renders off-screen on a phoneModeration may need answering away from a deskโฌœ Not started#826
Lantern namingEng, Design๐ŸŸกย P2Unique generation with display-time disambiguation, expanded word lists, user-chosen namesA permanent numeric suffix is a small identity leak in an anonymous productโฌœ Not started#251, #578
Offer review layoutDesign๐ŸŸ ย P1The last screen before publishing reads as brokenReviewers use it every day of Alphaโœ… Built#818
Profile completion metricEng, Analytics๐ŸŸกย P2Counts plaintext fields that encryption deliberately deletes, so it is structurally near-zeroThe operator reads that number as truthโฌœ Not started#881
System Health false DOWNEng๐ŸŸกย P2Browser CORS probes report services down that are upOperational confidence during a live eventโฌœ Not started#797

Phase 3: Gates โ€‹

TaskCategoryPriorityDescriptionWhyStatusIssues
Contrast enforced for realEng, Design๐Ÿ”ดย P0axe is blind three ways (unparseable colour, exactly 1:1, layered backgrounds); the palette converges so it can seeA user's own lantern name shipped invisible behind a green 347/347 suite๐Ÿšง In progress#895, #878
Story coverage and a11y gateEng๐Ÿ”ดย P0Every component has a story; axe gates at errorCatches what a human sweep does notโœ… Built#814
Admin zone lint gateEng๐ŸŸ ย P1Ratchet on eslint errors in the admin zonesA core alpha surface accumulated 55 errors while ungatedโœ… Built#806
Shared UI primitivesEng๐ŸŸกย P2Extract the repeated CloseButton, PasswordReveal, ViewModeToggleDivergence is where inconsistency entersโฌœ Not started#822
Admin vitest alignmentEng๐ŸŸกย P2Build-versus-test transform split under vite 8Blocks the admin suite from moving forwardโฌœ Not started#804

Phase 4: Prove โ€‹

Deliberately attacked, and verified by running rather than by reading.

Evidence: break-it walkthrough.

TaskCategoryPriorityDescriptionWhyStatusIssues
Live two-account E2EEng๐Ÿ”ดย P0Actually run the loop with two accounts, including the offer round-tripBoth halves run on deployed dev 2026-08-16: two accounts wave, accept and chat; and a merchant publish held at pending review, invisible to a user at the venue, admin approved, then discovered and claimedโœ… Verified#817
Intentional break-it walkthroughEng, Design๐Ÿ”ดย P0Deliberately try to break things, then fix what givesFinds the edges a happy-path demo never touches๐Ÿšง In progress#193
Full manual code reviewEng๐Ÿ”ดย P0Read the codebase piece by piece: understand it, optimize, confirm no vulnerabilitiesAutomated checks catch classes of problems; a human reading everything catches what nobody thought to test forโฌœ Not started#523
Penetration testingEng, Safety๐Ÿ”ดย P0An outside-our-infrastructure system that emulates breaking inOur own tests share our own blind spotsโฌœ Not started#865
Android and iOS device testingEng๐Ÿ”ดย P0Install, push and offline behavior across real devicesThe PWA is the productโฌœ Not started#963
iOS PWA push verificationEng๐ŸŸ ย P1Install to home screen and verify push on a real iPhoneIf Alpha users carry iPhones, push is part of the experimentโฌœ Not started#722
Untested API functions on alpha pathsEng๐Ÿ”ดย P0109 exported functions across the six API services are imported by no test in their own service (auth 49, venues 18, lanterns 11, analytics 13, merchants 6, assistant 12). Ranked subset is DONE except the half on another lane's territory. Run npm run count:untested-apiTracked on IMPORTED-by-a-test, not mentioned: the mention floor counted a guard as covered on the strength of a prose comment. It reads 76, and the 33 in between are reached by nothing๐Ÿšง In progress#962, #942

Phase 5: Internal tools โ€‹

Not a gate on the December release; it rides alongside and finishes when it finishes.

TaskCategoryPriorityDescriptionWhyStatusIssues
Doc site taxonomyEng, Ops๐ŸŸ ย P1Four subdomains, three audiences, one internal-only and needing a real gate"Internal" with nothing enforcing it is a label, not a boundaryโฌœ Not started#883
Intranet searchEng๐ŸŸ ย P1Search across docs, worklogs, plans and issuesFinding where something was written downโฌœ Not started#800
Go linksEng๐ŸŸกย P2Speakable short URLs for internal resourcesCheap once search existsโฌœ Not started#811
Ranked next-task listEng๐ŸŸกย P2Print the board, live plans and scored issues in the terminalAnswers "what now" without a person decidingโฌœ Not started#856, #859
Team-built apps platformEng, Business๐ŸŸกย P2Let a non-engineer build on Lantern infrastructure. Needs a spec firstThe least defined thing on this page, and the privacy boundary questions live hereโฌœ Not started#827, #849

Runs throughout โ€‹

TaskCategoryDescriptionStatusIssues
Funding and grants outreachBusinessNon-dilutive grants (woman, veteran, LGBTQ+ founder) and the outreach cadence behind them. Grants only: no shareholders, no venture capital (operator, 2026-08-31)โฌœ Not started#629
Broken doc linksDocsRoughly 500 links point at moved or absent files๐Ÿšง In progress#833
Guide consolidationDocsOverlapping and duplicated guides under docs/engineering/guidesโฌœ Not started#840
Dependency currencyEngvitest 3 to 4, lucide-react 0.x to 1.x, the Cloud Functions Node pinโฌœ Not started#771, #770, #838
Agent guidanceOpsSkills, rules and coordination discipline, kept current as lessons land๐Ÿšง In progress

Bugs โ€‹

BugSurfacePriorityDescriptionStatusIssues
Lantern lifetime copyApp๐Ÿ”ดย P0The UI said 48 hours in three places while the server expired lanterns at 2โœ… Fixed#789
Invisible lantern namesApp๐Ÿ”ดย P0Six of 31 adjectives rendered unreadable on the dark app; Onyx measured 1.01:1โœ… Fixed#878
Anthropic spend missing from billingAnalytics๐ŸŸกย P2Absent from some reportsโฌœ Not started
Reporting-period layoutAnalytics๐ŸŸกย P2Spans the full page width instead of fitting its contentโฌœ Not started

Built with VitePress