All projects
Account transfers · Case studyDemo coming soon

Transfer Tracker

End-to-end tracking for incoming account transfers across custodians: stages and exceptions, asset-level detail, transfer forms filled from the account record, and fee reimbursements.

Role
Design and engineering
Users
Transfer team and advisors
Stack
Next.js · Prisma · Postgres
Links
Live demo soon
Live demo in progress

Overview

End-to-end tracking for incoming account transfers across custodians: stages and exceptions, asset-level detail, transfer forms filled from the account record, and fee reimbursements.

The problem

Transfers were tracked in a spreadsheet while the real status lived in each custodian’s portal. Rejections surfaced late, partial transfers left residual positions behind, and transfer fees were reimbursed late or not at all.

What I built

  • A board showing every transfer by stage, with its value and time in stage.
  • A custodian directory with transfer types, fee schedules and contact methods.
  • Asset-level detail: what moves in kind, what must be sold first, and what stays behind.
  • Transfer forms generated from the client and account record.
  • Fee reimbursements calculated from the delivering custodian’s schedule.
  • An advisor view scoped to the advisor’s own households.

Key decisions

Exceptions are a stage

Rejected and stalled transfers get their own column and a reason, so they cannot hide among routine work.

Custodian rules are data

Fees, contact methods and quirks live in records with the date each was last confirmed.

Generate forms, never retype

Form fields map to the account record, so a typo in a name cannot cause a rejection.

Archive, never delete

Records are soft-deleted, so the full history of a transfer survives a mistake.

Architecture

Production
Transfer teambrowser
Next.js appboard · forms · fees
Postgrestransfers · custodians
Statement Analyzerasset classification
Public demo
Cloudflare Workertransfers.jeremyhamann.dev
Containersame app · demo build
Neon Postgressynthetic seed · nightly reset

Next.js · React · Prisma · Postgres · pdf-lib · Zod

The demo

Custodians are fictional, clients come from the shared synthetic firm, and the daily digest is captured inside the demo instead of being sent.

Live demo in progress

This demo is being rebuilt on synthetic data. This page will link to it when it ships.

Coming soon