Walletly
A multi-tenant ledger platform featuring secure real-time double-entry bookkeeping.
Project Overview
Walletly is a multi-tenant, workspace-based payment and ledger platform that connects two users through secure connections. Users can track dues, process payments, and reconcile balances with a full double-entry ledger and audit trail, simulating a real-world PSP or banking system at a small scale.
Why I Built This
Many small-business and peer-to-peer payments rely on scattered spreadsheets or notes, leading to inconsistent balances, duplicate debits, and unclear payment statuses. Walletly centralizes all transactions in a safe, auditable, and role-aware system, giving both parties clear visibility and control.
What It Solves
Workspace connections ensure all dues and payments are scoped to each pair of users.
Idempotent payment attempts prevent double charges and safely handle retries.
Double-entry ledger tracks all debits/credits, providing a fully auditable history.
Categories and payments clearly indicate UNPAID, PARTIAL, PAID, or CLOSED.
Gateway, switch, and audit logs trace every step of a transaction.
System Architecture
Isolates transactions, categories, and ledgers per user pair.
Payments flow through PaymentAttempts with retry-safe state machines.
DEBIT/CREDIT entries enforce balance integrity and support reconciliation.
Prisma models and domain services handle business logic, ledger posting, and payment processing.
Next.js pages with dedicated dashboards for Requester and Payer, with reusable UI components.
NextAuth credentials provider with role-specific flows, session-backed APIs, and multi-tenant access enforcement.
PostgreSQL database, Dockerized deployment, and Vercel hosting.
Key Learnings
Walletly taught how real-world payment engines are layered (gateway → switch → ledger) and how to design idempotent, retry-safe workflows. I gained hands-on experience with double-entry accounting, multi-tenant isolation, auditability, and structured logging for debugging complex financial flows. Building the full stack reinforced end-to-end ownership, from authentication and UI to database transactions and deployment pipelines.