Case study · Y2K interactive · Live

Junky Solutions

A waste and recycling brand that did not want to look like one. The homepage is a rotating bin you click into and descend inside. The services page is a PlayStation 2 memory card. The work pages are 2007 YouTube. All of it is real, none of it is a filter.

Visit the live build Start a project
ClientJunky Solutions
ScopeConcept · Design · 3D · Build
StackNext.js · React Three Fiber
StatusLive
01

The brief

Junky Solutions works in waste, recycling and local fixes. Every competitor in that category has the same website: a green gradient, a stock photo of a leaf, and a contact form. It is a category that has agreed to be invisible.

The brief was to build something people would actually send to each other. That meant committing hard to one aesthetic instead of gesturing at it, and accepting that a site which rewards curiosity has to be genuinely interactive rather than decorated.

02

What we did

A homepage you climb into

The landing page is a single 3D object: a rotating bin covered in Junky stickers with a "local fixes, global habits" belt around it. Click it and the lid opens while the camera descends inside in one continuous move, landing on five objects arranged on the rubbish. There is no hero image and no headline block.

Services as a PS2 memory card

The services page is a PlayStation 2 memory-card browser: an icon grid you move through, with each service opening in a retro system window. Seven services, each one linked to related work, so browsing the offer and browsing the portfolio are the same action.

Works as 2007 YouTube

Individual projects are watch pages in the old YouTube layout, and the index is a search-results page with rows and tag-driven playlists. Video leads every carousel because the work is mostly video. The format does the navigation work for free: everyone already knows how to use it.

Y2K throughout, not on top

The contact page is an operating-system dialog with a working form. The shop is a product grid in the same language. The period styling reaches the components rather than sitting in a wrapper, which is the difference between a theme and a build.

Motion that had to be fixed, twice

Entering and leaving the bin has to land on the exact same framing every time, or the page reads as broken. Getting that right meant reconciling the camera rig with the orbit controls so nothing jumps on exit. This is the unglamorous part of 3D work and it is most of the work.

Built to keep going

The works catalogue and the services list are single source-of-truth data files, so adding a project is a data change rather than a page build. Media is served from object storage instead of the repository, which keeps deploys fast.

03

How it is built

Next.js with the App Router and TypeScript, React Three Fiber and Three.js for the 3D scene, and Motion for the interface animation. Media lives in Cloudflare R2 object storage. Deployment is on Vercel, kept deliberately to one project and one live deployment so there is never a question about which URL is the real site.

The 3D is the interesting engineering, but the decision worth pointing at is what stayed conventional. Routing, data and content are plain and boring, so the parts that need to be strange can afford to be.

04

Where it landed

The build is live and public at junky-alpha.vercel.app, currently through a second round of client feedback, with a shop section staged and waiting on commerce credentials before it opens.

Concept, art direction, 3D, front-end build and deployment came from this studio. If your brand is in a category where every site looks the same, that is an argument for a build like this rather than against it. Tell us what you are working on, or see the other end of the range in The Muuls, a restrained one-page storefront.

Book a meeting All web design work
Book a meeting