Language
Vanilla JavaScript and PWAs
We write plain JavaScript where a framework would be overhead: canvas games, embedded widgets, and progressive web apps that must stay small and start instantly.

Usage
What we build with Vanilla JS and PWAs
- Canvas rendered games and simulations with a fixed timestep loop
- Embedded widgets that load inside someone else page
- Progressive web apps with service workers and offline storage
- Interactive visualisations and configurators
- Lightweight enhancement on otherwise static pages
Rationale
Why we choose it
Nothing to download
A widget or a game that ships without a framework starts faster and stays measured in kilobytes, which matters most on the slow connections where these run.
Full control of the frame budget
A render loop that draws every frame has no room for a reconciliation pass it did not ask for.
No dependency on a framework lifecycle
An embedded widget has to coexist with whatever the host page is running, which is simpler without a second framework in the tab.
Practice
Architecture patterns we use
Fixed timestep with interpolated rendering
Simulation advances in fixed increments and rendering interpolates, so behaviour is identical regardless of frame rate.
Shadow DOM for embedded widgets
Styles are encapsulated so the host page cannot break the widget and the widget cannot break the host page.
Service worker with a versioned cache
The application shell is cached under a version, and an update activates cleanly without stranding an open tab.
Structured local storage with migrations
Saved state carries a version and a migration path, so an update does not invalidate what a user has already done.
Related work
Case studies to explore
These projects share relevant engineering concerns. Each study identifies its documented technology choices.
- Browser-Based Idle Tycoon GameA delivered browser idle tycoon game with a vanilla JavaScript canvas engine, progression system and upgrade economy.
- Weightlifting Video Analysis ApplicationComputer vision bar path tracking and 3D skeleton replay in a premium light sports UI, with plate color semantics and reduced motion accessibility.
- AI Fitness Coaching ApplicationAn AI coaching PWA with Supabase authentication and data, Groq inference using Llama 3.3 70B, and private network deployment.
Writing
Articles about Vanilla JS and PWAs
- 26 September 2026 · 4 min readOffline job notes without losing office changesDesign a technician workflow that preserves field observations during a connection loss while keeping assignment and approval decisions authoritative.
- 26 September 2026 · 4 min readCleaning attendance exceptions without false proofUse check-in signals to find uncovered shifts while recognising the limits of location, shared devices and site codes.
- 26 September 2026 · 4 min readDaycare and boarding reports built during the shiftCapture useful observations as care work happens, then review what is shared with the household without turning photos into the only record.
Build with our Vanilla JS and PWAs engineers
Tell us what you are building and what it has to connect to. We will come back with an approach, a scope and what it would take.
- A mutual NDA is signed before project details are shared.
- Scope is fixed in writing before any build starts.
- You own the source code, the IP and the documentation at delivery.
- Support plans are available and tailored on a discovery or technical call.