Case study · 2025

Ledgerly

A GST invoicing tool for Indian freelancers and small businesses — named, designed, written and built, from the first sketch to the deployed site.

Client
Ledgerly
Year
2025
Scope
Naming, identity, product UI, marketing site, build
Team
Two designers, one design engineer
Stack
Static HTML, CSS, vanilla JS. No framework.

01 The brief

Invoicing software that stops apologising for GST.

Every competitor treats Indian tax as a module bolted onto an accounting suite designed elsewhere. HSN codes hide in a settings panel. Place of supply is a dropdown nobody explains. The result is software that makes a freelancer feel like they are doing something wrong.

The brief we wrote back was one sentence: build the product around the document it exists to produce, and let the tax rules be the design language rather than the fine print.

02 The system

The invoice was already a beautiful piece of information design. We stopped decorating and started listening to it. Marshmallow, project note

Ledger ink and cool paper

Indigo on a cool grey stock, white document surfaces, and exactly one gold — spent on the PAID stamp and nowhere else. Status colour encodes invoice state instead of decorating: green paid, rust overdue.

Data has its own voice

Anything a tax officer would check is set in mono — GSTINs, invoice numbers, ₹ amounts, the clock. Everything a human wrote is set in Figtree. You can tell what kind of thing you are reading before you read it.

Metadata instead of numbering

Sections are introduced by an invoice-style meta row carrying real information — all prices · INR, exclusive of GST — rather than decorative 01/02/03 chrome.

  • Ledger ink · 26317C
  • Cool paper · EDEFF3
  • Seal gold · C9962A
  • Paid · 0F7A57
  • Overdue · B4451F

03 The site, running Open full screen ↗

Five pages, embedded and usable.

This is not a video walkthrough. The whole Ledgerly site is served from this repository and framed below — click into it, raise an invoice, move the sliders.

ledgerly.in

A hero that does the work

The headline claims “under a minute”, so the hero is a live invoice assembling itself against a running clock — line items drop in, CGST and SGST compute, the total counts up, a gold stamp lands. It renders finished immediately under reduced motion.

A real tax engine

The invoice builder on the templates page checks place of supply against your own state: same state splits CGST and SGST, different state becomes IGST, outside India switches the document to a zero-rated export invoice with an LUT declaration.

₹, grouped properly

Indian digit grouping everywhere — ₹1,81,095, not ₹181,095 — and amounts in words in crore and lakh. The font subsets were cut locally because the stock Google Fonts latin subset omits the rupee sign.

04 How it went

  1. Read the document

    A fortnight with real invoices from twelve freelancers, marking every field that caused a question. The round-off row and place of supply accounted for most of them.

  2. Design the vocabulary

    Palette, type and the meta-row device were fixed before a single page was laid out, so every later screen had somewhere to come from.

  3. Build it as we drew it

    The same three people designed and shipped. The invoice builder was written first as a tax engine and only then given a UI, which is why the mixed-rate case works.

  4. Leave the empty slots empty

    The social-proof section ships as visible placeholders. No logos, quotes or counts were invented to fill a grid — the client will have real ones soon enough.

Next project