This is a submission for the Hacktoberfest Open-Source AI Challenge — Week 2: Side Hustle.
Every three months, I faced the same problem in our family business in Barcelona.
Download the bank transactions. Open Excel. Separate money coming in from money going out. Organize the figures. Prepare a report. Send everything to our accountant.
Then, three months later, do it all again.
Our family runs a tuition and coaching centre serving members of Barcelona's Asian community. We help students prepare for driving theory tests and taxi-driver examinations in cities including Barcelona, Madrid and Valencia.
Teaching is our business. Spending hours manually reorganizing bank statements is not.
I first built a browser-based reporting tool to reduce that repetitive work.
But I eventually asked myself a different question:
What if the spreadsheet could not only produce a report, but also answer questions about the business—and show the evidence behind every important finding?
That question became ExcelFlow AI by DeTLeng.
What I Built
ExcelFlow AI is a browser-based reporting workspace with an AI business analyst: build or upload an Excel workbook, generate a structured report, explore interactive analytics, then ask questions about the actual data through a Mastra-powered agent.
The experience has four connected parts:
- Build a workbook. Choose a template, customize columns and roles, then download a blank workbook or generate realistic fictional transactions.
-
Create a business report. Upload an
.xlsxfile or use a sample; review the worksheet, headers, column roles and reporting period; export a workbook with inflows, outflows, summaries and charts. - Explore Live Analytics. Filter transactions, inspect trends and groupings, and understand the numbers before requesting AI assistance.
- Investigate with AI. Ask a preset or completely custom question. Mastra's read-only tools retrieve calculations and row evidence; OpenAI produces the explanation. Inspect the findings and export them.
The distinction matters: The model does not have to invent financial arithmetic. The application calculates; the AI investigates and explains.
Who Would Pay for It?
I built toward a specific small-business problem: preparing periodic transaction reports without spending hours rebuilding the same spreadsheet analysis. Independent professionals, tutors, small retailers and freelance bookkeepers face similar repetitive work.
A plausible side hustle is a quarterly or monthly reporting service: prepare client reports, explain the trends, and hand over a reviewable Excel/PDF package. A hosted self-service offering is another possibility. Neither subscription revenue nor paying-customer demand is being claimed here; those are hypotheses to test with real users.
Demo — Try the Real App
🌐 Launch ExcelFlow AI — Live Application
💻 Explore the Source Code on GitHub
No sign-up and no private financial information are needed to explore the fictional-data demo.
The cover image is illustrative. The current application accepts *.xlsx workbooks*; CSV upload is not supported.
Quick Guide & Technical Guide
New here? Open Quick Guide in the website navigation for a step-by-step walkthrough, or Technical Guide for architecture, agent tools and verification.
The homepage offers a ready-made fictional sample, source-workbook reporting, exploration of an existing report, and a customizable workbook builder.
Upload Your Own Excel Workbook — Drag, Drop, Analyze
ExcelFlow AI is not limited to fictional sample data. Users can bring their own business or bank transaction Excel workbook by clicking Upload Source Excel →, dragging an .xlsx file directly into the upload area, or selecting it from their computer. The application supports unencrypted Excel files up to 20 MB and processes them locally in the browser, keeping the original workbook untouched. Users can then select their worksheet, review detected headers, choose important columns, confirm or customize their roles, select a reporting period, and generate a structured business report with inflows, outflows, summaries, and charts. From there, they can explore Live Analytics or explicitly authorize the optional Mastra AI Analyst for deeper, evidence-backed business investigations.

Bring your own Excel workbook: drag and drop or choose a file, review your columns, and generate reports without changing the original.
Demo 1: A Complete Report from 60 Fictional Transactions
Click Try with Sample Data →. The app loads fictional-side-hustle.xlsx, a bundled workbook with a Spanish transaction worksheet (Movimientos), a German product worksheet (Produkte), and a short read-me sheet.
A six-step reporting flow guides the user through Upload → Source → Columns → Roles → Reports → Generate. Column labels can be in different languages: users confirm what fields such as Fecha, Importe, Categoría and Divisa actually represent.
An actual source preview—not a hard-coded dashboard. Users can review the header row and change mappings before analysis.
With the sample, Generate Business Report → processes 60 records. The final screen offers the generated Excel workbook, Open Live Analytics →, and Ask AI About Your Data →.
The report surfaces one invalid amount and warns that different currencies must not be silently combined.
The repository includes an expected-results.json fixture for independently checking this fictional dataset:
| Metric | EUR | USD |
|---|---|---|
| Total inflows | €6,806 | $0 |
| Total outflows | −€1,965 | −$79 |
| Net cash flow | €4,841 | −$79 |
One non-numeric amount is retained for review but excluded from numeric sums. Cash flow is not accounting profit, and EUR and USD remain separate.
These are documented sample-data results, not figures from our family's real bank account.
Demo 2: Ask the Mastra AI Analyst
From the generated report, select Ask AI About Your Data →. The page explains exactly what is shared with the AI backend; check the authorization box to connect.
You can run a deep investigation, choose a predefined question, search the question library, or type your own question about the supplied spreadsheets. Choose from ten preset answer languages: English, Spanish, German, French, Portuguese, Arabic, Urdu, Hindi, Bengali and Chinese. For another language, select “Other — type your language” and enter your preference.
Preset questions lower the learning curve; the freeform box lets users ask questions in their own words and control the desired answer length.
Clear Progress Updates During AI Investigations
AI investigations sometimes take longer, especially when the Render backend is waking up or Mastra is gathering evidence from dataset tools. Instead of leaving users wondering whether the application has stopped responding, ExcelFlow AI displays clear status messages, an elapsed-time counter, and a Cancel Request option. Friendly updates explain that the AI is checking the data and gathering evidence, while reminding users to keep the page open. This makes longer investigations more transparent and gives users control while they wait for their results.
I ran the deep investigation on the same fictional workbook. The agent returned an executive overview, quality checks, monthly trends, customer concentration, unusual-transaction review, and source/report coverage, with evidence identifiers beside the findings.
This screenshot captures a completed agent run. Its findings reference retrieved dataset evidence rather than presenting an unsupported summary.
The investigation identified the same €4,841 EUR net cash flow, the separate −$79 USD outflow, and the invalid amount. It also examined monthly EUR receipts (€2,238 in August, €2,322 in September, and €2,246 in October) and concentration across three fictional clients.
Then I tested a more human question:
“I want to purchase this business. Give me your take only in 2 paragraphs.”
The response discussed the sample's positive EUR cash flow, but did not treat three months of transactions as sufficient to value a business. It advised checking the invalid amount, understanding the isolated USD transaction, examining longer-term records, and reviewing client contracts before making a purchase decision.
That is the experience I wanted: not an AI pretending to know everything, but an analyst that can explain what the supplied data supports—and what it cannot tell us.
The conversation also supports short prompts such as “overall view of the business facts and figures, no extra detail please,” follow-up questions, and on-demand downloads.
Answers can be saved individually or together as PDFs, or included in a downloadable Excel report with an AI Findings worksheet.
Demo 3: Build Your Own Fictional Workbook
The second no-upload starting point is Build Your Workbook →. Rather than forcing everyone to use the same sample, ExcelFlow AI lets visitors design their own:
- Start from a business template, then add, remove, rename or reorder fields.
- Choose data roles, formatting and a record capacity from 100 to 5,000.
- Generate synthetic sample records for one, three, six or twelve months—or a custom date range.
- Download the
.xlsx, or select Use in ExcelFlow AI → to take those records directly into reports, Live Analytics and AI investigation.
A separate blank workbook path prepares a structured Excel file for actual future records. Synthetic data generation does not require an AI model call.
Code
GitHub Repository — ExcelFlow AI by DeTLeng
Useful starting points for reviewers:
-
server/agent.ts— Mastra agent, instructions, structured outputs and evidence checks. -
server/tools.ts— the nine read-only investigation tools. -
server/data.ts— dataset selection, normalization and session data logic. -
TECHNICAL_GUIDE.md— architecture and design details. -
AI_SETUP.md— configuration, safety boundaries and verification. -
public/examples/expected-results.json— reproducible fictional-data checks.
Attribution: The browser reporting foundation incorporates components from my earlier BusinessFlow reporting project; ExcelFlow AI adds the Mastra/OpenAI investigation layer, backend and evidence-backed AI workflow described here.
How I Built It
One Application, Two Calculation Boundaries
Excel workbook / fictional sample / workbook builder
|
v
Browser + Web Workers
ExcelJS + Chart.js
|
v
Structured Excel report
Live Analytics
|
Explicit consent
|
v
Render TypeScript API
Temporary session
|
v
Mastra Agent
/ \
v v
Read-only dataset OpenAI model
investigation tools inference
\ /
v v
Evidence-backed answer
|
v
UI / PDF / Excel
The frontend uses Vite, JavaScript, ExcelJS, Chart.js and Web Workers. The reporting path calculates summaries, groups and chart data in the browser. The generated Excel report includes dedicated data, inflow, outflow and analysis sheets.
The separate Node.js/TypeScript API on Render holds the authorized temporary dataset and runs the Mastra agent. Relevant retrieved tool results—not an unfiltered claim of “everything local”—can go to OpenAI during inference.
Nine Tools, Each with a Specific Job
| Tool | What it checks |
|---|---|
catalog |
Which sheets, columns and mappings exist? |
overview |
What are the currency-separated KPIs and transaction extremes? |
records |
Which individual transactions match a filter? |
cell |
What does an original source cell actually contain? |
aggregate |
How do totals change by date, category or another field? |
compare |
What changed between two inclusive reporting periods? |
anomalies |
Which values are statistical outlier candidates? |
quality |
Which values are missing, invalid or duplicate-looking? |
reconcile |
How does the source correspond to the processed report? |
A useful example: “Which day had the largest receipts?” requires grouped daily totals. “What was the largest receipt?” requires inspecting individual transactions. Those are not the same operation, and a generic chatbot can easily confuse them.
Mastra coordinates tool use. The tools perform deterministic calculations. OpenAI interprets the returned evidence into natural-language findings.
Evidence You Can Inspect
Each tool call can register an evidence ID, such as e1, with its query and result. The agent returns structured answers containing findings, recommendations, limitations and follow-up questions.
The backend rejects a response if it lacks a relevant non-catalog evidence-tool call or references an evidence ID that does not exist in the current investigation. It does not claim that those checks prove every interpretation is mathematically correct; users can expand the evidence and review the scope.
Privacy Is a Decision, Not a Slogan
Reporting and Live Analytics operate in the browser. AI investigation requires authorization. On consent, the supplied raw workbook and processed report are transmitted to a temporary Render session; relevant retrieved tool results can be sent to OpenAI. Server keys are not placed in the frontend bundle.
Sessions are in-memory and expire after inactivity. There is no claim of entirely offline AI inference or indefinite chat persistence. Render free-service wake-up delays may affect the first AI request.
Outputs Built for Actual Work
The user can save individual answers or the current conversation as PDFs through the browser print flow. An updated Excel download adds an AI Findings worksheet. The app also provides a calculated business-overview PDF that requires no AI call.
That matters to the small-business workflow: the result is something to inspect, keep and discuss with an accountant—not merely a chat bubble.
Why Does Open Innovation Matter?
The open-source component at the heart of this AI experience is Mastra, the agent framework. This project does not claim that the OpenAI model is open-weight or that hosted inference is free.
An open agent framework means the investigation logic is visible and adaptable: I can define the tools, inspect their boundaries, validate outputs, test evidence handling, and change the workflow without rewriting the spreadsheet engine.
It also creates a useful separation of responsibilities:
Deterministic software owns the numbers. The agent owns the investigation workflow. The language model communicates the findings. The user can inspect the evidence.
For business data, that separation is more valuable to me than another confident paragraph from a general-purpose chatbot.
My Agent Session
I used Codex to help implement and test the application, working through the spreadsheet-to-agent integration, tool interfaces, export workflows and documentation.
The guiding requirement was simple: never sacrifice the correctness of the spreadsheet calculations just to make the AI response sound clever.
The public fictional workbook became a practical acceptance test. I checked the generated report's expected totals, ran a deep Mastra investigation, and then tried follow-up prompts asking for different levels of explanation—including the two-paragraph business-purchase question above.
The walkthrough screenshots in this article show the actual running app and actual AI answers; the cover image is illustrative. The repository provides deterministic tests and reproducible sample fixtures; model interpretation itself still requires human verification.
What I Learned — and What Remains Open
- Good analysis starts with data quality. An invalid amount should be visible, not silently turned into zero.
- Different questions require different computations. Largest single transaction and largest daily total are different questions.
- Business judgment needs context. Three months of cash flow cannot establish a company valuation, tax liability, or long-term profitability.
- AI should make evidence easier to understand, not harder to audit. Tool results and limitations belong alongside the answer.
ExcelFlow AI combines reliable spreadsheet calculations, currency-separated financial reporting, interactive analytics, and evidence-backed AI investigations. The system highlights data-quality issues, provides inspectable calculations, and helps users understand their business records more clearly. It is designed to support informed business decisions and work alongside professional accounting services.
Prize Categories
Best Use of Mastra
Mastra runs the real spreadsheet investigation agent, orchestrating nine read-only tools, multi-step data inspection, structured findings and evidence-backed answers. It is fundamental to how the AI analyst works.
Best Use of Render
Render hosts the TypeScript agent backend, including temporary dataset sessions, request validation, the Mastra runtime and server-side OpenAI integration. The browser can handle reports locally; Render supplies the live AI investigation service.
Final Thoughts
I started with a recurring spreadsheet task in a small family business. ExcelFlow AI now lets someone build their data, create a report, explore the numbers, ask an AI analyst questions, and inspect what supports the answer—all in one workflow.
If you run a small business or help someone else with their reporting, I would love to know: what is the one question you always wish your spreadsheet could answer?
Try ExcelFlow AI · Explore the Code
Build your reports. Explore your numbers. Ask your business. Verify the answers.
ExcelFlow AI by DeTLeng — Business data in. Clear understanding out.



















