All case studies
Invoicing App · Live

Wageasy

Invoicing for freelancers and small businesses — create a tax-compliant invoice in minutes, generate the PDF offline, and track it through to paid.

iOSAndroid
Wageasy — invoicing for freelancers and small businesses
Role
Design, mobile, backend, web
Platforms
iOS · Android
Type
Cross-platform app + API
Status
Live · 2026
Overview

Wageasy is a mobile-first invoicing and business app for freelancers, consultants, and small teams. It turns the slow, error-prone ritual of invoicing into a couple of minutes: pick a client, add line items, and the app produces a polished, tax-correct PDF — even with no connection.

Behind the simple flow is a fair amount of machinery: a tax engine that handles GST, VAT, and sales tax across regions; a server-side PDF renderer; and a dual iOS/Android push pipeline that keeps the user informed as an invoice moves from sent to viewed to paid.

The problem

What we set out to solve

Freelancers lose real time to manual invoicing — formatting documents, recalculating tax, chasing payments — work that has nothing to do with the work they're actually paid for.

Tax rules differ by region (GST, VAT, sales tax), and getting them wrong on an invoice is both unprofessional and a compliance risk.

Many invoicing tools assume you're at a desk with a connection. People who invoice on the move need to produce a valid document anywhere, then get paid faster once it's out the door.

Our approach

How we built it

We focused on the two moments that matter most to a freelancer: producing a correct invoice fast, and knowing the moment it gets paid. Everything was designed so the first works offline and the second happens automatically.

01

Tax-aware invoice model

Invoices, line items, and clients carry tax IDs, rates, and categories so GST/VAT/sales-tax totals are computed correctly per region — not bolted on at the end.

02

Offline PDF generation

The app renders a polished PDF on-device with expo-print, so an invoice can be created, previewed, and shared with no connection. The backend mirrors the same template server-side for sharing and archival.

03

Lifecycle tracking with push

Each invoice moves through draft → sent → viewed → paid, and a dual iOS/Android push pipeline notifies the user as the status changes — including when a client opens a shared invoice.

04

Templates and customisation

A library of invoice templates with colour, logo, and watermark customisation lets users keep a professional, on-brand look without design work.

Capabilities

What it does

Tax-compliant invoices

GST, VAT, and sales-tax handling across regions, with per-line tax rates and multi-currency support — correct totals, every time.

Offline PDF generation

Create, preview, and share a polished invoice PDF on-device with no connection required.

Status tracking & push

Follow each invoice from sent to viewed to paid, with native push notifications on both iOS and Android as the status changes.

Templates & branding

A library of customisable templates — colours, logo, watermark, payment QR — to keep invoices on-brand and professional.

Shareable invoices

Send a secure public link clients can open without an account; the app tracks views so you know when it's been seen.

Clients & projects

Organise work by client and project, with time tracking and budget context feeding straight into invoices.

Under the hood

Architecture

Wageasy pairs a React Native app with a Bun-powered API that handles the heavy lifting — server-side PDF rendering, S3-compatible storage, and platform-specific push — while keeping the app fast and offline-capable.

Mobile app

Expo Router app with file-based navigation, Jotai + React Query for state, and an Orval-generated API client. PDF generation and core flows work offline; Firebase Auth covers email, Google, and Apple sign-in.

React NativeExpo RouterNativeWind v4JotaiReact Queryexpo-print
Backend API

A Bun + Hono service over PostgreSQL (16-table relational model). Invoices render to PDF via Puppeteer and land in S3-compatible storage; images are validated and optimised with Sharp.

BunHonoDrizzle ORMPostgreSQLPuppeteerS3-compatible storage
Notifications & identity

Firebase Auth is the single identity source, synced to the database on each request. A push facade routes to APNs (HTTP/2, JWT) for iOS and FCM for Android behind one interface.

Firebase AuthAPNsFCMTelegram
Tech stack

Built with

Mobile app
React Native + Expo
Cross-platform native app
Expo Router
File-based navigation
NativeWind v4
Tailwind styling in RN
expo-print
Offline PDF generation
Backend
Bun + Hono
Fast type-safe API
Drizzle + Postgres
16-table relational model
Puppeteer
Server-side invoice PDFs
S3-compatible storage
PDFs & logos
Identity & messaging
Firebase Auth
Email, Google & Apple
APNs + FCM
Dual-platform push
RevenueCat
Subscriptions & paywall
Orval
Generated API client
Hard parts

Engineering challenges

Challenge

Produce a polished, tax-correct invoice PDF anywhere — including with no connection — and still keep a server copy for sharing.

Solution

The app renders the PDF on-device with expo-print for instant, offline output, while the backend mirrors the same template via Puppeteer and stores it in S3-compatible storage. One template definition, two render paths, consistent results.

Challenge

Notify users reliably across iOS and Android, each with its own delivery mechanism.

Solution

A single push facade routes by platform: APNs over HTTP/2 with cached ES256 JWTs for iOS, FCM for Android, behind one notification interface. Invoice lifecycle events (sent, viewed, paid) flow through the same path.

Challenge

Let clients view invoices without an account, without exposing private data.

Solution

Each shareable invoice gets a unique public URL and share token with optional expiry; opening it is tracked as a view, so the freelancer knows the moment a client has seen it.

Screens

A look inside

Outcome

What shipped

Shipped to iOS and Android from one React Native codebase, with a matching marketing site.
Invoices can be created and rendered to PDF fully offline.
Tax handling spans GST, VAT, and sales tax across multiple regions and currencies.
A single push pipeline keeps users informed across both platforms as invoices move toward paid.
Server-side PDF rendering and secure public sharing make invoices easy to send and track.

Want us to build something like this?

Tell us about your project. NOTchip scopes, designs, and ships on a milestone basis — you only pay for results.

Start a project
Next case study
CalcRig