Inspiration
As a business student interested in finance and AI, I wanted to make investment research more accessible and easier to verify. Analysing a company involves switching between financial reports, spreadsheets, valuation models and research notes. AI can help organise this information, but a convincing answer is not necessarily an accurate one.
This inspired EquityLens AI: an investment research workspace that connects financial analysis, valuation and AI-assisted research while keeping assumptions and evidence visible.
What it does
EquityLens AI guides users through the investment research process—from creating a company workspace and uploading financial documents to analysing performance, building valuations and developing an investment thesis.
Its main features include:
- Financial analysis: Editable historical figures, source information and Python-calculated ratios.
- Valuation Lab: A five-year discounted cash flow model, bear/base/bull scenarios, sensitivity analysis and comparable-company multiples.
- Research agents: Financial, valuation and risk analysts, an investment committee critic and an evidence verification agent.
- Research Chat: Document retrieval and source-referenced questions.
- Investment reports: PDF, DOCX and Excel exports.
- Prompt Engineering Lab: Synthetic benchmarks for comparing prompting strategies and evaluating responses.
A built-in synthetic company lets users explore the application without uploading confidential documents.
How I built it
I built the frontend using Next.js, React and TypeScript, with Tailwind CSS for styling and Recharts for visualisations. A FastAPI backend runs the financial calculations in Python, and the application is deployed on Vercel.
A key design decision was to separate numerical calculations from AI interpretation. Python calculates financial ratios, discounted cash flows and valuation scenarios. AI prompts use these results as context for analysis.
The application also supports a Manual AI Mode. Users generate a specialised prompt, run it in their preferred AI interface, and paste the JSON response back into EquityLens for validation. This makes the core workflow usable without requiring a paid inference API.
Projects are stored locally in the browser using IndexedDB, with JSON import and export for portability. Extracted document text is excluded from persistent storage by default.
Challenges I faced
One major challenge was adapting the project for deployment on Vercel. Moving from a Streamlit-based application to a Next.js frontend and stateless Python backend required rethinking routing, backend communication and storage.
Another challenge was financial document extraction. A document can contain several figures, reporting periods and unit scales in the same passage. During testing, a simple synthetic PDF exposed an extraction error that assigned a capital expenditure figure to operating cash flow. This reinforced why extracted suggestions must remain separate from the financial ledger until an analyst reviews them.
Evidence verification was also more difficult than checking whether a response contained a citation. A valid document reference does not prove that the document supports the claim. I therefore distinguished schema validation, source checks and the need for human review.
Browser testing also revealed remaining issues with unit labels, report completeness, workflow readiness and benchmark citation scoring. These findings gave me a concrete roadmap for improving the application.
What I learned
I learned that building a useful finance application requires consistency across the entire workflow. A figure needs a reporting period, currency, scale and source—not just a value.
I also learned that testing must go beyond successful page loads. Uploading a document, changing an assumption, refreshing a project and reopening an exported report can reveal problems that are invisible when reviewing individual components.
Most importantly, I learned to treat AI output as something to examine. Structured responses and citations make review easier, but they do not replace financial reasoning or evidence checks.
What I’m proud of
I’m proud of bringing financial calculations, valuation and evidence-focused research into one working application. Users can explore scenarios, inspect assumptions and challenge conclusions within the same workspace.
The manual AI workflow is particularly meaningful to me because it makes the project accessible while preserving a clear distinction between calculated results and imported interpretations.
What’s next
My next priorities are improving extraction accuracy, making currency and unit scales consistent, producing more complete reports and fixing benchmark citation scoring.
I also want to strengthen mobile testing, improve handling of failed requests and make the research workflow clearer when information is missing or outdated.
Built With
- css
- fastapi
- indexeddb
- next.js
- python
- react
- recharts
- tailwind
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.