~/work/kesefy

Kesefy
Six years of my Excel finance tracking, modernized into a dynamic web app, built on the exact rules I'd refined by hand.
- role
- Solo: full-stack + AI
- timeframe
- 2026 → ongoing
- status
- ● active · private repo
- stack
- Next.js · MongoDB · Tailwind · Auth.js · Vercel · Cloudflare R2
- ai
- LLM-driven statement/receipt import + in-app assistant
- live
- kesefy.app
01The problem
I'd tracked my money in the same Excel workbook for six years. It worked, until it didn't: PowerQuery broke under cloud sync, every new month meant copying sheets by hand, and a static workbook has no room for automation, budgets, or anything AI could help with. I knew the domain cold; the problem was modernizing that Excel into a dynamic web app without losing the rules that made it work.
So Kesefy (from kesef, Hebrew for money) isn't a generic budgeting app. It encodes the rules I'd already proven on myself, the ones a spreadsheet couldn't enforce.

02Decisions that shaped it
- Transactions are the single source of truth. Balances are always derived, never stored, so the numbers can never silently drift.
- Money is integer agorot, never floats. No rounding ghosts in a finance app.
- The financial month runs 10th → 10th (configurable), matching how my real budgeting cycle actually works, not the calendar's.
- Bilingual by default. Hebrew and English data throughout, with direction handled automatically.
03Where the AI earns its place
The AI isn't a bolt-on chatbot; it removes the two chores that made the spreadsheet painful:
- Import. Drop in a statement or a receipt photo and an LLM parses it into clean, categorized transactions, and the data-entry tax is gone.
- Assistant. An in-app assistant answers questions over your own ledger: where the money went, what changed this month, what's trending.

04Beyond the basics
Because it's mine and it's real, it grew the features a spreadsheet never could:
- Subscription watchdog. Recurring charges detected and tracked so nothing renews unnoticed.
- Multi-currency trips. Travel spend captured in local currency with conversion.
- Monthly recap. An automatic narrative of the month's money.
- Receipts vault. Attachments stored on Cloudflare R2, with a daily off-database backup.
- PWA. Installable, offline-capable, and deployed on Vercel with scheduled cron jobs.
05Architecture
One Next.js codebase serves the PWA and ~35 API routes on Vercel, with MongoDB Atlas as the single source of truth. A service layer of "engines" turns standing rules into transactions on a daily cron, and Gemini powers the AI features. Clients reach it three ways, each with its own auth path:
06Where it stands
Kesefy is live and running my actual finances: deployed, hardened with automated backups, and past a full end-to-end audit. It's the clearest example of how I like to build: start from a real problem I understand deeply, then let AI remove the parts that were always chores.