Back to projects
Mobile / Puzzle Game beta

Screw Sort Lab

Pour pastel screw stacks into tidy tubes on a calm hardware bench.

Screw Sort Lab is a colour-sort puzzle set on a pastel hardware bench. Tap a tube to pick it up, tap another to pour — matching tops pour as a run, and a full mono tube caps itself. Sixty hand-tuned levels across six chapters feed into an endless generated Free Bench once the campaign is done.

Key Features

Sixty hand-tuned levels, then endless. Six chapters where the rule set grows under you — from two-colour basics to bigger palettes, hidden screws, and capped tubes. Past the campaign, the Free Bench hands you generated trays that are solvable by construction and never repeat.

A daily layer over all of it. One shared tray per UTC day, a return streak that lifts hints, and a Daily Challenge that fits wherever the game fits without crowding it.

Deliberately calm, and that is a design rule. Undo is free and unlimited. Pour arrows light up when you are new; the game withdraws them later. Refused moves cost nothing but a moment, and the tray does not remember them.

Same game on the web and on Android. One codebase, three payloads. The Android build is the same engine wrapped in Capacitor and published as Screw Sort on Google Play.

Offline-only, by choice. The Android manifest declares VIBRATE and nothing else. No INTERNET, no analytics, no crash reporting, no ads, no account. Progress and stars stay on the device; uninstall clears them.

Project Info

Status
beta
Category
Mobile / Puzzle Game

Architecture

How the pieces fit together.

Bundle (web payload)Load in WebViewSave / load progressOptional vibrationVite + TypeScriptPixiJS Game EngineCapacitor Android ShellOn-device PreferencesCapacitor Haptics

Tech Stack

The tools behind the build.

Frontend

PixiJS v8
2D renderer and game scene (board, screws, animations)
TypeScript
Game logic, level generation, solver, and persistence
Vite
Web bundle for the CrazyGames, itch.io and Android payloads
Capacitor 8
Android shell around the web payload, plus native plugin bridges

Infrastructure

Capacitor Preferences
On-device save (progress, stars, daily streak, settings)
Capacitor Haptics
Optional vibration feedback for pours and refusals
Android
Signed .aab release for Google Play (min SDK 24, target 36)