ESACC — Petty-cash audit system
How an organization with many branches keeps its petty cash honest
ESACC walks petty-cash expenses through a five-stage audit flow (draft → sent → in review → change requested → transferred) and keeps each branch's data separate from the others — without an extra database hit, because the authorized branch IDs travel inside the JWT itself. Five role levels, S3-backed receipts, and PDF/Excel reports for the accountants.
Role: Full-stack developer
Java 17 Spring Boot 2.6 JWT AWS S3 OpenPDF Apache POI React 17 ECharts
Nouvelle Soleil — Sales & delivery platform
A mobile-first sales operation for a distribution business
The sales team places orders from a React Native app, the back office runs purchasing and inventory in a PHP/MySQL ERP, and dispatch coordinates delivery routes in an Angular Ionic logistics app. Three surfaces, one operation — and I worked across all of them.
Role: Full-stack developer across mobile, back-office, and logistics
React Native Expo / EAS PHP 8 MySQL Docker Angular Ionic Node.js
Reactive microservices
A weekend deep-dive into non-blocking Spring
A small pair of services — a reservation server and its client — plus a couple of playgrounds for exploring Reactor and Spring WebFlux. Written years before I used reactive patterns in production; kept on the list because it's where I first understood backpressure.
Role: Solo developer · self-study
Java Spring WebFlux Reactor
GitHub →