Skip to content
Selected work

Full-stack engineer · 2025 - Present

Own product · live demo

Invoicery

A client and invoice management product for freelancers and small service businesses: set up a branded company, manage clients, build invoices, and share them through clean public links.

View product previewopens in a new tab
Invoicery dashboard cover

01 Scope

The product context behind the work.

Problem

Freelancers and small service businesses track clients, invoices, and payment status across spreadsheets and disconnected tools, so billing is slow, inconsistent, and easy to lose track of.

My role

  • Owned the core invoicing flow: company setup with branding, timezone, and currency; clients; invoices with line items and notes
  • Implemented public tokenized invoice links and a clean public invoice page for recipients
  • Added invoice email delivery with Resend
  • Set up auth with Clerk, a Postgres/Prisma data model, and file storage with Vercel Blob

02 Approach

How the work was shaped.

Invoicery is built around the everyday billing loop of a small service business: set up your company once, keep your clients in one place, and turn work into invoices that are easy to send and track. The product is shaped so each step flows into the next rather than living in a separate tool.

Onboarding captures the company identity, including branding, timezone, and currency, so every invoice comes out consistent and professional. From there the user manages clients and builds invoices with line items and notes, with the data modeled cleanly in Postgres through Prisma.

The part that makes it feel like a real billing product is delivery. Invoices are shared through public tokenized links and a clean public invoice page, and can be emailed to recipients via Resend.

Around the core sit the foundations: Clerk auth, a clean Postgres/Prisma data model, and file storage on Vercel Blob, with broader abuse controls and monitoring still in progress.

Gallery

Screens from the product flow.

Invoicery invoice builder
The invoice builder: line items, notes, and totals before sending.Open largerimage opens in a new tab
Invoicery invoices table
The invoices table with status tracking across clients.Open largerimage opens in a new tab
Invoicery public invoice page
A clean public invoice page opened from a tokenized share link.Open largerimage opens in a new tab
Invoicery clients table
Client management with company and contact context.Open largerimage opens in a new tab

03 Outcome

What the work made clearer.

Qualitative outcomes

Workflow

Company setup, clients, invoicing, and sharing in one connected product

Delivery

Invoices go out as public tokenized links and emails, not manual attachments

Product scope

Shipped auth, data model, branding, invoice builder, public pages, and email delivery

Stack

Next.jsTypeScriptTailwind CSSshadcn/uiClerkNeon / PostgresPrismaResendVercel Blob

Reflections

  • The product value is the connected loop: company setup, clients, invoicing, and sharing, not any single screen.
  • Public tokenized invoice links and tracked email delivery are what make it feel like a real billing product, not a form.

Next step

Have a similar project?

If this looks close to the product work you need, use the contact path and I will help scope the next step clearly.

Book a call