Selected work

Capstone product · May 2025 – Sep 2025

NgoaiNguNgay

A role-aware language-learning and tutor-booking platform with real-time one-to-one messaging and scheduling workflows.

NgoaiNguNgay desktop landing page
React / Vite / SignalR

Role and ownership

Built learner, tutor, staff, and manager interfaces and integrated resilient SignalR messaging into the React client.

Verified outcomes

Implemented message receipt, editing, deletion, unread state, and reconnection.

Delivered booking, offer, cancellation, and status-aware scheduling flows.

Structured 16 routed pages and 79 component files.

The challenge

Keep booking state and one-to-one conversation state clear across four roles while handling connection loss and schedule changes.

The approach

Role-specific surfaces share a consistent component model. SignalR events update messages and unread state with automatic reconnection, while bookings remain explicit and status-aware.

Architecture

Systems that stay understandable.

01

React and Vite client

02

Sixteen routed product pages

03

SignalR events with Redis pub/sub

04

Role-aware learner, tutor, staff, and manager flows

The product in motion.

NgoaiNguNgay desktop landing page
NgoaiNguNgay language learning illustration

Technology

ReactViteSignalRRedisTypeScript

Have a product that needs full-stack ownership?

Start a conversation