Mudiaga Omene
All projects
ShippedSolo Builder · 2026

Proofa

Mobile-first receipt and invoice generator designed for Nigerian SMEs to instantly share professional documents on WhatsApp.

Next.jsTypeScriptSupabasePWA
Proofa screenshot

Nigerian SMEs need professional receipts they can share instantly on WhatsApp — not complex accounting software.

Case Study

01

The Problem

Many small business owners in Nigeria, from Instagram vendors to independent contractors, rely on WhatsApp for customer communication. However, when it comes to issuing receipts or invoices, they either use paper receipt booklets and send blurry photos, or they struggle with clunky accounting software built for large enterprises. There was a glaring gap for a fast, mobile-friendly way to generate professional transaction documents on the go.
02

The Insight

The insight was simple: the end-goal for most of these businesses isn't maintaining a complex ledger, but rather generating a trustworthy image they can drop into a WhatsApp chat. The product didn't need to be an accounting suite; it needed to be a document generator optimized for mobile screens and immediate sharing.
03

The Approach

I approached Proofa with a mobile-first mindset. Since internet connectivity can be intermittent, the core generation flow had to be resilient. I decided to build it as a Progressive Web App (PWA) with local storage support so users could maintain a history of their documents without relying heavily on a continuous server connection. The UI had to be dead simple, mimicking the familiar layout of physical receipts while adding digital conveniences like logo uploads and automatic calculations.
04

The Build

I built Proofa using Next.js 16 and React 19, taking advantage of the latest features for performance. It supports multiple document types: Payment Receipts, Simple Invoices, and Order Summaries. Users can choose from three aesthetic templates (Minimalist, Bold, Classic) and toggle localized features like the Naira (₦) symbol and standard 7.5% VAT. The core functionality culminates in a highly optimized PNG export mechanism that creates crisp images perfectly sized for WhatsApp sharing.
05

Technical Decisions

I chose Next.js and TypeScript for a robust frontend experience. Tailwind CSS 4 allowed for rapid UI iteration. For the backend and authentication, I used Supabase because it provided exactly what I needed without the overhead of maintaining custom infrastructure. The decision to rely on `localStorage` for document history was deliberate, ensuring fast access and offline capabilities for returning users. The image generation utilizes client-side rendering to convert DOM elements to canvas, ensuring the server doesn't get bottlenecked rendering images.
06

Challenges

One of the main challenges was ensuring the generated PNGs looked identical across different mobile browsers (Safari on iOS vs. Chrome on Android). Font rendering and exact pixel alignments would sometimes shift during the DOM-to-canvas conversion. It took quite a bit of tweaking with CSS and the rendering library to get a consistent, sharp output regardless of the user's device. Handling custom logo uploads also required careful image resizing and compression to prevent the final receipt images from becoming bloated.
07

Outcome

Proofa is currently live and is my first product to gain traction with real users. Independent vendors and small service providers are actively using it to legitimize their transactions. Seeing people abandon their paper receipt books for a tool I built has been incredibly rewarding. It validates the hypothesis that simplicity and focused utility win over feature bloat for this demographic.
08

Reflection

If I were to build it again, I would incorporate a slightly more robust offline-first synchronization strategy early on, perhaps using IndexedDB instead of `localStorage`, to handle larger document histories and complex queries. Going forward, I plan to add more localized payment links directly onto the digital invoices, bridging the gap between invoicing and getting paid.

Screenshots

Proofa screenshot 1
Proofa screenshot 2
Proofa screenshot 3