Estimate — bahalaka + Nous Integration
13 boards · 214 story points · 52 work items · Boards 5–17
Boards Overview
| Board | Phase | Items | Pts |
| 5 | WASM Core | 3 | 15 |
| 6 | WASM Storage + Auth | 3 | 13 |
| 7 | Server Infra | 4 | 18 |
| 8 | Registration + Pairing | 3 | 13 |
| 9 | Chat Core | 4 | 18 |
| 10 | Chat Features | 4 | 16 |
| 11 | Status + Schedule | 5 | 21 |
| 12 | Finance Core | 4 | 18 |
| 13 | Sponsorships | 4 | 16 |
| 14 | Agreements | 4 | 18 |
| 15 | Concern Detection | 4 | 18 |
| 16 | Stories + Onboarding | 3 | 13 |
| 17 | Ship | 5 | 17 |
| Total | 50 | 214 |
Board Details
Board 5 — WASM Core 15 pts
Prove C runs in the browser. The foundation everything else stands on.
{Emscripten build chain + Makefile, add to, bahalaka project}
5~a
{wire.c + crypt.c WASM compilation, add to, Emscripten build}
5~a
{bahalaka.js bridge, add to, project root}
5~a
Board 6 — WASM Storage + Auth 13 pts
Local persistence and auth gate. Offline-first from day one.
{journal.c + store.c WASM with IDBFS, add to, Emscripten build}
5~a
{TOTP auth page + session flow, add to, bahalaka app}
5~a
{WASM foundation verification, plan tests for, bahalaka app}
3~t
Board 7 — Server Infra 18 pts
Server-side changes: WebSocket on relay, /bahalaka on prime, per-user stores.
{WebSocket upgrade, add to, relay_server.c}
5~a
{WebSocket port, add to, relay firewall}
3~a
{/bahalaka endpoint, add to, catalog_server.c}
5~a
{per-user encrypted stores, add to, prime}
5~a
Board 8 — Registration + Pairing 13 pts
User onboarding: keypair → relay auth → prime creates store → connection pairing.
{user registration flow, add to, bahalaka app}
5~a
{connection pairing via signed invite, add to, bahalaka app}
5~a
{server integration verification, plan tests for, bahalaka app}
3~t
Board 9 — Chat Core 18 pts
Forward-only messaging: type → WASM encrypt → relay → prime store → push back.
{chat UI page, add to, bahalaka app}
5~a
{message send via WASM + WebSocket, add to, chat}
5~a
{message receive + decrypt + render, add to, chat}
5~a
{forward-only journal enforcement, add to, chat}
3~a
Board 10 — Chat Features 16 pts
Rich messaging: receipts, offline queue, media atoms.
{read receipts + typing indicators, add to, chat}
3~a
{offline message queue, add to, chat}
5~a
{photo + voice binary atoms, add to, chat}
5~a
{chat verification, plan tests for, bahalaka app}
3~t
Board 11 — Status + Schedule 21 pts
Asymmetric visibility. GPS-verified presence. Calendar + time requests.
{status atoms + GPS verification, add to, bahalaka app}
5~a
{Capacitor GPS plugin, add to, native shell}
3~a
{provider status dashboard, add to, bahalaka app}
5~a
{schedule UI + time request flow, add to, bahalaka app}
5~a
{connection isolation on prime, add to, catalog_server.c}
3~a
Board 12 — Finance Core 18 pts
Allowance cycles, disbursements, savings. The ledger is the truth.
{financial atom verbs, add to, /bahalaka endpoint}
5~a
{allowance engine + disbursement, add to, bahalaka app}
5~a
{savings + withdrawal tracking, add to, bahalaka app}
3~a
{financial dashboard, add to, bahalaka app}
5~a
Board 13 — Sponsorships 16 pts
University sponsorships, grade proofs, sponsor requests. Full lifecycle.
{sponsorship lifecycle, add to, bahalaka app}
5~a
{grade proof photo upload, add to, bahalaka app}
3~a
{sponsor request flow, add to, bahalaka app}
5~a
{finance verification, plan tests for, bahalaka app}
3~t
Board 14 — Agreements 18 pts
3-part templates, 48-hour cooling, dual Ed25519 signatures.
{agreement templates as triples, add to, prime}
5~a
{template selection + cooling period, add to, bahalaka app}
5~a
{dual Ed25519 signing, add to, agreements}
5~a
{mismatch detection via policy.c, add to, agreements}
3~a
Board 15 — Concern Detection 18 pts
Promises, commitments, reason.c pattern walking. The trust engine.
{promises + commitments with deadlines, add to, bahalaka app}
5~a
{concern detection via reason.c, add to, prime}
5~a
{provider concern dashboard, add to, bahalaka app}
5~a
{trust system verification, plan tests for, bahalaka app}
3~t
Board 16 — Stories + Onboarding 13 pts
Field guide content, contextual suggestions, first-run experience.
{stories engine as triples, add to, prime}
5~a
{contextual story suggestions, add to, bahalaka app}
3~a
{onboarding flow, add to, bahalaka app}
5~a
Board 17 — Ship 17 pts
Capacitor build, comment migration, invite codes, app stores, final verification.
{Capacitor iOS + Android build, add to, bahalaka project}
5~a
{Firestore → nous comment migration, update in, bahalaka.com}
3~u
{friends-only invite codes, add to, bahalaka app}
3~a
{app store submission, add to, iOS + Android}
3~a
{end-to-end ship verification, plan tests for, bahalaka app}
3~t
Dependencies
Critical Path
- Board 5 → 6: WASM core must compile before storage + auth can use it
- Board 6 → 7: Client auth must exist before server infra can validate it
- Board 7 → 8: Server endpoints must be live before registration flow can connect
- Board 8 → 9: Users must exist before they can chat
- Board 9 → 10: Chat core before chat features
- Board 11: Needs Board 8 (users exist) + Capacitor GPS
- Board 12: Needs Board 7 (/bahalaka endpoint) + Board 8 (users)
- Board 14: Needs Board 12 complete (agreement templates need store)
- Board 15: Needs Board 14 (promises feed concern detection)
- Board 17: Needs all prior boards complete
Parallel Opportunities
- Boards 11, 12 can run parallel after Board 8 — Status + Finance are independent features
- Board 13 can overlap with 14 — Sponsorships and Agreements are separate domains
- Board 16 can start alongside 15 — Stories don't depend on concern detection
Value Rationale
Priority Order
- Boards 5-6 (WASM): Zero value without this. The architecture proof. Everything depends on C running in the browser.
- Boards 7-8 (Server + Registration): Unblocks every user-facing feature. Must ship before anything else works.
- Boards 9-10 (Chat): Highest user value. The core use case. If chat works, the app has a reason to exist.
- Board 11 (Status + Schedule): The differentiator. Asymmetric visibility is what makes bahalaka unique.
- Boards 12-13 (Finance): The accountability layer. Transforms the relationship from words to ledger.
- Boards 14-15 (Agreements + Concern): The trust engine. reason.c walking the graph is the crown jewel.
- Board 16 (Stories): The education layer. Good but not urgent — can ship without it.
- Board 17 (Ship): The finish line. Capacitor build + app store + migration.
Scale
- 214 total story points across 13 boards
- Anchor: a 5 is something a college student can do in one night, complete and perfect
- 22 existing C modules — the hard crypto/storage/protocol work is done
- 3 server-side changes — WebSocket, /bahalaka endpoint, per-user stores
- The rest is composition — wiring existing C into WASM, building UI pages, connecting to running servers