Developed Capital Manager, a full-stack financial tracking application designed to streamline personal expense management. The system was built as a Single Page Application (SPA) supported by an Express backend and a PostgreSQL database, prioritizing data integrity and real-time synchronization.
![]()
Architecture & Tech Stack
Frontend (Client-Side)
- Core Framework: Bootstrapped with React (v19.2.5) via Vite, styled with Tailwind CSS, and integrated Chart.js for interactive data visualization.
- State Management: Handled via a Context-based global system (
ExpenseContext.jsx), utilizingPromise.allfor concurrent API calls to keep UI state consistent after database writes. - Localization & UI Layers: Implemented UI components, dual-language localization (English and Indonesian), and a privacy masking toggle (
Eye/EyeOff) to obscure sensitive financial figures on demand.
Backend Infrastructure & Database
- Server Environment: Built on Node.js and Express (v5.2.1). Deployed as Vercel serverless functions via Express route handlers.
- Database Schema: Designed a normalized PostgreSQL relational database consisting of
users,accounts,categories, andtransactionstables. - Data Integrity: Enforced atomic ledger balance updates within SQL transactions (
BEGIN ... COMMIT) to ensure consistent wallet-to-wallet transfers and prevent race conditions.
Security Operations
- Authentication: Configured stateless authentication via JSON Web Tokens (JWT), verified against HTTP Authorization headers.
- Cryptography: Implemented password salting and hashing via Node's native
crypto.randomBytes(16)andcrypto.scryptSync(). - Traffic Control: Built a custom in-memory rate limiter using a Map-based IP tracker that caps requests at 1,000 per 15-minute window per IP to mitigate abuse.
Core Competencies
React, Node.js, Express.js, PostgreSQL, Web Security, State Management, REST API Architecture
