Skip to content

Finance

Investment Partnership Fund Management Platform

Reviewed bookkeeping, linked cash, position and return ledgers, a lifecycle state machine and automatic US market data sync.

LiveFinanceFocused projectPC console

Not investment advice

Client
Small investment partnershipUndisclosed by agreement
Industry
Finance
Platforms
PC console
Scale
Focused project · 2025

01Background

The client is a small investment partnership: members pool capital, and a designated member manages the brokerage account and keeps the books. Contributions, positions and returns used to be reconciled through chat messages and spreadsheets, leaving members with nothing but totals. Before formalizing the partnership and admitting new members, they needed a ledger that was transparent internally and auditable.

Client
Small investment partnership
Asset scope
Mainly US equities and ETFs
Users
Admins (trading / bookkeeping), contributing members
Platform
Web admin console (desktop)

02Challenges

1Scattered books

Funds sat in the manager’s brokerage account; members saw totals, never individual movements.

2Ad-hoc contributions

Who put in what, and when, lived in chat logs and spreadsheets with no common format.

3Unclear returns

Realized and unrealized P&L were lumped together, so members’ numbers never matched.

4No phase boundaries

Fundraising, investing and wind-down had no hard rules, inviting mid-term top-ups and other errors.

Before growing, contributions, positions and returns needed one auditable, reconcilable ledger.

03Solution

Shanku built a web admin console that turns deposits, withdrawals, buys and sells into documents that only hit the books once approved. A single approval updates the cash, position and P&L ledgers together, while a fund lifecycle state machine governs what each phase allows.

Post on approval

Deposits, withdrawals, buys and sells are separate documents posted only after approval; trades and withdrawals can’t be reversed.

Three ledgers, one transaction

Each approval writes cash entries, records realized P&L, rebuilds positions and refreshes fund totals in one serializable transaction.

Lifecycle state machine

Four states — Not started, Active, Settled, Closed — each allow specific documents, enforced in both UI and API.

Hard business rules

No launch with pending deposits; withdrawals capped at balance; members with deposits or assets with trades can’t be deleted.

Automated US market data

Closing prices are pulled hourly in batches via the Polygon API, rate-limit aware, with position values recalculated.

Realized vs. unrealized

The P&L ledger records only realized gains from sales; current profit including market value is shown separately.

04Core workflow

Fund lifecycle and approvals

  1. 1

    Create fund

    Set name, type and term

  2. 2

    Deposits

    Record and approve contributions

  3. 3

    Launch

    No pending deposits; lock capital

  4. 4

    Trades

    Approve buys/sells; ledgers sync

  5. 5

    Settle

    Stop trading, open withdrawals

  6. 6

    Withdraw

    Pay out within remaining balance

  7. 7

    Close

    Ledger becomes read-only

Each state unlocks only its own documents: no deposits after launch, withdrawals only after settlement, read-only once closed.

05Results

Every entry traceable

Each cash movement records type, amount change, balance, source document and notes, with drill-down from the fund page.

Ledgers that reconcile

Cash equals the sum of entries, positions are rebuilt from approved trades, and P&L sums realized gains — fixed definitions.

Errors blocked by design

State checks in both UI and API make mid-term top-ups or pre-settlement withdrawals impossible.

Ready to onboard

Every member’s contributions and each phase’s books live in one system, giving new members a common record.

06Screens

Fund overview and key totals
Trade entry and approval
Positions and market data sync

Screens are prototypes or rebuilt with sample data. They contain no real client data, amounts or accounts.

07Tech stack

Backend
Midway.jsTypeORMCool-Admin (Node.js)
Frontend
Vue 3Element Plus
Data & integration
MySQLPolygon.io market data APICron scheduler
Deployment
Linux serverScheduled database backupsSecrets via environment variables

This case study showcases software development capability only and does not constitute investment advice. Screens are illustrative and contain no real amounts, holdings or accounts.

Facing a similar challenge?

See how we work together: from requirements and prototypes to launch and handover, every step is spelled out in advance.