Open to senior marketing leadership opportunities across MENA and Europe

Personal Project

Personal Project

Arc Finance OS · AI Finance Team

4 Specialists · 1 CFO · 1 Report

Arc Finance OS: Multi-Agent Finance Workspace

A leadership brief and a few business files go in. Four specialist agents review them in parallel, a CFO agent challenges the memos and signs off, and a structured report comes out with its assumptions and data limits on the page.

Multi-Agent AIOpenAI Responses APINext.js 16NDJSON StreamingPersonal Build

Personal Project · Live on Vercel

5

AI Finance Roles

Four specialists and an independent CFO, each with its own remit

4

Parallel Reviews

Specialist analyses run at once on the OpenAI Responses API

8

Deliverables

From management accounts to board packs, combined into one pack

3 of 4

Completion Gate

The minimum specialist memos, or the run fails safely with no report

Arc Finance OS is AI-assisted decision support, not an audit. It produces evidence-aware finance reports from the brief and files it is given, and it discloses where the evidence runs out. It is a production-oriented MVP with real model execution and explicit quality gates, not a system of record. Material decisions still belong with qualified finance professionals.

The Problem

One question, five disciplines

A single leadership question, “where do we actually stand, and what should we do,” usually spans accounting integrity, performance analysis, liquidity, forecasting, and executive communication at once. Answering it manually means pulling in several finance roles and coordinating their work into one view.

Ask a single general-purpose chatbot instead and you get a confident, unsourced narrative that blurs facts, assumptions, and estimates together, and invents the numbers it does not have. That is worse than no answer, because it looks finished.

So I built a small finance team instead of a single voice.

The Finance Team

Four specialists and a CFO

Each role has its own prompt, remit, and model call. The four specialists review in parallel, then the CFO challenges what they found and decides what the report says.

Elena Vasquez

Chief Financial Officer

Challenges the specialists, reconciles their conflicts, frames the decisions, and approves the final report. Nothing ships without this sign-off.

Marcus Chen

Financial Controller

Tests source reliability, reconciliations, cut-off, accounting consistency, and balance-sheet risk.

Priya Shah

Head of FP&A

Examines KPIs, budget variance, unit economics, forecasts, and the assumptions behind each scenario.

Noah Williams

Treasury Manager

Stress-tests liquidity, runway, working capital, receivables, payables, and funding risk.

Mia Laurent

Finance Executive

Reviews schedules, transaction signals, anomalies, completeness, owners, and due dates.

Real work, not a timer

The names are product personas. The progress in the live workroom is driven by actual OpenAI API events, not a timer-based animation pretending that analysis has finished.

How a Run Works

Brief in, CFO-approved report out

The whole run streams as newline-delimited events, so the browser can render progress the moment each stage lands rather than waiting for the end.

1

Brief and files

The leadership brief arrives with the company, period, currency, and deadline, plus optional source files. The server validates required fields, file types, count, and total size before anything reaches a model.

2

Sources ready

Supported files are uploaded to OpenAI Files for the duration of the run only, and treated as untrusted data, never as instructions to follow.

3

Four specialists, in parallel

Controller, FP&A, treasury, and finance executive each run a separate OpenAI Responses call at the same time. Every memo streams an agent_started, agent_completed, or agent_failed event into the workroom as it lands.

4

Completion gate

The run needs at least three successful specialist memos to continue. Fewer than three, and it fails safely: no report is ever presented as complete.

5

CFO challenge and synthesis

The completed memos and source files go to a separate CFO model call that challenges the specialists, reconciles conflicts, and writes the report against a strict JSON schema.

6

Validate, stream, clean up

The CFO output must pass both OpenAI structured-output validation and a local shape check before it renders. The report streams to the UI as NDJSON, and the temporary OpenAI files are deleted in a finally step whether the run succeeded or failed.

Evidence and Quality Controls

The part that shows its work

The point of a finance report is that you can trust the numbers. These controls are what keep the output evidence-aware instead of confidently wrong.

Business files are treated as untrusted data, never as instructions to the model.

Prompts forbid invented actuals, budgets, dates, variances, customers, and sources. Facts, assumptions, and management estimates are kept separate.

Missing evidence is disclosed in the report limitations instead of being quietly filled in.

Charts are omitted when no numerical source supports them, rather than populated with invented numbers.

OpenAI requests run with store:false, and a privacy-preserving hashed identifier is sent with each run.

The final report must pass both OpenAI structured-output validation and a local report-shape check before it is shown.

The Report

What the CFO hands back

The output is a structured document validated against a strict schema, not a wall of chat. Every section has to earn its place.

CFO headline and summary

The headline call and an executive summary at the top, in the CFO’s voice.

KPIs

Four to six KPIs, each with its variance and a plain assessment.

Findings and impact

Ranked findings with the financial impact attached to each one.

Scenarios

Downside, base, and upside cases, each with its stated assumptions.

Recommendations and risks

Prioritized actions with an owner and timeline, plus a risk register with likelihood, impact, and mitigation.

Confidence and limitations

Data confidence, the files reviewed, and the explicit limits of the analysis.

The rule under all of it

Every figure traces back to a supplied source, and where the evidence runs out, the report says so. If fewer than three specialists finish, or the CFO output fails its schema, no report is shown at all.

Product Preview

The command center

Four specialist reviews converge into a single CFO-approved report. The live product runs on Vercel.

Arc Finance OS: four specialist reviews converging into a single CFO-approved report

Product key visual. Four specialist cards feed the CFO, who challenges and synthesizes the single approved report on the right.

How It Is Built

How It Is Built

AI Orchestration

OpenAI Responses API · four parallel specialists + CFO synthesis

Transport

Axios · server-only OpenAI calls

Structured Output

Strict JSON Schema + local report-shape validation

Streaming

NDJSON from a Next.js App Router route

App

Next.js 16, React 19, TypeScript

Interface

GSAP motion, Tailwind CSS 4, restyled shadcn, Lucide

File Handling

OpenAI Files, temporary upload, deleted after each run

Infrastructure

Vercel serverless, Node.js 22

What I Built

What I Built

The orchestration, the streaming layer, the prompts and quality gates, the report contract, and the product interface, all built and deployed by me.

Orchestrated four specialist reviews as parallel OpenAI Responses calls, each streaming its own progress event, so the workroom shows real API state instead of a loading animation

Made the run fail safely by design: fewer than three specialist memos, or a CFO response that breaks the schema, and no report is presented as complete

Put the CFO on a separate, higher-reasoning model call that challenges the specialists and reconciles their conflicts before writing anything

Enforced the report contract twice, with OpenAI structured-output validation plus a local shape check, so a malformed report never reaches the screen

Treated every uploaded file as untrusted data and wrote prompts that forbid invented actuals, budgets, dates, and sources, keeping facts separate from assumptions

Streamed the whole run as NDJSON from a single Next.js route so the browser renders progress line by line as events arrive

Handled files responsibly: temporary upload to OpenAI Files, store:false on requests, a hashed safety identifier, and deletion in a finally step after success or failure

Built the full product surface, from command-center intake and the live workroom to the tabbed report viewer, session report library, and Markdown download, deployed on Vercel

Four specialist reviews, one CFO challenge, and a report that separates what the evidence supports from what it does not. An AI finance team that shows its work.

Access

See it run on a real brief.

The interesting part of Arc Finance OS is not the interface — it is watching four specialists work a leadership brief in parallel, the CFO challenge their memos, and the report name what the evidence does not support. Tell me what you want to see: a live walkthrough, a report from a real run, or a look at the source.

Back to AI Systems