I built a voice-first expense tracker where the ledger stays on your device, not in my database

reddit SideProject · 原文链接 ↗ · 53 分

Hey r/SideProject — for Showoff Saturday, here's a side project I've been building solo: JustSayIt, a voice-first expense tracker. The idea: you say a sentence like "coffee with Alex, 35 bucks" (or type it), and an LLM parses it into a structured transaction — amount, category, note. No forms. The part I actually want feedback on is the data architecture, not the voice gimmick. The ledger's primary copy lives in IndexedDB on the user's device — my server never keeps a persistent copy of anyone's full ledger. Cross-device sync is opt-in and goes straight to the user's own Google
五维评分
付费意愿38.0需求真实度45.0
个人可落地88.0竞争空间48.0
新鲜度62.0是否过审
AI 分析

痛点:注重隐私的用户不愿把自己完整的财务账本存进第三方云数据库,但又不想要复杂表单记账,希望用语音/自然语言一句话记账且数据留在本地。

目标用户:关注隐私、但不懂 IndexedDB 等技术术语的普通记账用户;对现有云记账 App 数据归属权不放心的个人用户。

证据:The target user is explicitly someone who cares about privacy but doesn't know what "IndexedDB" means, so onboarding avoids implementation jargon. / The ledger's primary copy lives in IndexedDB on the user's device — my server never keeps a persistent copy of anyone's full ledger. Cross-device sync is opt-in and goes straight to the user's own Google Drive, not a JustSayIt-hosted database.

变现:本地优先免费版 + 一次性买断(约 $20-40)解锁高级能力:语音解析额度、多设备同步到自建云盘、报表导出、多币种;后续可做自托管/团队版授权。避免订阅制,与「数据不上云」的定位冲突。

MVP:2 周内可做:PWA(Next.js + IndexedDB)本地账本 + 一段自然语言输入调用 LLM 解析成 {金额, 分类, 备注} + 语音走 Whisper STT + 全量 JSON/CSV 导入导出 + 可选把加密文件同步到用户自己的 Google Drive。不做账号体系、不做服务端账本存储。

竞品:Actual Budget、Firefly III、YNAB、Monarch Money、Cashew、Plain Text Accounting(hledger/beancount)

摘要:作者独立开发了 JustSayIt:一句语音或文字(如“coffee with Alex, 35 bucks”)由 LLM 解析成结构化交易,账本主副本存在设备 IndexedDB,服务器只瞬时处理单笔文本/语音,跨设备同步可选直连用户自己的 Google Drive。技术栈为 Next.js 16 + React 19 + Prisma/Postgres + Groq Whisper,定位「关心隐私但不懂技术术语」的用户。帖中未出现任何付费数据或他人付费意愿表述,需求验证偏弱,但隐私本地化 + 语音自然语言记账的组合存在可切入的细分空间。