IPO Scope
An IPO tracking app for Indian markets — Flutter on iOS and Android over a FastAPI backend. Every NSE mainboard and BSE SME issue, followed automatically from the day it's announced through listing day.
Overview
IPO Scope is a mobile app for retail IPO applicants in India. It tracks NSE mainboard and BSE SME issues across their whole lifecycle — from the day an issue is announced, through the subscription window and allotment, to listing day.
A single Flutter codebase covers iOS and Android, with the Android build live on the Google Play Store. It sits over a FastAPI and PostgreSQL backend that does the heavy lifting: pulling the issue calendar and subscription figures from the exchanges' public feeds, parsing financials out of offer documents, and talking to seven registrars for allotment checks. The app, backend, and registrar integrations were all designed and built in-house. It is an information and tracking tool — not advisory, and not a trading product.
The Problem
Applying for an IPO in India means chasing information across half a dozen places. Subscription numbers live on the exchange sites, allotment results on whichever registrar happens to be handling the issue, financials in a several-hundred-page offer document, and dates in whatever you remembered to note down.
IPO Scope set out to collapse that into one app:
- Keep a complete, always-current issue calendar without anyone maintaining it by hand.
- Show subscription demand as it builds, broken down by investor category.
- Surface the numbers from the official offer document without making people read the PDF.
- Check allotment for every saved PAN across every registrar, in one place and one pass.
- Tell people when something actually changes, rather than making them check.
Architecture
A FastAPI backend over PostgreSQL owns all of the data. Scheduled ingestion jobs read NSE and BSE public feeds to keep the issue catalog, lifecycle states, and category-wise subscription figures current, so nothing depends on manual entry. A separate extraction step parses financial statements directly out of each issuer's DRHP/RHP filing, and grey market premium is aggregated from public listings and stored flagged as unofficial.
Allotment checking runs through a registrar integration layer that puts seven different portals — KFintech, MUFG Intime, Bigshare, Cameo, Maashitla, Skyline, and Purva — behind one interface, including each one's own public captcha flow. Registrar endpoints are mirrored, with automatic failover, cooldown, and retry when one starts rate limiting, and a user's saved PANs are checked as a single batch. PANs themselves are encrypted at rest and matched by hash, so plaintext is never stored or logged.
The Flutter app consumes that one API on both iOS and Android, with push notifications for each lifecycle event — opens, closes today, allotment out, listing day, GMP moves — individually toggleable. An admin console sits alongside for operating the catalog: manual corrections, offer-document review, phased app-release rollout, and usage stats.
Key Features
Full lifecycle tracking
Every issue followed from upcoming through open, closed, allotment out, and listed — ingested automatically from NSE and BSE public feeds and refreshed on a schedule, with no manual entry.
Live subscription & allotment odds
Bid demand broken down by investor category as it comes in, plus an allotment-odds estimator computed from that same real subscription data.
Grey market premium, clearly labelled
GMP aggregated from public sources and always shown with an unofficial-data disclaimer — ranked by percentage rather than raw rupee value, so the ordering reflects demand relative to the price band.
Financials from the source document
Financial statements extracted automatically from each issuer's official DRHP/RHP offer document, parsed straight out of the filed PDF rather than hand-entered.
Allotment checks across seven registrars
KFintech, MUFG Intime, Bigshare, Cameo, Maashitla, Skyline, and Purva — each registrar's own public captcha flow handled in-app, and every saved PAN checked in one batch instead of one at a time.
PAN data protected by design
PAN numbers are encrypted at rest, matched by hash, and only ever displayed masked — never stored or logged in plaintext.
Tech Stack
Mobile App
Flutter · Dart — iOS and Android from a single codebase
Backend
FastAPI (Python) — ingestion pipeline, registrar integrations, REST API
Database
PostgreSQL
Data Ingestion
Scheduled jobs over NSE and BSE public feeds · DRHP/RHP PDF parsing
Notifications
Push alerts per lifecycle event — opens, closes today, allotment out, listing day, GMP moves — each individually toggleable
Quality & Ops
300+ backend tests · extensive Flutter widget tests · admin console with phased release rollout
Engineering Highlights
- Automated ingestion from NSE and BSE public feeds on a schedule — the catalog stays current with no manual data entry.
- Financial statements extracted programmatically from each issuer's filed DRHP/RHP PDF rather than hand-keyed.
- Seven registrar integrations behind one interface, each with its own public captcha flow solved in-app.
- Multi-mirror failover across registrar endpoints, with automatic cooldown and retry when one is rate-limited.
- Batch allotment checking — every saved PAN queried in a single pass instead of one form at a time.
- PAN numbers encrypted at rest, matched by hash, and only ever shown masked — never stored or logged in plaintext.
- An admin console for operating the catalog: manual corrections, offer-document review, phased app-release rollout, and usage stats.
- Backed by an automated test suite — 300+ backend tests plus extensive Flutter widget tests — exercised on every change.
- Every data source is an official NSE or BSE feed, a registrar's own public form, or a public GMP listing.
Information, Not Advice
IPO Scope is a tracking and information tool. It is not investment advice and is not a SEBI-registered advisory or a trading product — the app carries that disclaimer prominently, and grey market premium is always presented as unofficial data aggregated from public sources.
Outcome
IPO Scope turns a scattered, manual routine into one app: a self-maintaining issue calendar, live subscription demand, financials lifted straight from the official filing, batched allotment checks across seven registrars, and a notification for each thing that actually changes.
The engineering underneath it is the interesting part — a scheduled ingestion pipeline over official exchange feeds, PDF extraction from regulatory filings, seven registrar integrations with captcha handling and multi-mirror failover, encryption-at-rest for PAN data, and a test suite exercised on every change — all of it fronted by a single Flutter codebase shipping to both iOS and Android, designed, built, and operated in-house.