Back to selected work
ML SaaS · Financial operations In progress

DueSignal

An accounts-receivable intelligence platform that predicts late payments, estimates payment timing, forecasts cash receipts, and prioritizes collection work.

DueSignal application preview
Prediction tasks
Classification + regression
Validation
Chronological holdout
Architecture
Multi-service SaaS

System design

DueSignal architecture

React frontend Dashboards, imports, configuration and collection workflows
FastAPI application Authentication, validation, business rules and prediction APIs
PostgreSQL Tenants, invoices, customers, predictions and model records
Celery workers CSV imports, model training and scheduled processing
Redis Job queue and worker coordination
ML pipeline Feature generation, validation, training and monitoring

The problem

Accounts-receivable teams may need to manage hundreds or thousands of open invoices without knowing which ones are most likely to be paid late.

Treating every invoice equally wastes collection capacity. DueSignal is designed to identify risk early and convert that risk into a clear operational queue.

My approach

DueSignal uses two related machine-learning models:

The system separates issue-time model features from live operational signals. This prevents current overdue status, future reminders, and final payment information from leaking into model training.

Data preparation

The import pipeline validates identifiers, invoice amounts, currencies, issue dates, due dates, and payment dates before records become training examples.

Customer-history features are reconstructed as of each invoice’s issue date. Only outcomes known before that date are included.

Validation

The latest portion of resolved invoices forms the evaluation period. Earlier invoices form the training period.

This chronological split reproduces the real deployment direction: train on the past and predict future invoices.

The classifier is evaluated using:

The regression model is evaluated using mean absolute error and a median-delay baseline.

Turning predictions into decisions

The final collection score combines:

Keeping this formula separate from the model makes business policy adjustable and allows users to understand why an invoice appears near the top of the queue.

Architecture

The application separates the frontend, API, application services, background workers, persistence layer, and machine-learning pipeline.

This makes imports and model training asynchronous while keeping the API responsive.

Current status

The main application modules are implemented. The next steps are to complete production evaluation, publish final model metrics, expand monitoring, and collect feedback from potential users.