What to code, in what order, and where the USD 20,000 goes. The short version: build the thin layer that makes Maximus yours, and rent everything regulated from partners.
The pilot product in one picture: what exists in the GitHub repo today, what to build next, and what partners provide.
Installable web app. The React prototype exists; it needs to show server balances instead of its own.
app/ClaudeMinimal version for the pilot: cards, limits and activity for the business owner.
app/ClaudeFull simulation at maximus-demo.pages.dev. Doubles as the design reference.
demo/DoneOnly a sandbox stand-in exists. Needs phone sign-in, sessions and owner or team roles.
routes/authRoutes.tsCodexDouble-entry and exactly-once, but held in memory. Move it to the database.
services/ledgerService.tsCodexTop-up requests and signed provider events, in the sandbox.
routes/paymentRoutes.tsCodexDeposits with source-wallet screening that fails closed. Waiting to be merged.
routes/usdcRoutes.tsClaudeIssue, freeze, limits; payment events debit the ledger. Only the contract exists.
services/providerContracts.tsClaudeMoney out to the customer's wallet. The route is a placeholder today.
/payroll/disburseCodexThin wrapper around the partner's identity checks. Returns "not configured" today.
routes/onboardingRoutes.tsCodexDaily match of our ledger against the partner's records; screen for exceptions.
newCodexbackend/migrations/Visa card, payment processing, secure card-number display. Onafriq first, Paymentology as fallback.
Top-ups and withdrawals on MTN, Telecel and AirtelTigo. Often part of the card partner's offer.
Holds the stablecoins and deposit addresses. Rain, Kulipa or Bridge to be asked.
Ideally included by the card partner. Buying separately is the biggest cost risk.
Do these in order. Steps 2 to 5 need no partner yet, so coding never waits for contracts.
Merge the USDC branch. Add automatic checks so every pull request runs the type checks and tests.
Done when main has both funding routes and checks run on every pull request.
Store funding requests, provider events and ledger entries in Postgres instead of memory, using the existing table designs. Every money movement is written in one database transaction.
Done when a server restart loses nothing and a repeated event still credits once.
Phone number and one-time code, sessions, and owner or team-member roles checked on the server.
Done when the sandbox login is switched off and every route needs a real session.
Issue a virtual card, freeze it and set limits. Card payment events debit the ledger and decline when the card is frozen, over its limit or short of funds.
Done when tests cover an approval and every decline reason.
Replace the app's own balances with API calls, and build the minimal owner console: cards, limits, activity.
Done when every balance on screen comes from the server.
Swap each sandbox stand-in for the chosen partner: card programme, mobile money, USDC and identity checks. The provider contracts already define the slots.
Done when the full flow passes in the partner's sandbox.
Move money from Maximus to the customer's MoMo wallet through the partner.
Done when a payout settles once and a failed payout puts the money back.
A daily job compares our ledger with the partner's records. One screen shows mismatches, identity-check cases and support requests.
Done when a deliberately planted mismatch is caught and shown.
Rate limits, a tamper-proof audit log, monitoring and alerts, backups with a tested restore. Then an independent security test.
Done when no critical or high findings remain open.
Each of these is tempting and each would eat the budget or the calendar before the pilot.
Keep each agent on its own part so they don't overwrite each other.
The same loop for every step above. GitHub is the single source of truth.
My estimates until the quotes arrive at Gate A. Coding itself costs no cash.
Never pass the cap before the gate is cleared. If a gate fails, at most that much is gone.
| Gate | Spent on | Cap, USD |
|---|---|---|
| A · Quotes in hand | Trademark search, domain, lawyer's scoping call | 1,000 |
| B · Partners chosen | Lawyer's written opinion, partner onboarding fee | 5,000 |
| C · Sandbox flow works | First partner monthly fees | 8,000 |
| D · Cleared for pilot | Security test, final legal work, more monthly fees | 14,000 |
| E · Pilot proven | Prefunded card balance | 18,000 |
Caps are cumulative. The last USD 2,000 is the reserve.