RentFlow
A landlord-initiated, system-fulfilled recurring rent payment engine — a demo built to prove correctness under failure, live: idempotency, independent charge/disbursement legs, crash recovery, and reconciliation, all with injectable chaos and an append-only ledger as the source of truth.
Full requirements and design rationale live in
SPECS.mdandPRD.md. This README covers what was actually built and how to run it.
Core idea
A RentRequest is created once. Every "cycle" (a manually-advanced fake clock, not real cron) the system autonomously charges the renter's card, holds funds in a mock wallet, and disburses to the landlord — with zero human action per cycle on the happy path. Two independent state machines — charging and disbursing — are chained together, so a failure in one leg never silently re-runs the other (a disbursement bounce never re-charges the card). Every transition writes an immutable ledger row, so the system's current state is always re-derivable from history — including after a simulated mid-transaction crash.
Log in or sign up for Devpost to join the conversation.