The problem
MRF wanted one place for fixed-income investors to follow debentures and other assets. That needs two things that are hard to get from a spreadsheet: market data that keeps up with the secondary market, and yield calculations that respect how these instruments actually pay. A debenture's return depends on business-day counts, inflation-indexed principal, compounding and amortization schedules, and small mistakes in any of them change the numbers an investor sees.
What I built
I worked as a freelancer from October 2024 to June 2025, architecting and leading the platform end to end.
- Market data ETL. Scrapers built with Selenium and orchestrated by Apache Airflow collect market data continuously and load it into MySQL.
- Backend. A FastAPI service exposes portfolio, asset and market data, with Redis caching.
- Yield engine. An IRR and yield calculator for fixed-income assets, written in Python with NumPy, that handles business days, inflation series, compounding and amortization.
- Investor features. Portfolio tracking with live wallet updates, trading suggestions, and projected payout (cash-flow) schedules for each position.
- Frontend and hosting. A Next.js frontend with server-side rendering. The platform is deployed on GCP and Vercel.
Key decisions
- Scraping as an orchestrated pipeline. Running collection through Airflow keeps market data flowing continuously instead of depending on scripts run by hand.
- Yield math in Python with NumPy. The calculations involve day counts, index series and amortizing balances. Keeping them in a numerical Python module on the backend puts that logic in one place behind the API instead of spreading it across the UI.
- Redis in front of FastAPI. Portfolio and market views read the same data repeatedly, so caching keeps those responses fast while the ETL keeps writing new prices underneath.
- Next.js with SSR. Pages render on the server with current data, so investors open a view that is already filled in.
Results
- Delivered the full-stack platform for MRF, covering debentures and other fixed-income assets, from data collection to the investor-facing UI.
- Continuous market data collection feeding portfolio tracking, live wallet updates and trading suggestions.
- A yield calculator and projected payout schedules that account for business days, inflation series, compounding and amortization.
- Deployed on GCP and Vercel.





