Case study
Case study: Helix Hustle

A phone PWA for financials and career. On my phone. Daily driver, not a pitch deck. Data stays on-device in an encrypted vault unless I export a backup.
What I did
Built a small progressive web app I actually open for money and career.
Screens
- Today — hours vs bills; gross and after-tax hours (“pizza math”)
- Hustle — job applications pipeline
- Profile / Money — job and wage, editable; log shifts
- Budget — bills, expenses, debts; due dates
- Settings — backup, lock, install / PWA
- Guide / Docs — how it works (in-app)
What changed
Financials and career live in one place on my phone. Income, bills, expenses — kept simple.
What I refused to overbuild
Money math never hits a model. No bank pipe. No “AI CFO.” The vault stays on the device unless I export a backup. If anything is hosted, the server is a shell — it does not store the vault. I wanted income, bills, and career in one place on my phone, not another company reading my numbers.
Stack
Next.js, React 19, TypeScript, Tailwind v4, Vitest, PWA (service worker), IndexedDB encrypted vault. Optional SpaceXAI career tailor via local env key only — not required for money.
Snippet
// vault stays on device — host never stores it
const vault = await openEncryptedVault() // IndexedDBProof
- Repo: private. Do not open without a separate lock.
- Screenshots: not in this post unless I say yes later.
- Diagram below — data flow only.
- No public app URL.
// visual.proof · diagram only
Data flow
No app screenshots here. This is the shape of the system — vault on device.
More Posts
Case study: Shipping rbthompson.dev
Next.js 15 + Payload so I can ship copy without a deploy for every edit. Year and project counts stay off this page — not because they’re false, because they’re not verifiable here.
Case study: Helix Library
A localhost OPAC I actually run — files, catalog, Ask, Acquire. What I refused: social, forced cloud, marketplace.
Chasing AI Ops on Solana: My AgenC Adventure
Field note from an on-chain agent experiment — keep it a ridge note, not a hire claim.


