Notes, essays, and explorations

This is a collection of my thoughts, moving from personal blog-style reflections to professional explorations of design, user experience, education, artificial intelligence, learning systems, and the many things I build.

It also leaves room for the wider questions I keep returning to: philosophy, society, critical thinking, human potential, meaning, technology, culture, and what it takes to stay clear and curious in a noisy world.

Building Scroll-Linked Particle Stories with Three.js and React cover
Creative Development
Building Scroll-Linked Particle Stories with Three.js and React
ParticleScroll is a full-screen scroll storytelling component that ties a Three.js particle scene directly to native browser scroll position. The visible canvas stays fixed in the viewport while an invisible scroll track drives everything: particle morphing between precomputed Float32Array frames, content panel transitions, and a progress strip that fills as the story advances. There is no scroll animation library involved. Progress is a single normalized float read from the element's bounding rect, scrubbed into the WebGL scene every animation frame. This piece walks through how the architecture works, what makes the developer experience feel clean, and where the shape system opens up for experimentation.
Evan Marie Carr
Evan Marie Carr
© 2026 darkviolet.ai