
Pentagon Investments
An online mutual-fund & wealth-investment platform.
A full-stack investment platform where users invest in mutual funds via SIPs and lump sums, hold fixed-return payout contracts, and manage portfolios end-to-end — KYC onboarding, Stripe-powered recurring payments, auto-generated PDF contracts and a scheduled payout engine, all run from an admin back-office.
- Year
- 2025
- Role
- Full-stack — investor portal, admin panel, API, payments & contract automation
Overview
Pentagon Investments is a wealth-management platform that lets investors put money into mutual funds two ways — Systematic Investment Plans (recurring) and lump sums (one-time) — and hold fixed-return payout contracts that pay out on a schedule. An investor portal handles onboarding, KYC, fund discovery and portfolio tracking, while a separate admin back-office manages the fund catalog, NAV pricing, investor accounts, payouts and approvals. Underneath is a Node/Express + MongoDB API spanning 65 data models — the full investment domain from fund fact sheets to redemption requests.
SIP + Lump
recurring & one-time investing
65
MongoDB data models
Stripe
recurring subscription payments
Auto
PDF contracts & scheduled payouts
The challenge
Investment products are unforgiving to model: an SIP is a recurring charge that buys fund units at the current NAV, a lump sum is a one-off allocation, and a payout contract owes investors money on a fixed cadence — each with its own holdings, transactions, redemptions and audit trail. On top of that the platform has to take real money safely (recurring card payments), onboard investors through KYC, produce legally-worded contracts, and run scheduled payouts reliably without ever double-paying. It needed to be both a polished investor product and a complete operational back-office.
What I built
- Dual investment engines — SIPs (recurring) and lump sums (one-time) — each with its own allocations, holdings, orders, transactions and redemption flows, priced against fund NAV from a fund catalog with risk ratings, lock-in periods and fact sheets.
- Fixed-return payout contracts driven by a node-cron engine that scans active contracts, schedules upcoming payout cycles and raises admin-approval requests — written to be idempotent so re-runs never create duplicate payouts.
- Stripe-powered payments: customer and subscription management for recurring SIP charges, wired through a dedicated payment service with publishable-key handoff to the front-end.
- Automated PDF contract generation via PDFKit — dynamically rendered lump-sum investment contracts with company logo and signature, then delivered to investors by email.
- A guided KYC onboarding flow with multi-step signup progress tracking, identity-document upload, bank-account and beneficiary management, plus a referral/affiliate program.
- A React 18 admin back-office (MUI + Tailwind + Recharts) for fund/NAV management, investor accounts, payouts, redemptions, support tickets and CMS — backed by a hardened Express API with JWT + Google OAuth, OTP, security-event logging, Helmet, rate limiting and Sharp-processed secure uploads.
Architecture
Two investment engines
SIPs and lump sums are modelled separately — each with its own allocations, holdings, orders, transactions and redemptions — but both buy fund units priced against a shared NAV catalog with risk ratings, lock-in periods and payout frequencies. Repositories isolate the data access for each.
Idempotent payout engine
A node-cron job scans active payout contracts for cycles due soon, then creates payout requests gated on admin approval. It deduplicates before every write, so the cron is safe to run repeatedly and can never double-schedule or double-pay an investor.
Contract automation
Lump-sum contracts are generated as PDFs on the fly with PDFKit — branded with logo and signature, populated from the investor's contract data — and emailed automatically, replacing a manual document step with a repeatable pipeline.
Onboarding & security
A multi-step KYC signup captures identity documents, bank accounts and beneficiaries with progress tracking. Auth combines JWT, Google OAuth and OTP, with login-attempt throttling, password-change and security-event logging, plus Helmet, mongo-sanitize, HPP, rate limiting and validated file uploads.
Outcome
A complete, deployed investment platform at pentagon.barodaweb.org — pairing an investor-facing portal with a full admin back-office over one Node/Express + MongoDB API, and automating the parts that matter most in fintech: recurring payments, contract paperwork and scheduled payouts.
More work
Syncro
A high-performance Solana indexing platform: write a transform in the browser, and stream structured on-chain data straight into your own Postgres — no proprietary schema, no lock-in.
Full-Stack · Multi-Panel E-CommerceFoneXpress
A production e-commerce platform for smartphones and electronics in Kenya — one Node/Express + MongoDB backend powering a customer storefront plus admin, store-operations and franchise dashboards, with real-time M-Pesa payments, multi-courier delivery and multi-warehouse inventory.
AMM SolanaCLMM
A Concentrated Liquidity Market Maker built from scratch on Solana.