Skip to content
online
env0.46.1 · 1d135e2
In active developmentUpdated Nov 14, 2026

Plenline

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

Plenline month view for October 2026: free balance after planned spending, totals for income, paid, still to pay and credit debt, an expense form and salary tranches in USD converted to UAHPlenline month view for October 2026: free balance after planned spending, totals for income, paid, still to pay and credit debt, an expense form and salary tranches in USD converted to UAH

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.

Screenshots