Under the hood
Government funding decisions are rule-based, so our engine is too. Below is the full decision matrix, the system architecture, and the security posture we hold because this product sits next to public money.
| Signal | Captured from | Rule | Effect on verdict |
|---|---|---|---|
| Region / state | Intake: state of operations | Central schemes match all states; state schemes require an exact state code match | Hard filter — mismatch removes the scheme |
| Sector | Intake: what you are building | Scheme sector list must contain your sector or the wildcard 'any' | Hard filter + 25 pts on exact sector fit |
| Stage | Intake: idea → growth | Scheme stage list must include your stage | Blocker if absent, 20 pts if present |
| Entity type | Intake: pvt ltd / LLP / partnership / proprietorship | Most grants need a registered company or LLP | Blocker — surfaced as 'incorporate first' |
| Entity age | Incorporation year | Age must be ≤ scheme max_age_years | Blocker when older than the cap |
| DPIIT recognition | Intake toggle | requires_dpiit schemes need active DPIIT recognition | Actionable gap — free to obtain, so shown as 'with prep' |
| Women-led | Intake toggle | women_led_only schemes require ≥51% women founder ownership | Hard filter for reserved schemes, bonus 10 pts elsewhere |
| Incubation | Intake toggle | Seed-fund style schemes route applications via approved incubators | Actionable gap with incubator guidance |
| Funding ask | Intake: amount needed | Ask compared against scheme min/max ticket | Soft score — up to 20 pts for ticket fit |
| Revenue | Intake: annual revenue | Revenue caps on early-stage grants | Blocker on breach, otherwise neutral |
Public marketing, catalogue and scheme detail pages are server-rendered for SEO and shareability. Founder-only surfaces sit behind a client-gated authenticated layout.
Eligibility is deterministic, versionable and unit-testable. No LLM in the decision path, so every verdict is explainable line by line.
Every read or write that touches founder data goes through an authenticated server function; the browser never holds privileged credentials.
Curated scheme catalogue is the only public dataset. Everything founder-specific is row-scoped.
Scheme data is human-verified from official government sources rather than scraped blindly, because a wrong eligibility rule costs a founder real money.
Founder intake (browser, anonymous)
|
v
Local draft profile -----> Matching engine (pure TS rules)
| |
| v
| Ranked verdicts: eligible / with prep / blocked
v
Sign in --> Authenticated server function --> Postgres (RLS: auth.uid())
| |
v v
Private document bucket applications + documents
|
v
Submit -> locked record + reference no -> official portal filingFundMatch prepares and tracks applications. Final sanction decisions always rest with the respective central or state authority.