- Task
- Stop running the agency in chat threads and spreadsheets: bring deals, versioned contracts with approval, invoices and acts, projects, licences for our own products and client communication in messengers into one system — and make documents be born from data rather than typed in by hand.
- Solution
- An application on Next.js 16 with Supabase (authentication and RLS) and Prisma. A contract builder with templates, versions, comments and conditional option blocks; signing a contract automatically produces the invoices and the act. Document exchange with Vchasno, National Bank rates with daily snapshots for converting EUR into hryvnia on the invoice date, bank receipts, fiscalisation through Checkbox. Client communication in Telegram and Viber with a single history. A separate circuit for our own products: licences, deployments, domains, support tickets. 35 background jobs cover the routine: reminders about invoices and meetings, digests, lead scoring, health monitoring of integrations and backups, synchronisation with Vchasno.
- Result
- As of 02.08.2026 the system runs in production (first server response 188 ms — the fastest response among all the projects we have measured). 121 dashboard pages across 38 sections, 489 server routes, 20 tables in the data schema, 11 enumerations and 27 classifier types, 35 scheduled background jobs. 958 commits over 10 months of continuous work. Data exchange is set up with roughly two dozen external systems.