All projects
04fullstack2026

Langkahku

A Progressive Web App for online drivers to manage income, expenses, savings, and withdrawals with transactional consistency.

RoleFullstack Developer
StatusLive
Stack10 technologies
VisibilityPublished
15+REST API Endpoints
100%Transactional Consistency
3Financial Modules
PWAInstallable Web App

LangkahKu is a fullstack Progressive Web App (PWA) developed to help online drivers manage their finances more effectively. The application allows users to record income, expenses, savings, and withdrawals while maintaining accurate financial calculations and transaction consistency. The project scope covered the entire development lifecycle, including authentication, financial dashboards, savings management, withdrawal systems, MongoDB transaction handling, responsive interfaces, and PWA implementation. The main objective was to build a simple yet reliable financial tracking system that can be used daily on both desktop and mobile devices.

The problem

Online drivers often manage their finances manually through notes, spreadsheets, or messaging apps, making it difficult to track actual profits, savings, and cash availability accurately. One of the biggest challenges was maintaining financial consistency across multiple related entities. For example, withdrawing money from a savings category affects savings balances, withdrawal history, and savings usage history simultaneously. Without proper transaction management, partial failures could lead to inconsistent financial data. Additionally, users needed a mobile-friendly experience that behaves like a native app while remaining lightweight and accessible through a browser.

The solution

I built LangkahKu as a fullstack Progressive Web App using Next.js, Express.js, MongoDB, and TypeScript. To ensure financial consistency, I implemented MongoDB Transactions for operations involving multiple collections, such as savings withdrawals and balance restoration. This guarantees that related operations either succeed together or rollback completely when an error occurs. I also designed a snapshot strategy for historical records to preserve category names even after categories are edited or deleted. Atomic operations and ownership validation were applied to prevent race conditions and unauthorized data manipulation. On the frontend, I focused on creating a responsive and mobile-first interface with an installable PWA experience, allowing users to access the application easily across devices just like a native mobile application. The result is a reliable financial management system with transaction safety, responsive design, and a smooth user experience for everyday financial tracking.

NextJSTypeScriptTailwindCSSExpressJSMongoDBMongoosePWAnext-pwaReact Hook FormZod
  1. 01

    Financial Dashboard

    Provides a complete overview of income, expenses, savings, withdrawals, and available balance with automatically updated financial summaries.

  2. 02

    Savings Categories Management

    Users can create multiple savings categories, deposit funds, track balances, and manage savings independently for different financial goals.

  3. 03

    Savings Withdrawal System

    Supports withdrawing funds directly from savings categories with automatic balance adjustments and synchronized transaction history.

  4. 04

    MongoDB Transactions

    Critical financial operations are executed using MongoDB transactions to guarantee atomicity, rollback on failure, and data consistency.

  5. 05

    Transaction History & Snapshot

    Stores transaction snapshots to preserve historical records even when savings categories are renamed or removed.

  6. 06

    Progressive Web App (PWA)

    Installable web application with service worker support, responsive layouts, and a native app-like experience across devices.

  7. 07

    Responsive Mobile Experience

    Designed with a mobile-first approach to provide a seamless experience on smartphones, tablets, and desktop devices.

Frontend

Built with Next.js App Router, TypeScript, and Tailwind CSS. The frontend provides a responsive and mobile-first user interface for managing income, expenses, savings, and withdrawals with reusable components and optimized client-side interactions.

Backend API

RESTful API built using Express.js and TypeScript. Handles authentication, business rules, financial calculations, transaction management, and ownership validation across all financial operations.

Database

MongoDB with Mongoose ODM for schema modeling and data management. MongoDB Transactions are used to ensure atomic financial operations, rollback on failure, and maintain transaction consistency.

Authentication

JWT-based authentication with protected API routes and user ownership validation to ensure secure access to financial data and prevent unauthorized operations.

Progressive Web App

Implemented as a Progressive Web App (PWA) using next-pwa, including service workers, installable experience, offline capabilities, and responsive layouts for mobile and desktop devices.

06Gallery

Visual overview.

01Financial Dashboard Overview
02Income and Expense Management
03Savings Categories Management
04Transaction History