§ 03Community finance · Web

Collective Ledger

A shared ledger for community savings: monthly installments, late fees, investments and admin votes, open to every member.

Type
Independent product
Year
2026
Platform
Web, responsive
Stack
Next.js · Express · MongoDB
My role
Design and full-stack development
Collective Ledger landing page: “A ledger every member can read.”
Fig. 1 — Landing page
Collective Ledger member dashboard with total paid, pending, penalties and the monthly installment
Fig. 2
Collective Ledger admin console with collected, pending and available-to-invest figures
Fig. 3
Collective Ledger admin election screen with live vote counts
Fig. 4
Collective Ledger investments screen listing each position with its risk level
Fig. 5
Collective Ledger transactions screen listing recorded payments
Fig. 6
Collective Ledger member dashboard in the light theme
Fig. 7

01 — Context

Collective Ledger runs the money of small savings communities. Members pay a monthly installment, the server works out any late fee, and the admin records what is invested, so every figure is something any member can check.

Beyond payments it covers governance: join requests the admin approves or declines, an admin the members elect once the community grows past five, and an audit log of admin actions. The screens shown here use sample data.

02 — Problem

Community savings usually live in a spreadsheet and a group chat. Totals drift, late fees are argued about, and nobody can see what the admin did with the money.

03 — Role

This is my own product. I designed and built it end to end:

  1. Designed the interface and the brand, including the logo, a dark and light theme, and a layout that works at phone width.
  2. Built the Next.js (App Router) frontend with Zustand stores and a typed API client.
  3. Built the Express and MongoDB API: members, communities, installments, payments, investments, votes and audit logs.
  4. Implemented JWT sign-in with email one-time-code verification, and role checks on every admin action.
  5. Wrote the money rules on the server: whole-paise arithmetic and the per-day late fee.
  6. Set up search metadata, structured data, a sitemap and deployment on Vercel.

04 — System

How money moves through the product

The workflow as built: from setting up a community to a record any member can read.

Setup

  1. Register community
  2. Set first-month amount and growth range
  3. Invite or approve members

Money

  1. Monthly installment
  2. Late fee after the 10th
  3. Admin confirms payment
  4. Ledger and totals

Trust

  1. Role checks
  2. Admin vote above five members
  3. Audit log
  4. CSV export

05 — Engineering

Money in whole paise

Every amount is stored and calculated as an integer number of paise, never as a floating-point rupee value, so totals cannot drift by a fraction and the member and the admin always see the same figure.

Late fees as a server rule

Installments are due by the 10th, and after that the server adds ₹20 for every day late. The rule lives in one place, so it applies to every member the same way.

Approval and election flows

Join requests wait up to three minutes for the admin, then the member confirms their email with a one-time code. Once a community has more than five members, the admin role goes to whoever wins the vote.

Everything scoped to a community

Each request carries the community it belongs to, and the API scopes reads and writes to it. An audit log records admin actions, and payments, investments and the log export as CSV.

06 — Experience

The design is deliberately quiet: a serif display face, one accent colour and tabular figures, so numbers line up and the page reads like a ledger. Dues and contributions stay readable on a phone as well as a desktop.

07 — Challenges

Keeping the member's number and the admin's number identical

Both screens read the same server-calculated amounts, including late fees, so there is no second formula to disagree with.

Transparency without overwhelming people

Non-technical members need to verify the numbers without learning accounting. The workflow stays linear: set up, pay, confirm, review.

08 — Outcome

A deployed, working product with dashboards, an admin console, voting, investments, audit logs and CSV export.

It has no published user numbers, and none are claimed here.

09 — Stack

Frontend
Next.js (App Router) · React · TypeScript · Tailwind CSS · Zustand · Framer Motion · Recharts
Backend
Node.js · Express · MongoDB · Mongoose
Auth
JWT · Email one-time code
Delivery
Vercel

10 — Reflection

Money has to be designed in from the first model. Choosing integer paise on day one removed a whole class of bugs.

Governance features earn trust when they are easy to verify, not when they are elaborate.

Next project

SELA