Project List

Web
Mobile
Game

Code Racers

Web
Game

Travel Quest

Mobile

Party Snail

Game


Code Racers

Web-based Coding & Typing Training Game

Web
Game
Code Racers Preview

Overview

Early-stage programming students often fall behind during live coding exercises due to slow typing speed and unfamiliarity with syntax. This project addresses both issues in a single, interactive environment.


Problem

First-year CS and software engineering students struggled to keep pace with in-class coding activities, limiting comprehension and engagement.

Solution

Developed an interactive platform that combines typing practice with real coding exercises, allowing students to build speed while reinforcing language syntax through repetition and competition.

Technologies

Frontend

Vue
Typescript

Backend

Node
Express
Socket.io

Key Features

  • Structured curricula for Python, Java, and JavaScript

  • Real-time multiplayer “code racing” mode

  • Live WPM and accuracy tracking

  • Language-switchable exercises for comparative learning

Technical Deep Dive

Component Architecture

Designed a modular Vue 3 frontend using a clear separation of pages, layouts, and reusable components. Leveraged slots to create flexible layouts, enabling consistent UI reuse while supporting varied content.


Dynamic Content System

Implemented a centralized “course sections” data model as a single source of truth. This powered both navigation and exercise rendering, allowing dynamic switching between languages and topics without duplicating logic.


Real-Time Multiplayer System

Built a race session manager using Socket.IO to handle:

  • Player connections/disconnections

  • Session state synchronization

  • Real-time progress updates across clients

On the frontend, clients subscribe to session events and render live race progress using percentage-based completion tracking.


User Experience Decisions

  • Left-side navigation for quick curriculum access

  • Tabbed interface for switching languages within the same exercise

  • Clear separation between Practice and Race modes to support different learning styles




Welcome to Zoe's Playground!

Update:

Currently working on Mobile Interactions. Please check back again soon!

Projects

Projects

Projects

Work Experience

Work Experience

Work Experience

About Me

About Me

About Me

Contact Me

Contact Me

Contact Me

Projects

Projects

Work Experience

Work Experience

About Me

About Me

Contact Me

Contact Me
|

Trash

Trash