Skip to content
Vince.

Lab

Things you can play with

Everything here runs in your browser — no server, no database, no account. The tuner needs microphone permission, requested only when you press start, and the audio never leaves the page.

Products

Product · Booking · Pricing

Resort booking

Availability that counts units, not overlaps

The booking half of a resort site: per-night availability across room types, seasonal and length-of-stay pricing, and refusals that name the night that blocked the stay rather than shrugging.

  • TypeScript
  • React
  • Vitest

Open demo

33 tests

Product · Reservations · Menu

Coffee shop

Reservations that know a table is busy for ninety minutes

Table reservations with turn times and table combining, plus a menu whose modifiers actually affect the price. Slots are offered only when a real table can seat the party for as long as it will be sitting there.

  • TypeScript
  • React
  • Vitest

Open demo

31 tests

Product · Inventory · Billing

Sari-sari store

Stock as a ledger, so a wrong count can be explained

Inventory, costing and billing for a neighbourhood shop. Quantities are derived from stock movements rather than stored, costs are weighted-average, and receipts extract VAT from prices that already include it.

  • TypeScript
  • React
  • Vitest

Open demo

33 tests

Product · Identity · Consent

CRM

Knowing that three records are one person

One CRM across the resort, the coffee shop and the store. Scored identity resolution rather than a customer table, segments derived from transactions rather than tags, and consent that has to be proved before anybody can be contacted.

  • TypeScript
  • React
  • Vitest

Open demo

55 tests

Browser audio

Web Audio · DSP

Tuner

Real-time pitch detection from the microphone

A chromatic instrument tuner that listens through the microphone and reports the note and its deviation in cents. The pitch detection is a from-scratch implementation of the YIN algorithm — no library — and it is accurate to under a cent on synthetic signals.

  • Web Audio API
  • TypeScript
  • Canvas

Open demo

Web Audio · Timing

Sequencer

Sample-accurate drum machine with synthesised voices

A step sequencer whose timing does not drift, does not stutter under load, and does not fall apart in a background tab. Every drum sound is synthesised from oscillators and shaped noise, so the whole instrument ships as zero bytes of audio assets.

  • Web Audio API
  • TypeScript
  • React

Open demo

Search · Music theory

Fretboard

Chord shapes derived, not tabulated

An interactive fretboard that finds playable fingerings for any chord in any tuning by searching the neck under physical constraints. It ships no chord dictionary, which is why it works in tunings nobody has tabulated.

  • TypeScript
  • SVG
  • Web Audio

Open demo

Audio requires a user gesture to start, so nothing plays until you press a button. Best with headphones for the tuner, to keep the speakers out of the microphone.