← Back to projects

Tic-Tac-Toe PWA

A modern Tic Tac Toe game built with Vue 3 — single-player vs. computer (minimax), local two-player, and a polished PWA experience.

Vue 3TypeScriptVitePWATailwind CSSPinia
Tic-Tac-Toe PWA

A modern Tic Tac Toe game built with Vue 3, featuring single-player vs. computer, local two-player, and a polished PWA-ready experience.

Highlights

  • Two game modes – Local two-player (take turns on the same device) or vs. Computer with configurable difficulty (easy, medium, hard)
  • Computer opponent – Minimax-based algorithm; hard mode is unbeatable
  • Undo moves – Step back one (two-player) or two (vs. computer) moves
  • Stats & scoreboard – Per-mode win/draw tracking stored in localStorage
  • Sound effects – Move, win, and draw sounds (toggleable)
  • Accessibility – ARIA labels, keyboard focus, reduce motion option
  • PWA – Installable with offline support via Workbox
  • Responsive – Works on desktop, tablet, and mobile

Tech stack

  • Vue 3 – Composition API and reactive game logic
  • Vite – Build tool with HMR and optimized production output
  • TypeScript – End-to-end type safety
  • Tailwind CSS 4 – Utility-first styling
  • Pinia – State management for preferences and stats
  • PrimeVue – UI components
  • Lucide Vue – Icon library
  • vite-plugin-pwa – Workbox-backed PWA with offline support
  • Vitest & Playwright – Unit and e2e testing