I don't do tutorial projects — I ship merged code to platforms people actually run.
| 🏆 | What | Proof |
|---|---|---|
| 🎓 | MSOC 2026 Intern @ Mifos Initiative — building the UI Product Templates project for a fintech platform serving 40+ countries, now a library of 13 loan product templates | Merged PRs ↓ |
| 🔥 | 48 merged PRs across four major open-source organizations | All my PRs |
| 📊 | Apache Superset (75K ★) — fixes in ECharts & deck.gl rendering internals, shipped in v6.0 |
Merged PRs ↓ |
| ☸️ | Kubernetes SIGs — merged into Headlamp (7K ★), the CNCF Kubernetes web UI | Merged PRs ↓ |
| ⚙️ | RISC-V International — merged into the official machine-readable ISA specification database | Merged PRs ↓ |
| 💼 | Past: Data Analyst @ Inspacco — 6 months of production dashboards, now fueling my software work | Details ↓ |
🏦 MSOC 2026 @ Mifos Initiative — Software Intern · UI Product Templates (May – Aug 2026)
Building the loan product creation experience for the Mifos X Angular web app — a microfinance platform used in 40+ countries:
- 🧩 Landing page + 7-step Angular Material stepper for personal & advance loan products
- ⚙️ Hidden-defaults payload logic — sensible API payloads without burying users in fields
- 📖 Human-readable review step before submission
- 💳 A library of 13 loan product templates — BNPL, gold, auto, JLG, home, mortgage, consumer durable and more
- 🎨 White-label tenant theming — web UI plus the Fineract backend endpoints behind it
- ✅ 40 merged PRs and counting
📊 Apache Superset — Contributor (Nov 2025 – present)
Working inside the ECharts and deck.gl plugin internals of the world's leading open-source BI platform. Contributions tagged v6.0 and viz:charts:echarts — including a WebGL freeze fix in the contour layer.
| PR | What it did | Merged |
|---|---|---|
| #3937 | WEB-1199 — Validate numeric input in the guided loan product wizard | Sep 2026 |
| #3936 | WEB-1198 — Source delinquency bucket options from the tenant template | Aug 2026 |
| #3934 | WEB-1196 — Source loan product template currency options from the tenant template | Aug 2026 |
| #3930 | WEB-1190 — Host Classic step components in the Custom/Advanced loan product wizard | Aug 2026 |
| #3925 | WEB-1189 — Repair search spec selectors for IME regression test | Aug 2026 |
| #3890 | WEB-1167 — Correct installment multiple default and localize product card descriptions | Aug 2026 |
| #3884 | WEB-1162 — Implement Loan vs Securities / FD product template | Aug 2026 |
➕ 33 more merged Mifos PRs…
| PR | What it did | Merged |
|---|---|---|
| #3878 | 💳 WEB-1159 — Implement Credit Card EMI loan product template | Aug 2026 |
| #3874 | 🛋️ Consumer Durable template — latest addition to the loan product library | Aug 2026 |
| #3866 | 🤝 JLG template — Joint Liability Group lending, core to group microfinance | Aug 2026 |
| #3863 | 🚗 Auto loan template — vehicle financing product | Aug 2026 |
| #3856 | 🥇 Gold loan template — collateral-backed lending product | Aug 2026 |
| #3855 | WEB-1143 — Call /branding only when production mode is enabled | Aug 2026 |
| #3840 | 🏠 Home & mortgage products — long-tenure secured lending templates | Aug 2026 |
| #3838 | 🎨 Theme translation & brand colours — localized theme page with custom hex support | Aug 2026 |
| selfservice-plugin #188 | 🔌 Backend — tenant theming API — Fineract plugin endpoints for branding & custom colours | Aug 2026 |
| #3831 | WEB-1120 — Show translated Deferred income tab label | Aug 2026 |
| #3830 | 💳 BNPL product template — implemented the Buy Now Pay Later loan product | Aug 2026 |
| #3817 | WEB-1113 — Improve theme consistency for loan product creation wizard | Aug 2026 |
| #3804 | WEB-1108 — Read tenant branding without credentials | Aug 2026 |
| #3784 | 🖌️ Theme management — tenant-level theming page for white-labelled deployments | Aug 2026 |
| selfservice-plugin #184 | 🔌 Backend — tenant branding API — Fineract plugin endpoint serving branding to client apps | Aug 2026 |
| #3781 | WEB-1006 — Feat: move backend info to System Information | Aug 2026 |
| #3780 | WEB-1083 — Docs: document MIFOS_PRODUCTION_MODE behavior | Jul 2026 |
| #3764 | 🛵 New loan products — Two Wheeler, Education and Agricultural templates | Jul 2026 |
| #3711 | WEB-1031 — Improve loan product creation UI and localization | Jul 2026 |
| #3701 | 🚀 Product Templates launch — landing page with personal & advance loan flows | Jul 2026 |
| #3535 | WEB-918 — Fix savings application edit flow | Apr 2026 |
| #3466 | WEB-134 — Fix floating rates creation bugs | Apr 2026 |
| #3451 | WEB-100 — Update account state messages to 'Found' across all languages | Mar 2026 |
| #3389 | WEB-865 — Add translations for permission names using ngx-translate | Mar 2026 |
| #3385 | WEB-859 — Follow-up update after review feedback | Mar 2026 |
| #3381 | WEB-859 — Update Role Permission Search Field | Mar 2026 |
| #3380 | WEB-38 — Fix guarantors page data display and update breadcrumb to Loans | Mar 2026 |
| #3379 | WEB-849 — Replace reschedule date picker with installment dropdown and fix spacing | Mar 2026 |
| #3276 | WEB-222 — Family Members in Create Client stepper preview page not rendered correctly. | Mar 2026 |
| #3263 | WEB-804 — Support compact numeric date input parsing | Mar 2026 |
| #3238 | WEB-802 — Document password configuration variables in README | Feb 2026 |
| #3237 | WEB-801 — Upgrade minor versions of WebApp dependencies | Feb 2026 |
| #3234 | WEB-628 — Standardize password minimum length validation and error handling | Feb 2026 |
| PR | What it did | Merged |
|---|---|---|
| #38126 | ⏱️ Time shift handling — corrected time-shift logic in Timeseries transformProps | Jul 2026 |
| #37244 | 🧊 WebGL freeze fix — clamped & auto-scaled cellSize in deck.gl contour to prevent GPU hangs |
Jan 2026 |
| #37217 | 👯 Legend dedup — killed duplicate legend entries in mixed timeseries charts | Jan 2026 |
| #36306 | 📜 Scroll legend — stopped label collisions in horizontal ECharts layouts | Dec 2025 |
| #36264 | 📝 Docs — clarified duplicate report delivery for Alerts & Reports | Nov 2025 |
Headlamp is the CNCF / Kubernetes SIGs web UI for managing clusters — fully-featured, user-friendly and extensible.
| PR | What it did | Merged |
|---|---|---|
| #7363 | Frontend: plugins: Only fetch the active locale for plugin i18n | Aug 2026 |
| #6844 | 🐚 Node shell error surfacing — made pod creation failures visible in NodeShellTerminal instead of failing silently | Aug 2026 |
The official machine-readable database of the RISC-V ISA specification, maintained by RISC-V International — it generates the ISA manuals, compliance tests and tooling used across the ecosystem.
| PR | What it did | Merged |
|---|---|---|
| #2264 | 🧮 Floating-point CSR pseudoinstructions — added fscsr, fsrm and fsflags to the csrrw instruction definition |
Jul 2026 |
Data Analyst @ Inspacco (6 months · earlier experience) Operational dashboards for facility-management clients — multi-client service data, delivery tracking, and schema standardization across inconsistent data sources. The data grounding I now bring to software development.


