Close
0%
0%

Junk-Phonic 9000 Web based Boombox

Proof that with enough Web Audio API and zero self-control, even a photograph of a boombox can have a functioning tape deck and woofers

Similar projects worth following
0 followers
The Junk-Phonic 9000 takes a single photo of a boombox and turns it into a working ghetto blaster in the browser: a cassette deck with real wow & flutter, live internet radio, VU meters that actually needle-sweep to programme level, and woofers that vibrate to the real sub-150Hz waveform — not just "volume".

Overview

Craptronics Plc brings you the Junk-Phonic 9000 is a single photograph of a boombox that has been talked into working. There's no 3D model, no canvas-drawn cabinet, no sprite sheet — just a real product photo, sliced apart in the places where buttons and dials already exist, and rebuilt as a living interface using nothing but HTML, CSS, and the Web Audio API.

Load an mp3 into it and it plays through a cassette deck with genuine wow & flutter — not a filter that makes things sound "vintage," but a continuous playback-rate wobble that behaves like an actual worn tape transport, pitch drift and all. Tune the internet radio and the VU needles sweep with real programme level. Turn up the bass and the woofers — cut from the same photo, layered back on top of it — visibly vibrate to the actual waveform, not just a generic "louder = bigger" pulse. Press Crap Bass Boost, which despite the name is a boxy telephone-band filter that removes bass, and the woofers audibly and visibly calm down, because that's genuinely what's happening to the signal.

It was built by Craptronics Plc, who also produced the Crap-turon 5000, and the tape currently loaded in the deck is a mix called Hits 1982, which has never existed and never will.

How it's built

The photo is the UI

Every control is an absolutely-positioned HTML element sitting directly on top of the source photograph, with its coordinates measured from the actual image pixels rather than guessed. Concretely: the photo is loaded into Python/PIL, then thresholded and scanned for the distinctive colours or brightness signatures of each control — the yellow REC button, the amber VU meter glow, the dark cassette window, the chrome speaker rims — to pull out exact bounding boxes in pixel space. Those get converted to percentages of the image's width/height, which is what lets every overlay track correctly regardless of how large the photo is rendered (the whole page scales as one fluid unit, from a phone screen up to a 1600px-wide desktop layout).

The two speaker cones use the same trick in reverse: they're crops of the original photo's own woofers, repositioned in a <div> on top of the now-cone-less base image, so they can be independently scaled and brightened without touching the rest of the photo.

Where a control needed to fit into genuinely tiny real estate (the tape transport buttons sit in a strip of chassis roughly 40px wide at native resolution), the UI shrinks to icon-only pill buttons rather than breaking the photo's geometry. Where a piece of text was baked directly into the photo — the brand logo — it was inpainted out (a clean patch of the panel stretched over the old logo) and redrawn with new text, rather than faked with an HTML overlay.

Audio architecture

Two independent AudioContexts run side by side, exactly mirroring the two physical audio sources:

Tape A (Web Audio graph, per file loaded):

<audio> element ──▶ highpass (80Hz) ──▶ lowpass (8kHz) ──▶ compressor ──▶ tone stage ──▶ destination                                                              │                                                              ▶ analyser (level meter)
  • The highpass/lowpass/compressor stage is the "worn tape" character — a fixed EQ+dynamics preset modelling a well-used cassette's frequency response.
  • A requestAnimationFrame loop continuously nudges playbackRate with layered sine waves (a slow ~0.1Hz "wow" plus a faster ~0.8Hz "flutter," plus a touch of random jitter) — this is what makes the pitch audibly drift rather than just sound EQ'd.
  • Reverse playback ("Auto Reverse") doesn't use the <audio> element at all, since HTML5 audio has no reverse-playback mode. Instead the file is decoded once via decodeAudioData, the channel data is reversed sample-by-sample into a fresh AudioBuffer, and that gets played through an AudioBufferSourceNode — with the same wow/flutter and tone-shaping chain applied, so backwards playback sounds identically "tape-y."
  • A dedicated preservesPitch = false setting on the audio element turned out to matter a lot: with...
Read more »

Junk-Phonic-9000.zip

contains all fake documentation along with the html web page. just double click to play

Zip Archive - 631.89 kB - 07/18/2026 at 13:18

Download

  • Craptronics Plc — A Complete Corporate History

    diddyan hour ago 0 comments

    📼 Craptronics Plc — A Complete Corporate History

    (“Making unnecessary technology unnecessarily entertaining since absolutely no one asked.”)

    🟦 1979 — Founding in a Shed

    Craptronics Plc begins life when founder Gavin “Two‑Screwdrivers” Blenkinsop attempts to repair a broken boombox and accidentally invents the concept of pretending something works instead of fixing it.

    He calls this philosophy “Functional Illusionism.”

    The first official Craptronics product is a cardboard radio with a drawn‑on speaker. It sells zero units, but Gavin insists this is “market validation.”

    🟧 1984 — The Photographic Engineering Division

    Craptronics hires its first employee: Nigel, a man who can operate a camera but not a soldering iron.

    Nigel proposes a radical idea:

    “What if the product is the photo?”

    This becomes the core of Craptronics R&D for the next four decades.

    🟩 1991 — The Great Cassette Incident

    Craptronics attempts to release a real cassette deck. It fails catastrophically when the prototype bursts into flames after someone inserts a sandwich into the tape slot.

    The board concludes:

    “Physical hardware is too dangerous. We should only manufacture pictures of hardware.”

    This becomes official policy.

    🟪 1998 — The Craptronics Web Division

    Craptronics discovers the internet.

    Their first online product is The JPEG Stereo 1000, a static image of a boombox that does nothing. It is praised for:

    • zero moving parts
    • zero warranty claims
    • zero functionality

    The board celebrates this as their most stable product ever.

    🟥 2003 — The “Animated Button” Breakthrough

    A junior engineer accidentally discovers CSS :hover.

    Craptronics immediately patents “Interactive Photographic Interfaces™”, a technology that allows buttons in pictures to pretend to be real buttons.

    This leads to the creation of the Craptronics Design Philosophy:

    “If it looks like it works, it works.”

    🟫 2011 — The Web Audio Awakening

    Craptronics learns about the Web Audio API and realises they can finally make their pictures make noise.

    The engineering department (one bloke, some crisps) begins experimenting with:

    • filters
    • compressors
    • playbackRate wobble
    • existential dread modulation

    This era becomes known internally as “The Sonic JPEG Renaissance.”

    🟨 2023 — The Crap‑Turon 5000

    Craptronics releases its first truly interactive photographic audio device: The Crap‑Turon 5000 Web‑Based MP3 Player.

    Key innovations:

    • Real analyser‑driven VU meters
    • Fake Hi‑Fi switches
    • A photo sliced into clickable UI
    • A manual written like a fever dream

    It becomes a cult classic among people who enjoy technology that shouldn’t exist.

    🟦 2024 — The Junk‑Phonic Initiative

    Craptronics greenlights a new flagship product: The Junk‑Phonic 9000 Web‑Based Boombox.

    This project introduces:

    • dual AudioContexts
    • real wow & flutter
    • waveform‑driven woofer movement
    • reverse‑buffer playback
    • internet radio tuning
    • a warranty card that is legally meaningless

    The documentation becomes longer than the codebase.

    🟧 2025 — Corporate Expansion

    Craptronics opens a second office. It is also a shed.

    The company hires a “Chief Nostalgia Officer” whose job is to ensure every product feels like it was found behind a sofa in 1987.

    🟩 2026 — The Craptronics Golden Age

    With the release of the Junk‑Phonic 9000 and its accompanying manuals, Craptronics becomes the world leader in Web‑Based Photographic Audio Simulation™.

    Their corporate motto is updated to:

    “If it shouldn’t work, we’ll make it work anyway.”

    🟪 Present Day — The Future of Craptronics

    Craptronics is rumoured to be developing:

    • a photographic turntable that simulates vinyl wear using randomised crackle algorithms
    • a CRT television that plays videos through a distorted PNG
    • a Walkman that runs entirely...
    Read more »

View project log

Enjoy this project?

Share

Discussions

Does this project spark your interest?

Become a member to follow this project and never miss any updates