LedgerBloom
Invoice management and payment tracking SaaS

What it is
A mobile-first SaaS platform for creating, sending, tracking, and following up on invoices. Includes five built-in templates, a custom template studio, multi-currency support with live exchange rates, automated email reminders, and PDF generation with Cloudinary storage.
The Problem
Small businesses and freelancers in Uganda struggle to track outstanding invoices and follow up with clients systematically. Manual tracking in spreadsheets leads to missed payments and cash flow problems. Existing tools are either too expensive or not adapted to the Ugandan market.
My Role
Built the full-stack application including OAuth authentication (Google and GitHub), invoice management system with five templates, Custom Template Studio, automated reminder workflows via cron-triggered email, multi-currency dashboard, and PDF generation with Cloudinary storage.
Approach
Next.js App Router with Prisma ORM on PostgreSQL. NextAuth for authentication supporting Credentials, Google, and GitHub OAuth. Email sending via Resend (free tier) or SMTP/Nodemailer with dual provider support. PDF generation with React PDF renderer, stored on Cloudinary. Multi-currency conversion with live exchange rates. Loading skeletons and mobile-first responsive design throughout.
Hardest Decision
Building the Custom Template Studio — allowing users to design and save reusable invoice style presets while keeping the five built-in templates maintainable. The template engine needed to support both system templates and user-created ones without duplicating rendering logic.
Status
Live at ledgerbloom.ochiengpaul.com. Multi-currency invoice management with automated email reminders, PDF generation, and template customization.
What I'd Change
Would add mobile money integration (MTN MoMo, Airtel Money) for the Ugandan market, implement batch invoicing for recurring clients, and add a client portal for payment tracking.