Back to Portfolio

Pizza Cutter

Arcade Slicing Game — built for the 2026 Colorado Pizza Festival

Live — playable in the browser; Android release in progress
Play it
Pizza Cutter on three phones: the order ticket, a round pizza mid-cut, and a scored square pizza

Overview

Pizza Cutter is a touch game built for the Howarth Tech Solutions booth at the 2026 Colorado Pizza Festival in Longmont. A run is three pizzas — round, square, round — and each must be cut into eight equal slices with four straight cuts in twelve seconds. Dotted guides show the ideal cuts during the countdown, then disappear; cuts are permanent.

Every cut is real geometry: the pizza is split into polygons, and the score measures how close the result is to eight equal pieces, multiplied by a speed factor that only counts when the cutting is accurate. Scores post to an online leaderboard by day, week and all time. The same game is being packaged for Android with Capacitor, adding achievements and Google Play Games.

3
Pizzas per Run
8
Equal Slices, 4 Cuts
12s
Per Pizza
15
Achievements

Built by Howarth Tech Solutions.

Tech Stack

No framework and no bundler — plain ES modules, a 2D canvas and a small server API.

JavaScript (ES modules)
Game shell and engine, no bundler
Canvas 2D
Pizza, cuts and effects rendering
Web Audio API
Sound, unlocked on first touch
PHP 8 + PDO
Leaderboard API on the HTS server
Capacitor 7
Android shell around the web game
Play Games Services v2
Achievements and leaderboard on Android
Node test runner
30 engine tests, no browser needed
Service worker
Installable, works on a weak booth connection
Architecture Highlight

The geometry, gesture and scoring code are pure modules with no DOM access. The renderer works in pixels and the engine in abstract units, so the same engine runs in the browser, inside the Android app, and under Node for the test suite.

Key Features

A short, readable rule set — and a score that rewards cutting well, not swiping fast.

🍕

Three-Pizza Runs

  • Round, square, then round again
  • Eight equal slices from exactly four cuts
  • Twelve seconds per pizza, or it scores zero
  • Order tickets show what’s next
🎯

Guided, Permanent Cuts

  • Dotted guides during the countdown
  • Cuts land edge to edge and can’t be undone
  • “Great cut” feedback as you go
  • Practice modes for round and square
📊

Transparent Scoring

  • Score = 20,000 × accuracy × speed
  • Pieces, even slices and speed shown per pizza
  • Speed bonus up to +30%, only for accurate cuts
  • Final run summary with average accuracy
🏆

Online Leaderboard

  • Today, this week and all-time boards
  • Best run per device
  • Name filter and rate limiting on submit
  • Plays offline; posts when there’s signal
🏅

Achievements

  • 15 trophies, from First Slice to Master Cutter
  • Unlock toasts during play
  • Trophy shelf with unlock dates
  • Mirrored to Google Play Games on Android
📱

Built for a Booth, Then a Phone

  • Kiosk mode for the festival tablet
  • Wake lock and inactivity reset
  • Installable as a web app
  • Android build in progress with Capacitor

Screenshots

Order ticket to trophy shelf, on a phone.

Pizza Cutter menu with the first order ticket Countdown before the first pizza A round pizza after two cuts A square pizza being cut Score breakdown for a square pizza Achievements trophy shelf

Technical Highlights

The engineering behind a game that has to feel fair to a stranger in ten seconds.

📐

Polygon Cutting Engine

A pizza is a set of convex polygons. A straight cut always splits a convex polygon into two convex polygons, so splitting stays simple and exact no matter how many cuts cross. Each edge records whether it is crust or a cut face, which drives both the rendering and the scoring.

✋

Gesture to Straight Cut

Players wiggle, curve and overshoot. The gesture module turns a raw swipe into the straight line the player meant, then the engine checks that it crosses the pizza edge to edge. A swipe that misses is a miss, not a random slice.

⚖

Accuracy-First Scoring

Accuracy combines the piece count, how much of the pizza sits in the wrong slice, and how consistent the slice shapes are, minus penalties for slivers and misses. Speed multiplies the result but is gated by accuracy, and a test proves a slow, perfect run beats a fast, sloppy one.

🧪

Engine Tested Without a Browser

Geometry, gesture and scoring have no DOM dependencies, so 30 tests run directly under Node: equal-division cases, edge-to-edge detection, sliver handling and score ordering. The tuning constants live in one config object, not in the code.

📡

Leaderboard API

A small PHP endpoint on the HTS server keeps the best run per device, accepts each submission once (idempotent by run), filters names and rate-limits posting. The festival version also checks run timing on the server.

📱

Native Features Through a Local Plugin

No published plugin covered Capacitor 7 with both Play Games achievements and leaderboards, so the Android build carries a ~100-line Play Games Services v2 plugin. On-device achievements are the source of truth and are mirrored to Play Games when the player signs in.

What This Demonstrates

A small game with real engineering under it, shipped to a live event.

📐
Computational Geometry
Exact polygon splitting and area measurement driving gameplay and scoring
✋
Touch Interaction Design
Turning imprecise swipes into the cut the player intended
⚖
Scoring You Can Defend
A published formula, tuned in one place and proven by tests
🎪
Shipping for a Live Event
Booth kiosk mode, offline tolerance and a public leaderboard on festival day
📱
Web to Native
One codebase moving from browser to an Android app with Play Games
⚡
Framework-Free Performance
Plain ES modules and Canvas 2D, fast on low-end phones

Want a game or interactive experience built?

Pizza Cutter went from idea to a festival booth with a live leaderboard. If you have an event, a promotion or a product that needs something people will actually play, let’s talk.

Get In Touch Play Pizza Cutter

Frequently asked questions

What is Pizza Cutter built with?

Plain JavaScript ES modules and Canvas 2D with no framework or bundler, a PHP leaderboard API, and Capacitor for the Android build.

How does Pizza Cutter score a cut?

Each cut splits the pizza into exact polygons. Accuracy measures how close the pieces are to eight equal slices; speed multiplies the score only when the cutting is accurate.

Can Howarth Tech build a game or interactive experience for an event?

Yes — Pizza Cutter was built for a festival booth. See our software development service to start a project.

Related services & work

Want something like this built?

Tell us what you have in mind and we'll come back with an approach and a flat quote — no obligation.

Get a free quote See more work