DemoFull-stack app implementation
paypulse
A payment-style full-stack app focused on authenticated transfers, balances, and transaction integrity.

Problem
Money movement interfaces require trust: users need clear balance state, authenticated actions, and backend operations that do not leave data half-updated.
Architecture
- React provides the transfer and balance interface.
- Express handles authentication, user lookup, and transfer routes.
- MongoDB stores users, account balances, and transaction records.
- Validation and JWT auth protect the core request flow.
Key decisions
- Used schema validation to keep transfer payloads predictable.
- Treated balance updates as a backend responsibility instead of trusting client state.
- Kept the UI focused on core actions: checking balance and sending money.
Tradeoffs
- MongoDB is fast to iterate with, but financial systems need very careful transaction boundaries.
- A demo can show flow and architecture, but real payments would require compliance and deeper audit trails.
What I learned
- Financial-style apps force stronger thinking about consistency and edge cases.
- The backend contract matters more than UI polish when state represents value.
Stack
ReactJSExpressJSMongoDBTailwind CSSZodJWTDatabase Transactions