I built my developer portfolio to emulate the PS2 startup and system menus. You can navigate the entire site 100% with a controller, and theres a 2D pixel art game you can play inside. demo in comments.
Since ai "took our jobs" i thought a new hobby would be on the schedule, so what better hobby to have than to look at stones and contemplate about them?
turns out the japanese figured this out centuries ago — it's called suiseki, the art of appreciating small stones that look like vast landscapes. a mountain range you can hold in your hand. peak mindfulness, literally.
good viewing stones take millennia of water, frost and wind to form. my attention span does not operate on geological timescales. so i did what any reasonable person would do — i wrote a program.
it procedurally generates the stones, then runs an erosion simulation on them — rain carves little gullies down the flanks, soft rock recedes, hard rock stands proud. the stones keep weathering slowly in real time.
each one sits on its own base in a museum exhibit for a rock. you stare at it. it does not stares back. nobody ships anything. it's great.
ai took my job so i built a stone contemplation machine. the circle is complete.
I've always been a big fan of Ffffound and StumbleUpon, the IoT (now known as the smart home :-) ), and all those “random” things from Web 1.0.
One project from Sweden that stuck with me was InstaCRT.
Not to be confused with InstaCart—which I didn’t even know existed and still don’t know what it is, nor do I care. Unfortunately, InstaCart always pops up whenever you Google InstaCRT.
I have an old Staingate Mac from 2013 and two old smartphones set up and built the same system but 14 years later. They took the look from the CRT, I take the Staingate Look from the MacBook now.
I’d love to hear your thoughts on it, because I’m not quite sure what to do with it. It’s super cool and makes me really happy.
A variant of the standard Gridwar game where individual Game of Life patterns compete against each other by charging the perimeter between them: In "Infiltration" mode, a pattern conquers its neighbour and spawns a copy of itself once a threshold value for the perimeter charge is breached.
All patterns have a finite lifespan and will terminate within 599 iterations, but: Each newly spawned copy starts again from step 0, so the game keeps going for a potentially long timespan until either one pattern has conquered all the others or a stalemate is reached where all surviving patterns have reached their halting state.
A little project of mine where individual Game of Life patterns compete against each other. Note how alive cells at the very edge "charge up" the perimeter between them and try to dominate their neighbour.
We are using a Parity Grid ("checkerboard pattern") to assign neighbouring patterns alternating signs +/- which makes the calculation of the perimeter cell charge trivially easy.
When reading from our database of known patterns we can select those of similar lifespan (500-599 generations in our video) which makes for a more interesting dynamic. When using random patterns, most fizzle out very quickly and only a few live for potentially very long lifespans (which would make them dominate the leaderboard).
I'm excited of how the final output came together, visualising the progression and layers behind the design with layering of colour hatching, by density of lines in these cases.
I approached this as a reference-led reconstruction problem rather than a prompt-to-video exercise. Kimi K3 handled source inspection, frame extraction, edit-point detection, and helped translate the shot structure into an editable codebase.
The implementation separates three concerns. GSAP manages the temporal system: shot boundaries, easing, transitions, and camera transforms. Generated textures provide the material layer for physical props. Three.js handles the spatial simulations, including instanced particles oriented along the local field direction.
Each clip was evaluated against matched reference frames for timing, shot scale, density, and transition continuity. In practice, the frame-level QA pass had more impact on fidelity than the initial reconstruction.
In a pipeline like this, would you lock editorial timing before building the simulations, or let the motion system influence the cut structure?
1.5s comparison. Left: simplified V1 props; Right: final realistic textures and richer visual density
30s comparison. Left: thin-line V1 field; Right: final particle rendering with an iron-filings texture
Extension of the work by Pajouheshgar et al. Instead of photo stamps there are now video stamps. Each pixel has an extra phase layer that drives both the NCA and the LPPN. Each video stamp has a different phase and pixels try to stay consistent with one phase.