VENNStart
Work / 2023–2026

What I've built.

A map of Vietnamese history, a social app, a car-rental marketplace, a coffee brand site and a few online shops. On some I built the whole app, on others only the front end.

  1. Việt Niên Sử
    01 / 2026

    Việt Niên Sử

    A map of Vietnamese history I built to watch the territory change era by era, from Văn Lang to today. MapLibre in 2D and 3D, a timeline, sourced events with a page each, and a mode that compares two years side by side.

    • Next.js 16
    • React 19
    • TypeScript
    • MapLibre GL
    • GeoJSON
    • Vercel
  2. Sosifie
    02 / 2026

    Sosifie

    A social app I'm building on my own: a Next.js client, an Express API on PostgreSQL and a separate trend crawler. Chat runs on Socket.IO, with typing indicators, read receipts and messages that delete themselves.

    • Next.js
    • React
    • TypeScript
    • Node.js
    • Express
    • PostgreSQL
    • Prisma
    • Socket.IO
    From the blogBuilding chat with Socket.IO and Next.js: bugs I hit in Sosifie
  3. Sigo
    03 / 2025

    Sigo

    A car-rental marketplace in Vietnamese and English. Renters filter cars on a map and book delivery; owners manage listings, trips and payments. On the team, I set up the Next.js 15 app and its routing and kept the old URLs working.

    • Next.js 15
    • React 19
    • TypeScript
    • next-intl
    • Google Maps
    • React Bootstrap
    • Styled Components
    • Sass
    From the blogMoving a car rental site to Next.js without breaking URLs
  4. Ajuma Garden
    04 / 2025

    Ajuma Garden

    A shop for fruit, vegetables and flowers that I moved from Create React App to the Next.js 15 App Router. Search, cart, wishlist and quick orders for customers, and a CoreUI admin for banners and editorial content.

    • Next.js 15
    • React 19
    • Redux
    • Firebase
    • CoreUI
    • Styled Components
    • Sass
    From the blogWhy caching the menu hid my Next.js shop’s admin buttons
  5. Viet Lasa Coffee
    05 / 2024

    Viet Lasa Coffee

    A coffee brand site built around long scroll stories, on Next.js 15 and Sanity. Headings animate in with GSAP and ScrollTrigger. The content is in Sanity, and I tried its Visual Editing, which lets you change text right on the page.

    • Next.js 15
    • React 18
    • Sanity
    • GSAP
    • ScrollTrigger
    • Styled Components
    • Zustand
    • Resend
    From the blogMaking GSAP ScrollTrigger wait for Next.js page transitions
  6. Mộc
    06 / 2024

    Mộc

    A WooCommerce store on WordPress and Elementor Pro. I made the product layouts, the variation swatches and the bundles, and kept it simple enough that the owner updates products every day without calling a developer.

    • WordPress
    • WooCommerce
    • Elementor Pro
    • PHP
    • MySQL
  7. Zing MP3 clone
    07 / 2023

    Zing MP3 clone

    A Zing MP3 clone I built to learn React. Music keeps playing as you move between pages, with search, queues, playlists and downloads. Redux Toolkit holds the player state.

    • React 18
    • Redux Toolkit
    • React Router
    • React Player
    • Styled Components
    • Axios
    • FileSaver
    From the blogKeeping music playing across React routes with Redux Toolkit