DuitTools
A suite of business tools at duittools.com: invoice generation with PDF export, payroll management with Malaysian statutory calculations (EPF, SOCSO, PCB), and document processing using LLMs and OCR.
- Role
- Solo Developer
- Dates
- 2025

Context
Malaysian SMEs rely on spreadsheets for invoicing and payroll, which leads to calculation errors and repetitive manual data entry.
My contribution
Designed and implemented the product across the Next.js interface, Supabase data layer, and FastAPI document-processing service.
What I built
Built a platform combining an invoice generator with PDF export, a payroll calculator with Malaysian statutory compliance, and a document processing pipeline using OCR and LLMs to extract structured data from invoices.
Implementation
Next.js frontend with Supabase for authentication and database. FastAPI backend for document processing — PyTesseract for OCR feeding into LLM structured outputs. Payroll engine applies Malaysian statutory rates server-side. PDF generation via client-side libraries.
Implementation decisions
- Separated the Next.js and Supabase application layer from FastAPI document processing.
- Made statutory rates configurable to accommodate tax-bracket changes.
- Preprocessed low-quality scans before OCR.
Key features
- Invoice generator with templates, client profiles, and PDF export
- Payroll system with EPF, SOCSO, EIS, and PCB tax calculations
- Document upload and processing with structured data extraction
- Human review interface for verifying extracted data
Tech stack
- Next.js
- TypeScript
- Python
- FastAPI
- PostgreSQL
- Supabase
- TailwindCSS
Challenges
- Tax bracket changes required a configurable rates engine
- API rate limits required queue-based batching for document processing
- Handling poor-quality document scans required image preprocessing
What I learned
- Compliance rules change yearly — build for configurability
- LLM outputs need validation — a review step builds user trust
- Multi-tenant data isolation is easier to design upfront than retrofit
Future improvements
- E-invoicing compliance with LHDN MyInvois
- Bank integration for salary disbursement
- Mobile-friendly employee access