← Back to work
WingShooter product preview
wingshooter.app

Project Case Study

WingShooter

Shipped a playable real-time browser game under deadline — proving collision logic, game state, and team coordination.

WingShooter is a collaborative browser game where players shoot targets, dodge threats, and chase high scores through fast-paced, real-time interaction loops.

Role
Role · Software engineer — gameplay mechanics, state, and UI (team project)
Timeline
Timeline · 2022 · 5-day team sprint
TypeScriptReactRedux ThunkNode.jsExpress.jsMongoDB
Status
Live
Delivery
Team sprint
Timeline
5 days

01 — Problem

What problem does it solve?

Browser games must handle continuous input, collision detection, and score updates without frame drops or unpredictable state — especially when multiple systems update in parallel.

02 — Origin

How the idea took shape

Built during an intensive team sprint at Masai School, WingShooter started as a construct-week challenge: clone real-time gameplay mechanics in the browser within days. The goal was to stress-test state management, event-driven updates, and performance under tight timelines — skills that translate directly to real-time product UIs.

03 — Role

My role

  • Implemented player controls, bullet mechanics, collision detection, scoring logic, and sound feedback.
  • Managed gameplay state with Redux Thunk for predictable action-driven updates.
  • Collaborated with teammates on API integration and delivery within a fixed sprint window.

04 — Challenge

The challenge

  • Maintaining smooth real-time interactions while processing collision and score updates every frame.
  • Coordinating frontend gameplay logic with team-owned backend APIs under a 5-day deadline.
  • Preventing performance degradation as event listeners and state updates stacked during active play.

05 — Approach

The approach

  • Componentized game surfaces — controls, targets, scoreboard — for isolated render boundaries.
  • Built an event-driven collision and scoring pipeline tuned for responsive feedback loops.
  • Used Redux Thunk to orchestrate async gameplay actions without race conditions.
  • Performance-conscious render updates to keep animation-heavy interactions smooth in the browser.

06 — Outcomes

Key outcomes

  • Delivered a playable browser game with live deployment and collaborative team execution.
  • Strengthened real-time state management skills applicable to live dashboards and notification systems.
  • Demonstrated ability to ship under deadline — relevant to fast-moving SaaS product teams.

07 — Differentiator

What makes this different

  • Real-time systems proof — not a static landing page or form-based CRUD app.
  • Team collaboration with clear ownership of gameplay frontend under production-like pressure.
  • Shows debugging and performance instincts that carry over to Omniful's real-time order tracking work.

08 — Gallery

Product screens

WingShooter avatar selection screen with level picker and play button
Avatar and level selection before entering live gameplay.
WingShooter start screen with name entry modal
Player onboarding flow with name entry and game start.