Frontend
Next.js (App Router) with React, TypeScript, modern UI primitives, and typed validation for forms and onboarding flows.
A three-sided marketplace with real-time messaging, Stripe Connect payments, AI-assisted onboarding, and automated billing. Built from scratch as the sole engineer.
CFOHIRE needed a platform where businesses (Clients) could find and engage fractional CFOs, who could delegate specialised work to Finance Automation Engineers (FAEs). The platform had to support the full lifecycle end-to-end with the security and compliance expectations of financial services.
I built this from concept to production as the sole engineer: database schema, API, frontend, payments, and deployment.
The key constraint was speed-to-value: users needed to reach a paid engagement quickly, without being overwhelmed by setup, paperwork, or manual coordination, while keeping billing, messaging, and legal agreements auditable.
The system is split into a Next.js frontend and a standalone Express API, backed by Supabase (Postgres + Auth + Realtime + Storage). Stripe handles money movement, and AI assists onboarding.
Next.js (App Router) with React, TypeScript, modern UI primitives, and typed validation for forms and onboarding flows.
Express API with layered security (JWT, API keys, webhook verification), structured logging, and scheduled automation.
Supabase Postgres with Row-Level Security, auth, realtime updates, and storage for attachments and documents.
Full Stripe integration including Connect Express onboarding, payouts, platform fees, and robust webhook processing.
CV and portfolio parsing to prefill CFO profiles and reduce onboarding friction without compromising data review.
Docker-based builds, production deployment on Railway, and automated quality gates to keep changes safe.
Role-aware flows, realtime messaging, billing automation, and audit trails across the full engagement lifecycle.
Three distinct journeys (Client, CFO, FAE) with tailored dashboards, permissions, and guarded routes.
Job posting, discovery, applications, and delegation to FAEs via sub-jobs.
Full proposal lifecycle: drafts, counter-offers, acceptance, and status tracking with unread states.
Realtime conversations with presence heartbeats, attachments, archiving, and unified inbox/badges.
State-machine project terms: start, submit, accept, pause/resume, disputes, completion and termination.
Time entry CRUD, summaries, disputes, and weekly FAE timesheets feeding invoicing.
Scheduled invoice generation, dispute handling, credit notes, cancellations, and escalation logic.
Connect Express onboarding, transfers, payout status, and comprehensive webhook coverage.
PSA & NDA workflows with template versioning, signatures, and audit trails.
CV upload / URL parsing to prefill profiles and reduce setup friction.
Transactional email plus scheduled digests and in-app badges across navigation.
Action logs and snapshots for auditable workflows and dispute resolution.
Implemented API-key gating, JWT auth, job keys for scheduled tasks, and Stripe signature verification, each with dedicated middleware.
Clients pay CFOs, CFOs pay FAEs, and the platform collects fees across retainer, fixed, and time-based models with automated invoice generation.
Added error recovery for chunk loading, guardrails for auth race conditions, and timeout protections against infinite loading states.
A live marketplace handling authentication, payments, and end-to-end business workflows.
Schema, API, UI system, integrations, automation, and deployment. Shipped as a solo engineer.
Row-Level Security at the database, JWT auth, API key gating, and webhook signature verification.
Cron-driven invoicing, billing periods, notification digests, dispute handling, and payroll workflows.
Decoupled frontend and API with typed boundaries, structured domains, and containerized deploys.
A reusable component system enabling consistent experiences across all user roles.
Frontend: Next.js, React, TypeScript, modern UI primitives, typed validation, Stripe Elements.
Backend: Express, Node, TypeScript, scheduling, logging, file uploads, tests.
Database & Auth: Supabase Postgres, Row-Level Security, Realtime, Storage, Auth.
Integrations: Stripe (Connect, webhooks), SendGrid, Google Gemini AI.
Infrastructure: Docker builds, Railway deployment, linting/formatting gates.
The result is a platform that reduces friction at the start of an engagement and keeps operational workflows predictable through automated billing and transparent status tracking.
Assisted setup reduces time-to-active for new users.
Proposals, contracts, invoices, and payments in one flow.
Automated billing removes repetitive coordination work.
Secure messaging supports sensitive finance workflows.