A reimagined EPFO member portal. Core idea: stop claim rejections before they happen.
On the current portal, members discover rejection reasons — "name mismatch", "bank not seeded", "date of exit not marked" — two to three weeks after filing. EPFO Next runs every known rejection rule before the claim is submitted and walks the member through fixing each one in-app.
Live: https://epfo-next.vercel.app
Proof of concept with a fully mocked backend, data and accounts. Not affiliated with EPFO or the Government of India.
- UAN:
100200300400 - OTP:
123456
Both are shown on the login screen.
- Sign in with the demo credentials.
- The dashboard raises two things the real portal never tells you: ₹2.2 lakh stranded with a previous employer (transfer it in one tap), and no nominee on record.
- Withdraw → Medical treatment. Watch the pre-flight check run seven real rejection rules and produce an approval-readiness score.
- Click Verify PAN now inside the report — the score moves from 84 to 92 live.
- Enter an amount and see what withdrawing it costs you at retirement before you commit.
- Retirement shows your projected corpus at 58, and why the EPS pension lands near ₹7,000 however much you earn.
- Nominees enforces the shares-total-100% rule as you type, rather than after submission.
- Toggle EN / हिं in the header. Chat with Sahayak, bottom right.
npm install
npm run devnpm run build && npx vercel --prodStatic single-page app — dist/ can be hosted anywhere.
React and Vite, no backend.
| Path | Role |
|---|---|
src/api/readinessEngine.js |
The claim-rejection rules engine — the core idea |
src/api/pension.js |
Corpus projection and EPFO's real EPS pension formula |
src/api/mockApi.js |
Simulated latency; demo state persisted in localStorage |
src/data/mockData.js |
One member with a generated, internally consistent passbook |
src/components/Icon.jsx |
Single stroke-based icon set on one grid |
src/i18n.jsx |
English/Hindi, keyed on the English string so it degrades gracefully |
Passbook figures are generated rather than hard-coded: 12% employee, 3.67% employer and 8.33% EPS with the ₹15,000 wage ceiling, plus annual interest at 8.25%, so every number on screen reconciles with every other.