Ultra-Realistic Vinyl Player
A Thorens TD 115 MK II in the browser, modelled in 3D from 104 photographs. Slide the speed plate, drag the arm, lift the dust cover and scratch your own records.
MIT licence. Source on GitHub.
_ | | _ _ ___ __ _ ___ | || | | |/ __/ _` / __| | || |_| | (_| (_| \__ \ |_| \__,_|\___\__,_|___/
Record players, image editors, browsers, terminal tools, local AI, and games with my black labrador, Spot.Pick a way to browse my projects:
Click a choice, or type a number/name and press Enter.
Hi, I’m
I make things that run on your own device: record players, a Windows 9x desktop, image editors, private browsers, terminal tools, local AI, and games starring Spot the black labrador.
Three projects you can open now.
Finished things, works in progress, and forks. Each project lists its status and credits.
Try another search or explore all projects.
A Thorens TD 115 MK II in the browser, modelled in 3D from 104 photographs. Slide the speed plate, drag the arm, lift the dust cover and scratch your own records.
MIT licence. Source on GitHub.
An unofficial replica of both generations of the four-stem hardware player, in real-time 3D. Slide or isolate each stem, and split any song into stems on your own machine.
MIT licence. Source on GitHub.
A turntable in one HTML file, with a modelled motor, tonearm and record surface. Load your own music, drag the tonearm, scratch the record, flip it to side B.
MIT licence. Source on GitHub.
The same deck redrawn as pixel art, in one HTML file. It plays your own audio files in the colours of an NES, a Game Boy or a C64.
MIT licence. Source on GitHub.
The iPod Classic, playing the music on your own computer. Point it at a folder and browse it with the click wheel.
Fork of tvillarete/ipod-classic-js. MIT licence. Source on GitHub.
Checks whether a music file is as good as it claims: an MP3 dressed up as FLAC, or a hi-res file that is upsampled CD audio. No file leaves your device.
MIT licence. Source on GitHub.
An IINA-style video player for Windows and Linux. It plays what mpv plays, under controls of liquid glass that bend the video behind them.
GPL-3.0 licence. Source on GitHub.
A shop site for T-shirts and hoodies with Spot on them.
MIT licence. Source on GitHub.
A custom Next.js shop for the Black Lab Spots catalogue of 35 products, with Stripe checkout and Printify orders. Without keys, the checkout runs in a preview mode that charges nobody.
MIT licence. Source on GitHub.
A buildless storefront concept with a white canvas, mono labels and a three-column grid of all 35 Black Lab Spots products. Prices are a snapshot, and there is no checkout.
MIT licence. Source on GitHub.
A Windows 9x desktop built around an Excalidraw whiteboard, with a Start menu, Notepad, Minesweeper, Calculator and Clippy.
MIT licence. Source on GitHub.
miniPaint with a glass interface and tools that run a model on your own device: background removal, object selection and upscaling.
Fork of viliusle/miniPaint. MIT licence. Source on GitHub.
PhotoCraft is an open-source image editor written in Rust, with layers, masks and real PSD files. This is its web version with my additions; the PhotoCraft team does not publish or endorse it.
Fork of storytold/photocraft. MIT licence. Source on GitHub.
A raster and vector image editor in the spirit of Photopea. My fork gives the menus and dialogs a glass look.
Fork of koneb71/pikado. MIT licence. Source on GitHub.
A minimalist text editor. Notes live in the URL, in your own document library, or in a file you export.
Fork of antonmedv/textarea. MIT licence. Not published yet.
A photo and video library in the style of Photos. Your pictures, edits, AI tools and catalogue all stay on your computer.
MIT licence. Source on GitHub.
A retro game library. Normal mode runs emulated games and Doom in the browser, and terminal mode plays six original games in a real terminal. It includes no commercial ROMs.
GPL-3.0 licence. Source on GitHub.
A fetch game. Throw a ball across a park for Spot and look after him: he gets tired, hungry and thirsty. The game is in Dutch.
MIT licence. Source on GitHub.
A snake game in one HTML file. Spot licks up biscuits to grow, and has to mind the fence, the flowers and his own tail. Press AI plays and a small model steers him.
MIT licence. Source on GitHub.
Spot chases a laser dot around the living room and you keep it out of his paws. Three games, in 2D or 3D, and in 8-bit if you like.
MIT licence. Source on GitHub.

A rooftop cartoon with a musical saw, and Cannonball Capers, an asteroids game drawn the same way.
MIT licence. Source on GitHub.
Learn to code by writing real code: short lessons with hidden tests in JavaScript, Python, SQL and Linux, XP and streaks, eight looks, and Spot the tutor. All offline in your browser.
MIT licence. Source on GitHub.
A calm, private browser built on Zen: built-in ad and tracker blocking, stricter settings, Tor tabs, a randomized fingerprint and a silent mode that connects to nothing by itself.
MPL-2.0 licence. Source on GitHub.
An Arc and Zen style browser with Helium’s privacy defaults, for Arch Linux and macOS. Tabs in a sidebar on coloured spaces, a command bar, split view, four looks, and a CLI and MCP server for AI apps.
MIT licence. Source on GitHub.
A privacy layer for the Helium browser: an offline new tab, search that runs on your own Mac, a Tor switch with a kill switch, and a URL cleaner. Plus Archium Browser, a runnable browser with the same protection, three looks and a local assistant.
GPL-3.0 licence. Source on GitHub.
For files you want off your computer but not lost. It encrypts them into a local vault, uploads them to any cloud through rclone, checks every copy, then drops the local files. CLI, TUI and web UI.
MIT licence. Source on GitHub.
A file manager that runs in the browser, styled after the Finder with liquid glass. It works on real folders on your computer, and inside the Xiao browser it is the Library.
GPL-3.0-or-later licence. Source on GitHub.
A file converter that works between almost any two formats without uploading anything. My fork adds output settings for each conversion, and much more.
Fork of p2r3/convert. GPL-2.0 licence. Source on GitHub.
Private web search on your own Mac, in the style of 1998. SearXNG runs underneath without Docker, under a start page modelled on early Google in a Windows 98 window of liquid glass.
MIT licence. Source on GitHub.
Turns any website into a small Mac app. A page on your own Mac for the Pake command-line tool, with a build queue, a history, offline builds and phone pairing.
Built on tw93/Pake. GPL-3.0-or-later licence. Source on GitHub.
A QR code editor that looks like Windows 98, with liquid glass on its title bar and taskbar. It reads codes as well as making them, and 2.7 adds an Art look and animated GIFs.
MIT licence. Source on GitHub.
Free QR codes that do not expire. Pick the colours and put a logo in the middle.
MIT licence. Source on GitHub.
Aiko icons for AI interfaces, with 101 more of them and every icon named. Browse, search, recolour and download them on one page.
Fork of tw93/aiko. MIT licence. Source on GitHub.
Clippy on your web page, in plain JavaScript. An unofficial fan project. The character artwork belongs to its owner and is outside the MIT licence.
MIT licence. Source on GitHub.
A local-first AI agent with a one-command model manager for Hugging Face, GitHub and GitLab. It edits files, runs commands, browses and remembers, in a terminal or a web UI.
MIT licence. Source on GitHub.
Run AI models from a USB stick on macOS, Windows and Linux, with or without the internet. One small program plus a folder, with a terminal UI, a web UI and Open WebUI. Nothing is installed on the computer.
MIT licence. Source on GitHub.
A real Linux terminal in a browser tab. Install packages, play terminal games, then press Reset and it’s as if nothing happened.
MIT licence. Source on GitHub.
A terminal music player with a full-screen TUI, a mode that keeps your shell, a background daemon and a JSON-lines interface for scripts. It plays what mpv plays.
MIT licence. Source on GitHub.
A quiet place for your voice: local-first desktop dictation and meeting notes, built with Rust, Tauri 2 and Svelte 5. A 0.1 development build.
MIT licence. Source on GitHub.
A GPU-rendered terminal emulator in Rust, built on libghostty-vt. Early development: the desktop app, end-to-end scripts and fuzz tests pass.
MIT licence. Source on GitHub.
Textarea in the terminal. Type text for a menu, or text buy milk to jot something down without opening anything. Syncs with Obsidian, Apple Notes and any folder.
MIT licence. Source on GitHub.
The opencode coding agent with nine additions, among them session goals, a token breakdown, transcript search, Claude Code hooks and a shell sandbox.
Fork of anomalyco/opencode. MIT licence. Source on GitHub.
The superfile terminal file manager with eleven fixes and features: six from open upstream pull requests and five of my own.
Fork of yorukot/superfile. MIT licence. Source on GitHub.
Apple’s tool for running Linux containers on a Mac, with container here, which boots a VM inside your terminal with no background services, and container dash, a full-screen dashboard. Plus fixes and new options.
Fork of apple/container. Apache-2.0 licence. Source on GitHub.
An 8-bit room with a labrador, a Christmas tree and snow falling outside, on a screen of 256 by 144 pixels.
MIT licence. Source on GitHub.
An earlier record player in one HTML file, for your own audio files: a draggable tonearm, scratching, three speeds and a three-band EQ. The Realistic Vinyl Player is its remake.
MIT licence. Source on GitHub.
An earlier record player that plays your own files or connects to Spotify.
Apache-2.0 licence. Source on GitHub.
Most of what I make rebuilds something old, like a record deck or a Windows 9x desktop, with what a browser can do now. Nearly all of it runs on your own device: no account, no server, and your files stay where they are. Lately that has grown to terminal tools, private browsers and AI models that run on your own computer.
Several projects are forks. I took an open-source project I liked and kept adding to it, and each one names whose work it started from.
l.a.vandeweerd@gmail.com