HOW THIS WAS BUILT
What changed, why, and what is still mocked
Six questions, the shortest true answer to each, and a link to the page that proves it rather than a restatement of it.
Who is facing the problem?
A first-time founder with no company secretary, and a director who is already late and does not know by how much. Neither can name the form they need.
The front door, which asks two questions instead →What is difficult about the current experience?
The portal is arranged by form number, so you must already know the answer to find it. Its catalogue lists 160 destinations, ten of them Companies Act 1956 forms sitting beside current ones with nothing marking them dead.
The catalogue, with the superseded forms flagged →What did you change?
The same statutory content, arranged around the person. Two plain questions instead of a form code — and six of the nineteen endings route you off this site entirely, naming the authority that actually holds your matter.
Answer two questions and watch it send you away →Why is your version better?
Measured, not asserted. Six ease-of-doing-business numbers are produced by the running product on every build and enforced as floors, so a regression fails the build rather than going unnoticed.
The benchmark and the worked case study →What works today, and what is still mocked?
The table below, in full. The rules engines and the arithmetic are real; the register, identity and payment are not; filing is a genuine state machine with no registrar on the other end.
Every claim, and the thing that backs it →How could the idea work safely at a larger scale?
Roughly 21.5 lakh active companies, each on a recurring annual cycle. Versioned rule sets so a figure is reproducible in a dispute, an idempotency key so one form is never charged twice, and fail-closed behaviour so an outage never implies a filing succeeded.
The engineering rationale, question by question →
WHAT IS REAL AND WHAT IS NOT
The seams, listed rather than hidden
7 real, 4 simulated, 2 mocked, 2 proposed. Simulated means the behaviour is genuine and the counterparty is not. Mocked means the data is invented. Each note says what is missing, not what is present.
| Component | Status | What is not there |
|---|---|---|
| Filing calendar and due-date rules | Real | From published statute and cited inline. Rules for 20 of 160 catalogued forms have been read; the rest carry no due-date rule and the catalogue says so on each one. |
| Additional-fee computation | Real | Published rates, arithmetic shown per obligation. It is not a quotation and does not include any adjudicated penalty, which is a separate amount under a separate provision. |
| Incorporation cost breakdown | Real | Union fee and State stamp duty from published schedules. Professional charges are a market range, not a rate, and are never added to the government figures. |
| Registered-office jurisdiction map | Real | 31 Registrars from MCA’s own contact page after S.O. 698(E). Sikkim is assigned to no Registrar in that source, and the page says that is a gap in the published data rather than a lookup failure. |
| Company register lookup | Mocked | Synthetic companies. A real data.gov.in snapshot exists but is incomplete — the bulk download shares one rate-limited key with the live lookup, so it was not run. No MCA system is queried. |
| Identity, DIN and PAN | Mocked | No real identifier is accepted anywhere. DIN-shaped strings in the demo were never issued and resolve to nothing. |
| Filing submission and SRN lifecycle | Simulated | The state machine, the three clocks and the resubmission window are genuine and computed. There is no registrar on the other end and nothing is transmitted. |
| Digital signature | Simulated | A signing digest is produced and shown. There is no PKI integration, no token driver and no certificate; a real filing needs emBridge and a Class 3 DSC. |
| DigiLocker document consent | Simulated | A consent receipt and example claims. No DigiLocker or API Setu connection is made. |
| Payment | Proposed | No payment is taken and no gateway is integrated. Fees are computed and displayed only. |
| WhatsApp channel | Simulated | The browser thread runs the same router the Meta webhook would. Signature verification is confirmed against production — unsigned and forged requests are refused, a correctly signed one is accepted. No sender number is provisioned, so nobody can message this from a phone today: the WhatsApp Senders API is refused on a Trial account and a production sender needs Meta approval. |
| Deadline reminders | Real | A separate Worker on a cron trigger recomputes obligations daily and writes notices. Delivery only reaches addresses verified on the account, so most attempts are recorded as blocked — the log shows them rather than hiding them. |
| Guided assistance and service selection | Real | Static decision data, no model call, nothing transmitted. It points at elements and never fills, signs or submits anything. |
| Conversational tutor | Real | A model runs here, bounded by a per-session and a daily ceiling. It may not state a figure a tool did not produce, and the count of times it has is public. |
| Statutory authority | Proposed | Nothing on this site has legal effect. Filing, payment, approval and the official record remain entirely with the Ministry and its authorised systems. |
PORTAL SERVICE REVIEW
What the MCA portal provides—and what the facilitation layer adds
The recommendation is not to remove statutory services. It is to reduce the number of decisions required before a person reaches the correct service.
- 160MCA service destinations, as scraped 23 Aug 2026 and reproduced on this portal
- 39data/report links in the scraped navigation — 38 listed here, the 39th being the section index itself
- 79help/FAQ links
- 13contact links
MEASURED, NOT ASSERTED
The benchmark and the worked case study
The review above is qualitative. Five ease-of-doing-business measures are produced by the running product on every test run and enforced as build floors, and one worked case study walks a director’s “what do I owe?” through the live MCA portal and through this build, with every rupee figure computed by the exposure engine at load.
Open the case study and benchmark →