A software engineer based in Ho Chi Minh, Vietnam. Specializing in Java/Spring Boot, RESTful APIs, and PostgreSQL.
I'm Duy Thong (Jayson) Phan, a software engineer based in Ho Chi Minh, Vietnam. I hold a Bachelor's in Computer Science from HCMUT and am working toward a Master's in Cybersecurity there, expected 2027. For the past 4+ years I've built production backend systems in the insurance domain, mostly with Java and Spring Boot, master-data services, KPI and payment engines, and the APIs and message-driven workflows behind them. I care about systems that stay correct under load, so I lean on careful API design and integration testing.
My day-to-day stack is Java, Spring Boot, PostgreSQL, and RabbitMQ, with Docker holding it all together. Outside of work I build full-stack and mobile projects to round things out a FastAPI music-recognition platform, a Flutter map app, and a few Python and AI experiments. I'm currently open to backend and software engineering roles; feel free to reach out.
Professional experience that I have accumulated over several years.
Projects I worked on. Each of them containing its own case study.
Mixtape: Music Streaming PlatformFull-stack music platform with Shazam-style audio recognition: tracks are FFT-transformed into spectrograms whose loudest peaks become fingerprint hashes in PostgreSQL, matched on a consistent time offset and robust to noise. Adds streaming uploads, dual-token JWT auth, and a social layer (follows, likes, comments, feeds).
Stack & deploy: FastAPI + SQLAlchemy 2 · PostgreSQL 16 · MinIO (S3) object storage · Next.js 16 / React 19 · TanStack Query + Zustand · Dockerized multi-service stack behind Caddy auto-HTTPS on a single VM.
IceCream Pusher: Sokoban AI SolverA playable Sokoban puzzle game with a built-in AI solver: A* search with a Manhattan-distance heuristic and deadlock pruning, benchmarked against a blind BFS baseline on states explored, time, and memory.
Stack & deploy: Python + Pygame · A* with admissible heuristic & deadlock detection · refactored to an async game loop and compiled to WebAssembly with pygbag (Pyodide) · runs fully in-browser, deployed as a static build on Vercel.
Veyo: Spatial Memory AppA social map app for remembering the places you have been and want to go, with a Spring Boot 3.5 / Java 21 backend and a Flutter client. PostGIS powers location-based "nearby" search; auth uses single-use rotating refresh tokens with session revocation on replay. The Flutter app wraps a custom Mapbox map where photos appear as pins and a tap uploads a new one to Cloudinary.
Stack & deploy: Spring Boot 3.5 / Java 21 · PostgreSQL + PostGIS (geospatial) · Flyway migrations · single-use rotating JWT refresh tokens · 80+ Testcontainers integration tests · CI via GitHub Actions · Flutter mobile (Riverpod, go_router, Dio) with a custom Mapbox map and Cloudinary uploads.
Please contact me directly at hello@jayphan.dev or through this form.