Example apps for tinyjs — tiny (~6 MB) macOS, Windows, and Linux desktop apps built from a txiki.js backend and a native web view (WebKit on macOS, WebView2 on Windows, WebKitGTK on Linux).
-
Head to tinyjs.app and install the
tinyjsCLI. -
Clone this repo.
-
Pick an example,
cdinto it, and run it:cd kitchen-sink tinyjs dev # run with hot reload tinyjs build # dist/<Name>.app on macOS, dist\<name>.exe on Windows
Each example is a self-contained project with its own tinyjs.json,
src/main.js (backend), and src/frontend/ (the page).
No toolchain? Every example has prebuilt downloads below — a signed &
notarized .dmg for macOS, a zip for Windows 10/11, and a tar.gz
for Linux (x86_64 + arm64) — and check the sizes: real native apps at
4–6 MB each. Mac: open the dmg, drag to Applications. Windows: unzip
anywhere and run the exe. Linux: untar and run the launcher (needs
libwebkit2gtk-4.1-0). Or grab shelf and one-click-install the rest
from inside it. The full story on each app lives in its own README.
Every example below on wooden shelves (pine by day, walnut by night) — daily drivers, UX experiments, toys, and API showcases — with one-click install, update, and uninstall. The catalog updates itself from this repo, and the Installed tab is your fleet as icons on a shelf.
⬇ Download: macOS shelf-0.2.8.dmg (4.4 MB, signed & notarized) · Windows shelf-0.2.8-win.zip (4.0 MB) · Linux shelf-0.2.8-linux (x86_64) / (arm64) (5.4 MB)
Thirteen tabs of live demos: shell, files, HTTP, GPU, WASM, FFI, windows, tray, hotkeys, share sheets, screenshots, battery, clipboard, Spotlight, and more.
⬇ Download: macOS kitchen-sink-0.17.0.dmg (5.6 MB, signed & notarized) · Windows kitchen-sink-0.17.0-win.zip (4.9 MB) · Linux kitchen-sink-0.17.0-linux (x86_64) / (arm64) (6.3 MB)
Workspaces, channels, and DMs in SQLite — with canned auto-replies and desktop notifications from the channel you're not looking at.
⬇ Download: macOS tinyslaq-0.1.6.dmg (4.4 MB, signed & notarized) · Windows tinyslaq-0.1.7-win.zip (3.8 MB) · Linux tinyslaq-0.1.7-linux (x86_64) / (arm64) (4.9 MB)
Left-click the cup to toggle caffeinate, right-click for timed sessions. The canonical tinyjs tray-app recipe.
⬇ Download: macOS matcha-0.1.7.dmg (4.3 MB, signed & notarized) · Windows matcha-0.1.8-win.zip (3.7 MB) · Linux matcha-0.1.8-linux (x86_64) / (arm64) (4.8 MB)
A googly-eyed tomato floats on your desktop (transparent, frameless) while the countdown ticks in the menu bar.
⬇ Download: macOS tomato-0.1.5.dmg (4.3 MB, signed & notarized) · Windows tomato-0.1.6-win.zip (3.7 MB) · Linux tomato-0.1.6-linux (x86_64) / (arm64) (4.7 MB)
Your home city lives in the menu bar as an emoji — "🌉 4:45p" — with optional cycling through the rest; click for a frosted popover dropping right from the tray icon, with every city, day offsets, day/night dots, add-your-own cities (emoji included), and an open-at-login toggle.
⬇ Download: macOS worldclock-0.3.4.dmg (4.4 MB, signed & notarized) · Windows worldclock-0.3.5-win.zip (3.8 MB) · Linux worldclock-0.3.5-linux (x86_64) / (arm64) (4.9 MB)
Drop a log file and a translucent always-on-top panel live-follows the tail — filters, error colorizing, tail -f smarts.
⬇ Download: macOS lumber-0.1.5.dmg (4.4 MB, signed & notarized) · Windows lumber-0.1.6-win.zip (3.8 MB) · Linux lumber-0.1.6-linux (x86_64) / (arm64) (4.9 MB)
It wanders your screen and flees your cursor. Offer cookies, earn its trust, and it follows you around like a puppy.
⬇ Download: macOS boo-0.1.7.dmg (4.0 MB, signed & notarized) · Windows boo-0.1.7-win.zip (3.5 MB) · Linux boo-0.1.6-linux (x86_64) / (arm64) (4.5 MB)
They strut, peck, caw at each other, and fly off when you get too close. Scatter seed (⌃⌥S) and win them over.
⬇ Download: macOS kraa-0.1.8.dmg (4.3 MB, signed & notarized) · Windows kraa-0.1.8-win.zip (3.7 MB) · Linux kraa-0.1.6-linux (x86_64) / (arm64) (4.8 MB)
The same two birds as rigged, animated 3D models on transparent windows — they walk, flap, glide, and kraa in stereo.
⬇ Download: macOS kraa3d-0.2.7.dmg (4.8 MB, signed & notarized) · Windows kraa3d-0.2.7-win.zip (4.2 MB) · Linux kraa3d-0.2.5-linux (x86_64) / (arm64) (5.2 MB)
Two to twenty pigeons that strut, mob crumbs, loaf on screen edges, and poop. Very occasionally one hatches gold.
⬇ Download: macOS coo3d-0.2.7.dmg (5.2 MB, signed & notarized) · Windows coo3d-0.2.7-win.zip (4.6 MB) · Linux coo3d-0.2.5-linux (x86_64) / (arm64) (5.5 MB)
A family of them sways on strings from the top of your screen. Drag them around — pull down too far and the string snaps.
⬇ Download: macOS treez-0.1.7.dmg (4.0 MB, signed & notarized) · Windows treez-0.1.7-win.zip (3.4 MB) · Linux treez-0.1.6-linux (x86_64) / (arm64) (4.3 MB)
Syntax-coloured source and highlighted code blocks, two panes that mirror each other's cursor and selection to the character, an editable preview that writes Markdown back as you type, heading outline, ::: note callouts and ::: tabs that can switch in lockstep, a project file tree with Open Quickly, @-mentions and a rename that offers to re-aim the links pointing at the old name, image paste with a destination, a heading-derived filename and canvas re-encoding, ⌥-click to follow a link from either pane, captions and click-to-zoom, emoji picker, themed PDF and HTML export, lossless closing. Double-click any .md in Finder, drop a folder on the Dock icon, or run nib . from a terminal — argv, LaunchServices and drag-drop all land in one onOpenFiles. Actions run your own commands, scripts and AI prompts on the folder you're in — per-platform if they need to be, with keyboard shortcuts and scripts that can ask questions mid-run — and there's dictation, plus ::: carousel, ::: download, ::: pagelink and ::: embed blocks in the preview.
⬇ Download: macOS nib-0.3.0.dmg (5.7 MB, signed & notarized) · Windows nib-0.3.0-win.zip (4.8 MB) · Linux nib-0.2.0-linux (x86_64) / (arm64) (6.1 MB)
Text, images, files, and colors — ⌘⇧V summons the palette, ⏎ pastes a clip back as whatever it was.
⬇ Download: macOS pasta-0.5.6.dmg (4.4 MB, signed & notarized) · Windows pasta-0.5.7-win.zip (3.7 MB) · Linux pasta-0.5.7-linux (x86_64) / (arm64) (4.9 MB)
Images and video convert on drop (window or Dock icon), with a live progress bar and outputs next to the source.
⬇ Download: macOS presto-0.1.6.dmg (4.1 MB, signed & notarized) · Windows presto-0.1.7-win.zip (3.5 MB) · Linux presto-0.1.7-linux (x86_64) / (arm64) (4.6 MB)
Countdown snaps with baked-in filters, video clips with a live mic meter — every shot a real file that drags out of the app.
⬇ Download: macOS cheese-0.1.6.dmg (4.0 MB, signed & notarized) · Windows cheese-0.1.7-win.zip (3.6 MB) · Linux cheese-0.1.7-linux (x86_64) / (arm64) (4.7 MB)
A screenshot every 30 seconds, all day, played back like a flipbook — scrubber, day sidebar, drag any frame out.
⬇ Download: macOS deja-0.1.6.dmg (3.8 MB, signed & notarized) · Windows deja-0.1.7-win.zip (3.4 MB) · Linux deja-0.1.7-linux (x86_64) / (arm64) (4.5 MB)
Secrets live in the real macOS Keychain; every reveal and copy goes through the Touch ID sheet. Copies self-wipe in 30 s.
⬇ Download: macOS hush-0.1.6.dmg (4.0 MB, signed & notarized) · Windows hush-0.1.7-win.zip (3.5 MB) · Linux hush-0.1.7-linux (x86_64) / (arm64) (4.6 MB)
Live ps and lsof tables with sorting, filtering, and kill buttons — built in React 19 + Radix + TypeScript.
⬇ Download: macOS procsy-0.1.6.dmg (4.5 MB, signed & notarized) · Windows procsy-0.1.7-win.zip (3.8 MB) · Linux procsy-0.1.7-linux (x86_64) / (arm64) (4.9 MB)
Double-click a .db in Finder and browse it — tables, lazy pagination, a ⌘↩ query box. Vue 3 + PrimeVue.
⬇ Download: macOS sqlittle-0.1.6.dmg (4.8 MB, signed & notarized) · Windows sqlittle-0.1.7-win.zip (4.1 MB) · Linux sqlittle-0.1.7-linux (x86_64) / (arm64) (5.2 MB)
Boards, drag-and-drop cards, due dates in the menu bar, a ⌃⌥T quick-add palette — plus the documented auto-update recipe.
⬇ Download: macOS trolley-0.1.6.dmg (4.4 MB, signed & notarized) · Windows trolley-0.1.7-win.zip (3.8 MB) · Linux trolley-0.1.7-linux (x86_64) / (arm64) (4.9 MB)
⌥Space anywhere: fuzzy-launch apps (real icons), find files through Spotlight, or type math and copy the answer.
⬇ Download: macOS beam-0.1.6.dmg (4.2 MB, signed & notarized) · Windows beam-0.1.7-win.zip (3.6 MB) · Linux beam-0.1.7-linux (x86_64) / (arm64) (4.7 MB)
Player, playlist, 10-band EQ with AutoEq headphone correction, a full podcast deck (shelf, offline downloads, resume, show notes), and five visualizer engines — real Milkdrop, Geiss HDR, and three homegrown WebGPU + HDR pieces: Magnetosphere, a fish-stirred liquid Lagoon and a starling Murmuration — plus visualizer plugins in a no-DOM worker sandbox, which can ask amp for three.js, p5 or q5. Each pane a native window that snaps, docks, and windowshades. BIG swaps it all for a fullscreen 80s hi-fi stack: VU needles, LED spectrum, giant thumping speakers, a zoomable world-radio globe with real country borders, and podcast covers leaning against the gear like LP sleeves — in brushed silver when your Mac runs light. Embedded tags name every track (Artist — Title, not the filename); files that carry none can have their cover and tags found online (Cover Art Archive → iTunes → Deezer, opt-in and cached); and stations that send ICY metadata say what's actually on the air, read straight off the interleaved stream.
⬇ Download: macOS amp-0.13.0.dmg (8.2 MB, signed & notarized) · Windows amp-0.13.0-win.zip (7.4 MB) · Linux amp-0.13.0-linux (x86_64) / (arm64) (8.7 MB)
Your music folder becomes a crate of LPs, and the only way to hear one is the ritual: pull the sleeve, slide the record onto a three.js turntable, start the motor, and set the tonearm down by hand — the pitch bends up as the platter comes to speed. No skip button, no queue. Landing between tracks takes a steady hand (an amber ring previews the drop, and the stylus leans toward track starts), sides run out into a crackling lead-out groove, and flipping to side two means pulling the record out toward you and turning it over — motor stopped first. Single-file album rips are albums too: a .cue sheet beside the FLAC (or a CUESHEET block inside it) becomes a real tracklist, grooves and all, played gapless because the needle only seeks. Pull up on the crate's lip and one row of wood opens into the whole wall of sleeves. Missing sleeves get found online (Cover Art Archive fronts and backs — click the sleeve to turn it over), and every sleeve turns over whether or not a back scan exists: with none, platter prints one, the cover thrown out of focus for card stock with the tracklist set over it in sides and times. The room does time-of-day lighting with a lamp, curtains, and a regrettable disco switch (real mirrorball, gobo light), and Spotify Connect puts your saved albums in the crate: platter is the turntable, Spotify is the amplifier. Dress the deck in the shop — painted or wood bases, colored felt or acrylic platters, or a full SL-1200 homage. 45 rpm switch included for chipmunk emergencies.
⬇ Download: macOS platter-0.4.0.dmg (6.0 MB, signed & notarized) · Windows platter-0.4.0-win.zip (4.9 MB) · Linux platter-0.4.0-linux (x86_64) / (arm64) (6.5 MB)
The third-generation iPod as a 3D always-on-top widget — touch wheel with a clicker, the four glowing touch buttons, MENU to climb back out, and the whole 2003 menu tree on a chunky monochrome LCD that backlights cold blue when you touch it. Browse Artists/Albums/Songs from your music folder (it borrows platter's), land in Now Playing with the wheel as volume and the centre button as scrub. Grab the body to drag it around; the mouse scroll wheel spins the touch wheel.
⬇ Download: macOS podd-0.2.4.dmg (5.0 MB, signed & notarized) · Windows podd-0.2.5-win.zip (4.3 MB) · Linux podd-0.2.5-linux (x86_64) / (arm64) (5.3 MB)
The running timer lives in the menu bar; the popover drops from it, tears off into a real window, and snaps back home.
⬇ Download: macOS till-0.1.8.dmg (3.7 MB, signed & notarized) · Windows till-0.1.8-win.zip (3.3 MB) · Linux till-0.1.7-linux (x86_64) / (arm64) (4.2 MB)

























