Data Fever Technology needed real accounting software instead of spreadsheets — a
system that enforces the double-entry rule itself (debits always equal credits),
separates who can post entries from who can only view them, and keeps every change
auditable. Off-the-shelf tools didn't fit a company running its own fiscal-year
structure (July–June) in BDT.
- 01Double-entry voucher system — Debit, Credit, Journal, Bank, Contra Role-based access control — Admin, Accountant, Viewer Live financial reports — Trial Balance, P&L, Balance Sheet, Ledger, Cash Book, Bank Book Multi-fiscal-year tracking with year-close locking Full change-log audit trail CSV export and print-ready voucher/report sheets Decimal-safe money handling throughout — no floating-point rounding
Coordinating with a second backend developer on the same codebase — resolved a
non-fast-forward merge conflict and caught a case-sensitive import that worked on
their machine but broke on Linux/Docker.
Deploying a two-service split (Vercel + Render) surfaced a subtlety in Vite: env
vars are baked in at build time, so a saved config change silently does nothing
until a fresh build actually runs — cost real debugging time to pin down.
Caught an infinite-refetch bug before it shipped — a `new Date()` inside a
dashboard query key was generating a new cache key on every render.
React 19 + TypeScript frontend (Vite, TanStack Query/Table, Tailwind v4) talking to
an Express 5 + Prisma 7 API over JWT-authenticated REST. Prisma's newer client
generator emits pure TypeScript, so the backend ships with zero native binaries.
Postgres on Neon. Deployed as two independent services — static frontend on Vercel,
Node web service on Render — with a Docker/nginx setup built and tested as an
alternative deployment path.