finds.dev← search

// the find

brunosimon/folio-2025

★ 1,525 · JavaScript · MIT · updated Apr 2026

Bruno Simon's 2025 interactive portfolio — a Three.js-based open world where you drive a car through zones representing his career, projects, and social links. It's a showcase piece, not a library; the value is in seeing how a production-quality WebGL experience is structured at scale.

The game loop is organized as an explicit dependency graph with numbered tick stages, so you can see exactly why systems run in a given order — this is a real solution to a real problem in game-style rendering loops. The asset pipeline is thoughtful: GLB and texture files get ETC1S compression via gltf-transform with originals preserved, which is exactly how you should handle this. Physical and visual vehicle components are split into separate classes (PhysicsVehicle vs VisualVehicle), keeping physics state decoupled from rendering — a pattern most Three.js projects never bother with. Input handling covers keyboard, gamepad, pointer, touch (nipple.js), and wheel, all unified under a single Inputs abstraction.

The setup instructions say `npm install --force`, which means there are unresolved peer dependency conflicts that were buried rather than fixed — not a great sign for a project people might fork. The entire codebase is vanilla JS with no TypeScript; at this size (~80+ source files) you feel that absence when trying to understand what shape data is expected in. It's genuinely non-reusable: every Area, every zone, every texture path is hardcoded to Bruno's specific biography, so cloning this as a portfolio template requires gutting most of it. Stylus for CSS is a liability — the preprocessor has been effectively unmaintained for years and there's no migration path offered.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →