Skip to content
Omar Abdalla
All work

Case study · 2026

SMB Cash Flow Risk Engine

A spec-driven, full-stack exercise: score unpaid invoices for late-payment risk, then turn that score into something a small business can actually act on.

109
commits
6
build phases
REST
versioned API

The exercise.

This is an agentic, spec-driven engineering exercise, not a production product. It's a full-stack demo built deliberately across 109 commits and 6 phases to practice shipping a complete system.

Scoring risk.

The engine scores unpaid invoices for late-payment likelihood, then surfaces collections recommendations backed by ML evidence and concrete next steps. It also projects cash-balance scenarios so a business can see the forecast, not just the score.

The stack.

A versioned REST API keeps the contract stable as the model evolves.

  • FastAPI + SQLAlchemy + PostgreSQL backend.
  • Next.js + React + TypeScript frontend.
  • Dockerized, with GitHub Actions CI/CD.
  • Deployed across Vercel (frontend) and Render (API + database).

Stack.

FastAPINext.jsReactTypeScriptPostgreSQLDocker

Let's talk.

Happy to walk through the architecture and the decisions behind it.