Changelog
the story of tinywork.space, one tiny change at a time.
-
#025 — Word of the Day.May 2026A newspaper for one word. The page opens with an editorial masthead — Vol. I · Word of the Day · No. XXX — set between two black rules, a deep-red nameplate in italic serif. Below it: today's word in huge Iowan Old Style with a thick red underline, the part of speech in muted italic, the definition centered in serif, and an example sentence laid into a left-rule pull-quote with a faded drop-quote glyph. On load, the site fetches Merriam-Webster's actual Word-of-the-Day RSS through a chain of public CORS proxies (corsproxy.io → allorigins.win → codetabs); if any responds, the card upgrades to the real M-W word and the footer reads via Merriam-Webster with a link to the source page. Falls back gracefully to a hand-curated 480-word local list if every proxy is unreachable. The parser pads block-level HTML to spaces before stripping (so word boundaries survive
textContent), then pulls part of speech via word match, the definition between What It Means and Examples, and a quoted example from the examples block. "Next word" walks M-W's recent week, then falls through to the local deck;Tjumps back to today. Off-white paper background (#f5f1e8), black text, one deep-red accent (#a4243b) — serif everything, sans-serif only in the masthead chrome and the boxy "next word →" button. -
#024 — Random City.May 2026A button that hands you a place. Press it and a card fades through to a city — name in huge sans-serif, country in a tracked uppercase eyebrow, the landmark flanked by little accent dots, and one short true fact below. 214 cities curated across Europe (51), Americas (45), Asia (63), Africa (34), Oceania (21), with a region dropdown to narrow it down and a last-index guard so you never see the same city twice in a row. Every press also rotates a bold accent — sunset, sky, amber, olive, rose, navy, plum — applied to the card border, the country eyebrow, and the dots flanking the landmark, so each draw feels like flipping a postcard from somewhere new. Warm sand background (
#f5e6c8→#ead7b1) with a sky-blue radial wash from the bottom-left and a sunset wash from the top-right, plus a very light SVG-turbulence grain to mimic paper. Cream paper card on top, soft layered shadow underneath. Sunset-orange primary button (#ee6c4d) with a hard 2px drop and an ambient glow. Space or Enter re-rolls; the dropdown filter resets the last-seen guard so a region switch can land on anything. -
#023 — Should I Do It?May 2026A micro decision engine. Type the dilemma into a single text field, drag three sliders — impact, urgency, effort — and press one button. The page weighs them as
(impact × 0.5) + (urgency × 0.4) − (effort × 0.5), scoring roughly −50 to +90, and hands back a one-word verdict: YES (score ≥ 22), NO (≤ −5), or WAIT (in between). A magnitude check decides confidence — high, medium, or low. The reason line is selected by the dominant factor: high-impact-low-effort gets "big upside, small lift. go."; high-effort-low-impact gets "too much work, too little return. skip."; everything balanced gets "it's a coin flip. wait for a tiebreaker." The card echoes back what you typed so it doesn't feel disembodied. Light sky-blue → soft slate gradient background (fixed), white card surfaces, deep teal accent (#0d9488) on slider thumbs, verdict text, and the solid teal "decide" button with a 2px drop and an ambient teal glow. Enter submits; the verdict card fades in and replays its animation on each new press. Focused, low-stress, calm. -
#022 — Name that D1 Mascot.May 2026A scoreboard-styled D1 mascot guesser. School name appears in big Orbitron caps; four mascot buttons sit below — one correct, three real D1 distractors. Right answer glows green with a sideline jab (champion form., scholarship-grade., easy money.); wrong answer flashes red, reveals the real mascot, and fills the next OUTS dot in the top corner. Two ways to lose: a 30-second shot clock per round (digits flash red under
0:05, the school name goes dark when it hits zero) or three outs. Eighty-seven schools spanning the SEC, Big Ten, ACC, Big 12, Pac, plus a handful of basketball-only programs (Saint Peter's Peacocks, Saint Louis Billikens, Xavier Musketeers, Creighton Bluejays) — no school repeats until the deck wraps. Dressed as an LED stadium scoreboard: pitch-black panel with a double-bezel shadow, amber glow (#ffb300) on every lit element, blinking colon between the00 : 00score readout, a ● LIVE dot pulsing top-left. Orbitron + VT323 from Google Fonts. RESET wipes the score, the outs, the seen deck, and starts a fresh game. -
#021 — Memento Mori.May 2026A quiet visual of a finite life. Drop in a birthdate and the page draws a grid of small squares — 52 columns wide, one row per year, 73 rows total (the WHO global average life expectancy). Weeks already lived fill in bright white against the near-black background; the current week glows amber and pulses softly; everything ahead stays a muted slate. Hover any square for a tiny tooltip — Week X — Age Y. Three stats sit beneath the grid: weeks lived, weeks remaining, percent of life used (one decimal). One accent color, one input, no menus, no chrome — clamp-scaled type, light-script fonts, and a footer that lands the point: You don't need more time. You need intention. Pure HTML/CSS/JS, no libraries, no API calls; mobile shrinks the cells to 6px so the whole 3,796-square grid stays on screen.
-
#020 — Today in Sports.May 2026A daily dose of sports history shaped like a stack of trading cards. Loads with today's date and pulls up to five moments — random pick when the day has more than five — sorted newest year on top. Every date of the year is covered (366 days, ~750 entries spanning Rose Bowls, Olympic upsets, no-hitters, world records, debut games, and league firsts), so it never comes up empty. Each card shows the year in big Bebas Neue numerals next to the sport, the event written as a single clean sentence, and a league nameplate at the bottom (NFL, NBA, MLB, NHL, FIFA, Olympics, and a long tail of others). Four controls: ← yesterday, today, random, tomorrow →. Keyboard shortcuts: arrow keys to walk the calendar,
Tfor today,Rfor random. Dusty ballpark-blue background with a trading-card cream face, deep navy ink, and one warm red accent (#b32a1a); cards rise in on render with a soft cubic-bezier. Self-contained — data lives in a plain JS object so the cards load instantly with no network call. -
#019 — Name the Capital.May 2026A no-patience geography quiz: a country name appears with its flag, four capital choices below, instant verdict. Right answer flashes green with a quick line (nice., atlas-grade., the cartographer nods.); wrong answer flashes red, fades the dud options, highlights the real capital, and lobs a soft jab (not even close., geography is hard.). Score ticks up correct/total in the header. Roughly 100 country/capital pairs spanning every continent — easy ones (Paris, Tokyo) sitting next to ones that humble you (Astana, Thimphu, Brasília). Flags pulled as SVGs from
flagcdn.comand centered inside a fixed 200×130 frame so a square Switzerland and a wide Qatar both sit consistent. Deep navy background (#0a1f2e) with a sea-green accent (#4ade9b) and soft cyan glow; Fraunces serif for the country name, Inter for everything else. Subtle fade-in on each round — no scaling pulse. Reset button at the bottom; one round auto-advances after ~1.3s. -
#018 — Can You Survive the 90s?May 2026A 25-question 90s trivia gauntlet covering TV, music, movies, toys, tech, and pop culture (Friends, Bayside, Wannabe, Tamagotchi, A/S/L, Y2K, NOT!). Question order shuffles each session and answers lock after one click — correct flashes green with a 90s-flavored cheer (Schwing!, Da bomb!, You go.); wrong flashes red, surfaces a deadpan jab (As if!, Talk to the hand., NOT!), and reveals the right answer. Final scores bucket into four tiers — Didn't Survive the 90s, 90s Visitor, 90s Kid, Certified 90s Legend — each with a flavor line, plus an animated count-up score reveal. Single self-contained HTML file styled like Saved by the Bell: cream card with a thick black border and chunky drop shadow, four-color top stripe, neon teal/pink/yellow/purple gradient with floating Memphis shapes (squiggles, triangles, dot grids, zigzags), and Lilita One + Fredoka from Google Fonts. Keyboard support:
1–4picks an answer,Enteradvances. -
#017 — What You've Lived ThroughMay 2026Type your birthdate and get a deadpan, year-by-year timeline of every major thing the world's done since you arrived. Roughly 110 events from 1945 through April 2025, each with a dry-humor blurb (sober where the topic asks for it). Scenes group by year and tag with your age at year-end; the preamble and coda both shift voice based on how old you are. Warm dark mode — near-black bg (
#0e0d0b), cream serif text, mustard-yellow accent (#e8c547) — with a monospace timeline and serif italic blurbs. Print stylesheet inverts to black-on-white so it stays readable on paper. -
Homepage paginationMay 2026Added client-side pagination to the gallery, fifteen sites per page. The page number lives in the URL hash (
#page=2) so links are shareable and browser back/forward both work. Prev/next disable at the ends, the current page is highlighted in the accent color, and switching pages smooth-scrolls to the top of the gallery. Iframe thumbnails get re-scaled after each render so previews stay crisp at any width. -
#016 — Neon CrossroadsMay 2026A cyberpunk choose-your-own-adventure shipped as a single self-contained HTML file. Around thirty story nodes branching across surface streets, rooftops, the Undermarket, and Stim Bar 12 — with two true hub nodes you can return to and side scenes that loop back, plus an
intelflag system that unlocks new choices once you've gathered enough info. Eight endings across four flavors (corporate betrayal, hacker resistance, AI liberation, vanish into the city). The sidebar tracks live system status — Signal, Neural Link, Threat, Shard Integrity — that shifts with your choices, plus run-log counters for decisions, scenes visited, loops closed, and intel gathered. Glitch transitions between scenes, scanline overlay, and a magenta/cyan/acid-green palette over near-black. Keyboard shortcuts:1–6picks choices,Rrestarts. -
#015 — Make Some NoiseMay 2026A tiny live audio visualizer. One start button → mic permission → 48 lime-green bars driven by an
AnalyserNodeFFT, mapped across the lower 60% of bins (where voices and most music actually live). Smoothed withrequestAnimationFrame; silence sits flat, loud noise punches the ceiling. If the mic is denied or missing, it cleanly falls back to a tap mode where each pointer-down injects a global pulse plus a localized burst of bars near the tap's x-position, with a faint idle wiggle so the canvas never freezes. Dark mode, single accent (#c6ff00), no libraries. -
#014 — Meeting CheckMay 2026Type a one-line description of a proposed meeting and get a direct verdict — yes, meet, maybe, keep it short, or try async first — plus the better alternative (drop an async update, send an email, write a quick doc, or block a focused 30 minutes). Built on a tiny weighted-signals scorer: roughly fifty regex patterns, each with a +/- weight, summed up to bucket the input. Sensitive people matters (firing, layoff, PIP, comp, conflict, interview, HR) always route to "meet" regardless of score. Cmd/Ctrl+Enter to submit;
try anotherresets and refocuses. -
#013 — How Productive Was Today?May 2026Three sliders (focus, energy, progress on a 1–10 scale) average into one of four verdicts: Locked In, Solid Day, Survived, or Chaos Mode — each with a rotating quip. Dressed up in a Bauhaus-flavored card: cream paper, thick black border, primary-color geometric shapes (red circle, blue triangle, yellow square + dot, black bar) spilling out from behind the container. Also flattened the global
footer.jsbadge to 90° corners and removed its drop shadow so the badge stops fighting flat designs. -
Homepage redesign — gallery viewMay 2026Reworked the homepage into a polaroid-style gallery. Each experiment now shows as a card with a live, scaled
<iframe>preview of the actual site (so the gallery auto-updates whenever a sub-site changes — no screenshot files to manage). Titles are auto-prefixed with the folder number (e.g.#012 – On This Day) and cards sort newest-first by that number. Old homepage and its stylesheet moved toarchived/; styles extracted into a freshstyle.css. -
#012 — On This DayMay 2026Added a Win95-style dialog that pulls five random "on this day" facts from the Wikipedia REST API for today's date. Title bar, sunken fieldset, dotted-focus buttons, and a Shuffle/Reload toolbar — fully clientside, no backend.
-
#011 — Random Sports QuotesApril 2026Added a new experiment: one hundred voices from every sideline, served up one at a time. Quote cycles through a shuffled queue so you don't see the same one twice until the pool recycles. Later patched a bug where it kept repeating the same three quotes — the cause was
fetch()being blocked on thefile://protocol, which triggered a tiny fallback array. Fixed by inlining the quotes as a plain JS global. -
#010 — Ocean WavesApril 2026Added a full-screen, silent visualizer of slow layered waves under a moonlit sky. No buttons, no sound, no options — just watch. Respects
prefers-reduced-motionby easing to a near-still pace. -
Folder renumberingApril 2026Renamed every site folder with a three-digit prefix (001–009) so they sort chronologically on disk.
-
Homepage reshuffle + Rubber Duck notesApril 2026Reordered the homepage newest-first and added a short explainer inside the Rubber Duck site so first-time visitors know what it's for.
-
#009 — Rubber DuckApril 2026Added a tiny Socratic duck that asks the next question until you unstick yourself. Keyboard-first: Space/Enter to send, Esc to reset.
-
Polish pass on the original eightApril 2026Gave the original collection a once-over:
- Fixed typos on the homepage ("An one-click", "delilvers", "too much energy drinks").
- Added a shared
footer.jsbadge ("a tiny experiment from tinywork.space") on the bottom-right of every subsite. - Moved toast notifications from bottom to top on Compliment Machine and Random Color Palette so they don't collide with the badge.
- Touched up mobile input attributes, favicons, and body padding for badge clearance.
-
#008 — World's Shortest Recipe BookSeptember 2025Cooking, compressed. Each recipe is boiled down to a single sentence (or less).
-
#007 — Spelling PracticeSeptember 2025A small tool for my son to practice his spelling.
-
#006 — Reverse Acronym FinderSeptember 2025Type a word, get a cheesy backronym built from its letters.
-
#005 — Random Color PaletteSeptember 2025A random color palette for your next creative project.
-
#004 — Random Dad JokesAugust 2025A one-click groan generator.
-
#003 — Pomodoro CalculatorAugust 2025Figure out how many focused Pomodoro sessions it'll take to finish a task.
-
#002 — Compliment MachineAugust 2025Click a button, get an instant dose of kindness.
-
#001 — 404 HaikusAugust 2025A playful 404 page that delivers a randomly generated haiku instead of a boring "page not found".