Back to Work
INVOICEBIRDS LTDUK · RemoteFeb 2025 – Sep 2025 · ContractLive · invoicebirds.com

InvoiceBirds

Born from a real need — small businesses wanted a simple, intuitive way to manage their invoices without the bloat. InvoiceBirds delivers essential features enhanced with smart automation, making invoicing effortless for entrepreneurs and freelancers.

Next.jsTailwind CSSNestJSNext.js API RoutesSupabaseStripe
InvoiceBirds Hero

Overview

The Challenge

Small business owners were frustrated. The invoicing tools on the market were either overly complicated enterprise solutions with steep learning curves, or bare-bones apps that lacked the features they actually needed. They wanted something in between — simple enough to use right away, but powerful enough to grow with their business.

InvoiceBirds was born from this exact need. The goal was clear: build an invoicing platform that feels effortless from day one, while packing in enhanced features like automated payment reminders, multi-currency support, and real-time analytics — all without overwhelming the user.

The result is a tool that small businesses actually enjoy using. No training required, no hidden complexity — just straightforward invoicing that saves time and gets you paid faster.

Timeline

3 months

Role

Full-Stack Developer & Designer

Tech Stack

  • • Next.js + API Routes
  • • NestJS Backend
  • • Tailwind CSS
  • • Supabase (Database)
  • • Stripe (Payments)

Deliverables

  • • SaaS Web Application
  • • RESTful API
  • • Payment Integration
  • • Client Dashboard

Features

Simple by Design, Powerful When Needed

Every feature was carefully chosen based on what small businesses actually use daily. No feature bloat — just the essentials, enhanced with smart automation.

One-Click Invoicing

Create professional invoices in under 30 seconds. Pre-filled templates, automatic tax calculations, and instant PDF generation.

Get Paid Faster

Integrated Stripe payments let clients pay directly from the invoice. Automated reminders ensure you never chase payments again.

Real-Time Dashboard

See your business health at a glance — outstanding invoices, monthly revenue, and payment trends all in one place.

Client Management

Keep all your client information organized. View payment history, send bulk invoices, and maintain professional relationships.

Multi-Currency

Work with international clients effortlessly. Automatic exchange rates and localized invoice formatting.

Expense Tracking

Log business expenses alongside your income. Generate profit reports and stay tax-ready year-round.

Design

Designed for Clarity

The interface prioritizes clarity over complexity. Every screen was designed with one question in mind: "Can a first-time user complete this task without help?"

InvoiceBirds Hero
InvoiceBirds Invoice Creation
InvoiceBirds Expenses Dashboard

Process

Building the Right Thing, the Right Way

01

Discovery

Interviewed 20+ small business owners to understand their daily invoicing frustrations and must-have features.

02

Architecture

Designed a scalable architecture with Next.js frontend, NestJS API, and Supabase for real-time data sync.

03

Build & Iterate

Shipped MVP in 6 weeks. Continuous user feedback shaped each iteration, focusing on speed and simplicity.

04

Launch & Scale

Soft launch to beta users, refined based on real usage patterns, then public release with Stripe integration.

Showcase

The Product in Action

From dashboard to invoice creation — every interaction was optimized for speed and clarity.

InvoiceBirds Full Dashboard
InvoiceBirds Mobile View 1
InvoiceBirds Mobile View 2
InvoiceBirds Mobile View 3

Results

Measurable Impact

The numbers speak for themselves — InvoiceBirds is helping small businesses get paid faster and spend less time on admin work.

500+

Active Businesses

10K+

Invoices Sent

45%

Faster Payments

$2M+

Processed via Stripe

Engineering Challenges

The hard parts I solved

Multi-currency billing without rounding drift

Solution · Standardised on integer-cents internally, FX conversion at write-time only, snapshotted to invoice metadata so the historical record never re-quotes. UI formatting via Intl.NumberFormat per locale.

Outcome · Invoices reproduce identical totals 6 months later regardless of FX moves — zero rounding-drift complaints.

Stripe checkout + payment-status reconciliation

Solution · Idempotency keys on every webhook, payment events appended to a per-invoice ledger (not overwritten), with manual mark-paid for off-Stripe payments. Background reconciler reconciles Stripe + manual + invoice state every N minutes.

Outcome · Single source of truth on invoice status — no conflicting paid/unpaid displays across screens.

Reusable form patterns across 6+ document types

Solution · Extracted a primitives layer (line-item table, client picker, tax/discount calculator, signature block) that each document type composes. Validation via Zod schema per document type.

Outcome · New document types ship in days instead of weeks; consistency means users learn once, apply everywhere.

Building a SaaS billing layer?

I take on senior contract work across modern fullstack stacks with payment, multi-currency, and integration depth.