Plenline
A family budget web app that keeps the logic of a hand-made Excel workbook: months, accounts, card debts and payments by date.


Challenge
A family budget kept in a spreadsheet for years: it works, but it is hard to share, easy to break and inconvenient on a phone.
Solution
- Budget logic of the original spreadsheet: .xlsx import, debts and instalments, credit and debit cards, cash as an account, bank details, card balances and history, transfers and cash withdrawals, several credit-card payments with paid and closed states, overpayment carried into the next month, “debt now” and “balance now” with charts, currency rates to four decimals.
- Cash flow and analytics: a cash-flow form, yearly analytics, export of a month or a year to Excel and CSV.
- Accounts: Google sign-in, a separate space per user, a shared family space with view or edit rights, invitations by email, a “My data” page to export everything or delete the account, terms and privacy pages.
- Telegram bot: linked to the account, adds a transaction in a short dialogue, quick entry, /balance and /today, daily payment reminders.
- Comfort: drag-and-drop rows, a collapsible sidebar, an in-app help page, a 21-step guided tour, a “What’s new” page.
- Reliability of the interface: out-of-order responses never bring back a stale state, deletions wait for pending writes.
- Security and privacy: security headers and CSP, rate limits on sign-in, logs without request parameters, error reports without personal data or amounts.
- Operations: no open ports — the server is reached through a Cloudflare tunnel; external uptime checks every 2 minutes with Telegram alerts; an encrypted backup copy in R2 with a daily restore check.
- Testing: about 500 backend tests, 35 Playwright end-to-end specs with a nightly run repeated three times to catch flaky tests.
Result
Version 1.0.0 runs in production at plenline.com, and the author’s family uses it.