MIRA
Internal platform for commercial management and proposal tracking.
An internal application for managing commercial activity and following proposals through their lifecycle. It reached production, is used by dozens of people across the organisation, and was a finalist in the Innovation Awards 2026.
Proprietary system — no source code is shared.
- Status
- In production
- Period
- October 2025 — present
- Context
- Metso · Internal system
- Domains
- Commercial · Reporting · Identity
The problem
Commercial proposals were tracked across scattered files and personal spreadsheets, and keeping them consistent was a person’s job. Someone on the team spent the better part of a day each week reconciling by hand: checking that what the spreadsheet claimed matched what was actually in the folders, spotting proposals nobody had registered, and re-keying the same records into a second spreadsheet for reporting and a third for management. At peak that meant walking hundreds of live proposals one by one — work that grew with the business and produced nothing except the confidence that the numbers were current.
Approach
- 01Replaced spreadsheet-based tracking with a single system of record for proposals and their status.
- 02Designed the domain model and REST API, then the React front end on top of it.
- 03Integrated corporate identity so access follows existing company accounts and permissions.
- 04Built reporting into the application itself, so leadership reads live data instead of re-keyed exports.
Architecture
How it is put together.
FastAPI + SQLAlchemy over SQL Server
A typed REST API against the corporate SQL Server estate, with SQLAlchemy models mapping the commercial domain.
React + TypeScript client
A single-page client for the proposal workflows, deployed independently from the API.
Azure App Service + Microsoft Entra ID
API hosted on Azure App Service; authentication and authorisation through Entra ID, so accounts and groups are managed corporately rather than in-app.
Reporting inside the product
Reporting views read the same models as the rest of the application, so what leadership sees is the live record rather than a periodic export of it — and the manual consolidation step disappears.
Stack
- Backend
- Python
- FastAPI
- SQLAlchemy
- Front end
- React
- TypeScript
- Data
- SQL Server
- Platform
- Azure App Service
- Microsoft Entra ID
- Vercel
Outcome
- 400 services created, processed and reported through the system in its first year.
- Removed a standing weekly task: one person reconciling spreadsheets against folders by hand, and re-keying the same records into separate files for reporting and management. Roughly a working day a week, every week.
- In production since January 2026, used daily by dozens of people across the organisation.
- One of three global finalists at the Metso Innovation Awards 2026.