Case study
Da Bag Club
Goal-Based Savings with Automated Bank Transfers
Role
Scope
Stack
Live
What I built.
- 01
Built the product end to end, from turning the client’s idea into a working system through to deployment.
- 02
Users sign up with a text-message code, pick a goal and a savings challenge, and connect their bank account securely.
- 03
Money moves from checking to savings on schedule (daily, weekly or every two weeks), automatically or with a reminder.
- 04
Each day’s deposit is revealed on a scratch card, with progress meters, charts and reports toward the goal, and push notifications when a deposit is due or money has moved.
- 05
Three revenue streams built in from day one: Pro subscriptions, optional tips and a cancellation fee.
- 06
A background engine collects deposits, sends reminders and closes finished or abandoned plans with no one stepping in.
- 07
Built the admin panel the owner runs the business from: users, running, completed and cancelled plans, earnings from tips and fees, the goal catalogue and the savings challenge templates.
- 08
Encrypted bank links and transaction records, set up separate development, staging and production environments, and documented the API so the mobile app could be built alongside it.
- 01
Express and TypeScript API on MongoDB with about 18 domain modules and about 60 REST endpoints, each module documented for the mobile and admin teams.
- 02
Plaid Link and Dwolla processor tokens for bank linking, verified Dwolla customers, and scheduled ACH transfers.
- 03
Fixed and random schedule generation with one record per plan day, across daily, weekly and bi-weekly frequencies.
- 04
Agenda jobs per plan for auto-payments, reminders, auto-scratch, completion and auto-cancel, run in each user’s timezone and re-registered from a job log at boot so a deploy never stops a scheduled payment.
- 05
Twilio SMS OTP login, Apple receipt validation for Pro, and FCM push with a stored notification inbox.
- 06
An admin sub-app behind auth and admin guards with its own OTP login that admits only admins, and the admin web panel on top: KPI dashboard, plans, users, goals with S3 image upload, challenge templates, earnings and cancellation reasons.
- 07
AES encryption at rest for bank tokens and transaction references, a key-rotation tool, and audit logs for every important operation.
- 08
Dev, staging and production profiles, deployable to Heroku or to AWS EC2 under PM2.