{"slug": "three-js", "name": "Three.js", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "JavaScript library for rendering 3D graphics in the browser with WebGL and WebGPU.", "recommenders": 5, "commenters": 19, "warners": 0, "score": 7.732, "rising": 1.02, "first": "2025-11-01", "latest": "2026-10-24", "why": "Liked for quickly building 3D web visuals and browser games, especially with LLM help, thanks to extensive documentation and examples.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 5, "neutral": 15, "compare": 0, "warn": 0}, "spark": [1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1], "listed": true, "loved": ["LLM-friendly", "Web games"], "caveat": "Browser-bound", "short_quote": "I have found out that it is very efficient to use phaser.js/three.js for fast, vibe coding", "icon": true, "domain": "threejs.org", "github_repo": null, "official_url": "https://threejs.org", "pricing": "open source", "aliases": ["Three.js", "three.js"], "verdict": [{"text": "Liked for quickly building 3D web visuals and browser games,", "cites": [{"id": 756898530, "item_id": 47306158, "url": "https://news.ycombinator.com/item?id=47306158", "by": "ycosynot", "date": "2026-03-09", "stance": "recommend", "quote": "I have found out that it is very efficient to use phaser.js/three.js for fast, vibe coding", "excerpt": "Nobody will read this and the game is not ready, BUT maybe one of you can check it out and tell me what you think. It is called ZAEL. It is a mage arena web app (smartphone/Desktop), played from 1 to 4 players, no login, easy to share a link to invite people into your game, whatever the platform. It is no install, no bullshit. Just click and play https://www.zael.app I have found out that it is very efficient to use ", "context": "", "use_case": "vibe coding web games", "switched_from": "", "story": "Ask HN: What Are You Working On? (March 2026)"}, {"id": 782224833, "item_id": 48889052, "url": "https://news.ycombinator.com/item?id=48889052", "by": "ChaosOp", "date": "2026-07-13", "stance": "neutral", "quote": "three.js for the 3D world", "excerpt": "Working on Gaming Couch, a web-based local multiplayer party game platform. It's like a lovechild of Jackbox and Mario Party: https://gamingcouch.com Just before the weekend I shipped a new mini-game called Pop It: Desert Island (https://gamingcouch.com/blog/pop-it-desert-island-launch). Launch went well: ~3,800 players from 56 countries over the weekend, and it immediately became the most played game on the platform", "context": "", "use_case": "3D game world", "switched_from": "", "story": "Ask HN: What Are You Working On? (July 2026)"}, {"id": 780756913, "item_id": 48797307, "url": "https://news.ycombinator.com/item?id=48797307", "by": "aashishharishch", "date": "2026-07-05", "stance": "neutral", "quote": "I made a little train network sim in Three.js", "excerpt": "I love trains, so I made a little train network sim in Three.js. Build out a railway network across the USA, connect cities, theres also a NYC map (with actual landmarks!). It even has proper, real, multi-hop transfer routing (not just direct routes between points) and both a tycoon and a survival mode. It is MIT licensed, completely free (no ads/purchases), and all saved data is kept client-side. Just a little side ", "context": "", "use_case": "building 3D browser game", "switched_from": "", "story": "Show HN: TrainSim \u2013 a browser train tycoon"}]}, {"text": " especially with LLM help,", "cites": [{"id": 803609408, "item_id": 50225588, "url": "https://news.ycombinator.com/item?id=50225588", "by": "speckzzz", "date": "2026-10-24", "stance": "recommend", "quote": "Three.js + OpenAI or Claude do almost everything for this purpose.", "excerpt": "Three.js + OpenAI or Claude do almost everything for this purpose. I use it to visualize complex things like Raft groups and node states in multi node clusters for execs and C-levels. A simple library of styles and standard prompt are more than enough.", "context": "presents to execs", "use_case": "visualizing cluster states", "switched_from": "", "story": "Animations for System Builders"}, {"id": 756898530, "item_id": 47306158, "url": "https://news.ycombinator.com/item?id=47306158", "by": "ycosynot", "date": "2026-03-09", "stance": "recommend", "quote": "I have found out that it is very efficient to use phaser.js/three.js for fast, vibe coding", "excerpt": "Nobody will read this and the game is not ready, BUT maybe one of you can check it out and tell me what you think. It is called ZAEL. It is a mage arena web app (smartphone/Desktop), played from 1 to 4 players, no login, easy to share a link to invite people into your game, whatever the platform. It is no install, no bullshit. Just click and play https://www.zael.app I have found out that it is very efficient to use ", "context": "", "use_case": "vibe coding web games", "switched_from": "", "story": "Ask HN: What Are You Working On? (March 2026)"}, {"id": 750826689, "item_id": 46926668, "url": "https://news.ycombinator.com/item?id=46926668", "by": "Kon5ole", "date": "2026-02-07", "stance": "neutral", "quote": "It uses three.js and a browser so it's just a toy of course", "excerpt": "A silly movie but I love it so much. Such nostalgia too. In the spirit of hackers I have to share this - I just asked Claude 4.6 to make a file system browser that works kinda like this, and it took 5 minutes to make something that actually works. Directories as skyscrapers with files as text on the side, moving around by wasd. It uses three.js and a browser so it's just a toy of course but still, I can navigate my f", "context": "", "use_case": "3D file browser", "switched_from": "", "story": "Hackers (1995) Animated Experience"}]}, {"text": " thanks to extensive documentation and examples.", "cites": [{"id": 786399120, "item_id": 49149945, "url": "https://news.ycombinator.com/item?id=49149945", "by": "cyanregiment", "date": "2026-08-02", "stance": "recommend", "quote": "The library is extremely well-documented.", "excerpt": "A quick peruse of the Three.js examples page should prove why it's so easy to get an LLM to produce decent Three.js. https://threejs.org/examples/ Here's minecraft: https://threejs.org/examples/webgl_geometry_minecraft.html Here's an FPS: https://threejs.org/examples/games_fps.html The library is extremely well-documented. When Three.js vibe coded projects started blowing up on Twitter 1-2 years ago, I wasn't that im", "context": "", "use_case": "3D web graphics", "switched_from": "", "story": "Karpathy's Pelican"}]}, {"text": " Complaints are rare, though one commenter called a browser-based Three.js project just a toy.", "cites": [{"id": 750826689, "item_id": 46926668, "url": "https://news.ycombinator.com/item?id=46926668", "by": "Kon5ole", "date": "2026-02-07", "stance": "neutral", "quote": "It uses three.js and a browser so it's just a toy of course", "excerpt": "A silly movie but I love it so much. Such nostalgia too. In the spirit of hackers I have to share this - I just asked Claude 4.6 to make a file system browser that works kinda like this, and it took 5 minutes to make something that actually works. Directories as skyscrapers with files as text on the side, moving around by wasd. It uses three.js and a browser so it's just a toy of course but still, I can navigate my f", "context": "", "use_case": "3D file browser", "switched_from": "", "story": "Hackers (1995) Animated Experience"}]}], "praise": [{"label": "LLM-friendly", "summary": "Commenters find LLMs produce decent Three.js code quickly, which suits fast prototyping.", "quotes": [{"id": 803609408, "item_id": 50225588, "url": "https://news.ycombinator.com/item?id=50225588", "by": "speckzzz", "date": "2026-10-24", "stance": "recommend", "quote": "Three.js + OpenAI or Claude do almost everything for this purpose.", "excerpt": "Three.js + OpenAI or Claude do almost everything for this purpose. I use it to visualize complex things like Raft groups and node states in multi node clusters for execs and C-levels. A simple library of styles and standard prompt are more than enough.", "context": "presents to execs", "use_case": "visualizing cluster states", "switched_from": "", "story": "Animations for System Builders"}, {"id": 786399120, "item_id": 49149945, "url": "https://news.ycombinator.com/item?id=49149945", "by": "cyanregiment", "date": "2026-08-02", "stance": "recommend", "quote": "The library is extremely well-documented.", "excerpt": "A quick peruse of the Three.js examples page should prove why it's so easy to get an LLM to produce decent Three.js. https://threejs.org/examples/ Here's minecraft: https://threejs.org/examples/webgl_geometry_minecraft.html Here's an FPS: https://threejs.org/examples/games_fps.html The library is extremely well-documented. When Three.js vibe coded projects started blowing up on Twitter 1-2 years ago, I wasn't that im", "context": "", "use_case": "3D web graphics", "switched_from": "", "story": "Karpathy's Pelican"}, {"id": 750826689, "item_id": 46926668, "url": "https://news.ycombinator.com/item?id=46926668", "by": "Kon5ole", "date": "2026-02-07", "stance": "neutral", "quote": "It uses three.js and a browser so it's just a toy of course", "excerpt": "A silly movie but I love it so much. Such nostalgia too. In the spirit of hackers I have to share this - I just asked Claude 4.6 to make a file system browser that works kinda like this, and it took 5 minutes to make something that actually works. Directories as skyscrapers with files as text on the side, moving around by wasd. It uses three.js and a browser so it's just a toy of course but still, I can navigate my f", "context": "", "use_case": "3D file browser", "switched_from": "", "story": "Hackers (1995) Animated Experience"}]}, {"label": "Web games", "summary": "Used to build browser games without setting up a Unity or Unreal scene.", "quotes": [{"id": 756898530, "item_id": 47306158, "url": "https://news.ycombinator.com/item?id=47306158", "by": "ycosynot", "date": "2026-03-09", "stance": "recommend", "quote": "I have found out that it is very efficient to use phaser.js/three.js for fast, vibe coding", "excerpt": "Nobody will read this and the game is not ready, BUT maybe one of you can check it out and tell me what you think. It is called ZAEL. It is a mage arena web app (smartphone/Desktop), played from 1 to 4 players, no login, easy to share a link to invite people into your game, whatever the platform. It is no install, no bullshit. Just click and play https://www.zael.app I have found out that it is very efficient to use ", "context": "", "use_case": "vibe coding web games", "switched_from": "", "story": "Ask HN: What Are You Working On? (March 2026)"}, {"id": 782224833, "item_id": 48889052, "url": "https://news.ycombinator.com/item?id=48889052", "by": "ChaosOp", "date": "2026-07-13", "stance": "neutral", "quote": "three.js for the 3D world", "excerpt": "Working on Gaming Couch, a web-based local multiplayer party game platform. It's like a lovechild of Jackbox and Mario Party: https://gamingcouch.com Just before the weekend I shipped a new mini-game called Pop It: Desert Island (https://gamingcouch.com/blog/pop-it-desert-island-launch). Launch went well: ~3,800 players from 56 countries over the weekend, and it immediately became the most played game on the platform", "context": "", "use_case": "3D game world", "switched_from": "", "story": "Ask HN: What Are You Working On? (July 2026)"}, {"id": 780756913, "item_id": 48797307, "url": "https://news.ycombinator.com/item?id=48797307", "by": "aashishharishch", "date": "2026-07-05", "stance": "neutral", "quote": "I made a little train network sim in Three.js", "excerpt": "I love trains, so I made a little train network sim in Three.js. Build out a railway network across the USA, connect cities, theres also a NYC map (with actual landmarks!). It even has proper, real, multi-hop transfer routing (not just direct routes between points) and both a tycoon and a survival mode. It is MIT licensed, completely free (no ads/purchases), and all saved data is kept client-side. Just a little side ", "context": "", "use_case": "building 3D browser game", "switched_from": "", "story": "Show HN: TrainSim \u2013 a browser train tycoon"}]}, {"label": "React integration", "summary": "Pairs well with React via react-three-fiber, and with Svelte via Threlte.", "quotes": [{"id": 744001520, "item_id": 46500095, "url": "https://news.ycombinator.com/item?id=46500095", "by": "talkingtab", "date": "2026-01-05", "stance": "recommend", "quote": "Webgl, threejs, @react-three/{fiber/drei} provide another dimension and shaders are the gateway.", "excerpt": "There is the smoke part - worth seeing, the shader part - well worth exploring (shaders make you see the world in a different way , then there is the learning part. The site is very interactive so it allows you to see one, do one and maybe teach one. Many people are stuck in html land. I was. Webgl, threejs, @react-three/{fiber/drei} provide another dimension and shaders are the gateway. Very highly recommended as a ", "context": "", "use_case": "3D web graphics and shaders", "switched_from": "", "story": "Cigarette smoke effect using shaders"}, {"id": 772390898, "item_id": 48274431, "url": "https://news.ycombinator.com/item?id=48274431", "by": "talkingtab", "date": "2026-05-25", "stance": "neutral", "quote": "I use threejs and react three fiber (r3f).", "excerpt": "I'm not sure it is React I like. I like JSX. Here is a fun thing. Write a bunch of JSON. A lot. Now write a lot of JSX. Then convert the JSON to JSX. Then convert the JSX to JSON. I was surprised by how much easier it was for me to reason in JSX. I use threejs and react three fiber (r3f). Again the JSX type of representation easily wins out for me. I don't really understand why. Maybe JSX ends up being more pictorial", "context": "", "use_case": "3D graphics", "switched_from": "", "story": "Does Anybody Actually Like React?"}, {"id": 768907956, "item_id": 48056747, "url": "https://news.ycombinator.com/item?id=48056747", "by": "snide", "date": "2026-05-07", "stance": "neutral", "quote": "It sits on the shoulder of Svelte and Threlte (Three.js) for most of the hard stuff.", "excerpt": "Counter Slayer uses the same UI library I hand built for Table Slayer[0], so it was a little easier for me to get that one going. I used to run design for Elastic, and built their React design library (with some great coworkers) so I'm used to heavy visualization work (having redesigned Kibana years ago). It's just fun for me to take all that experience and build weird little projects as far as I can take them! I bui", "context": "", "use_case": "3D rendering", "switched_from": "", "story": "Creating for a niche"}]}, {"label": "Custom shaders", "summary": "Supports custom shaders and its own shading-language abstraction for advanced effects.", "quotes": [{"id": 798138305, "item_id": 49883644, "url": "https://news.ycombinator.com/item?id=49883644", "by": "bhouston", "date": "2026-09-28", "stance": "neutral", "quote": "I used ThreeJS's Three-Shading-Language abstraction to do it", "excerpt": "I built something like this just last month, using a few of the same models, but I used ThreeJS's Three-Shading-Language abstraction to do it: https://three-llm.ben3d.ca/?model=qwen3.5-0.8b", "context": "", "use_case": "running LLMs on GPU", "switched_from": "", "story": "MicroLLM Lab \u2013 Try 7 tiny LLM's in the browser"}, {"id": 787149296, "item_id": 49196831, "url": "https://news.ycombinator.com/item?id=49196831", "by": "superMayo", "date": "2026-08-06", "stance": "neutral", "quote": "For the 3D elements, I used Threejs and a custom vertex shader for the 3D plot.", "excerpt": "Author here. The source code is available at https://github.com/SuperMayo/mayerowitz.io. It\u2019s called scrollytelling. For this particular project, I borrowed a lot from https://mlu-explain.github.io/. For the 3D elements, I used Threejs and a custom vertex shader for the 3D plot.", "context": "author of the article", "use_case": "3D visualization", "switched_from": "", "story": "Mario Meets Pareto"}, {"id": 782132496, "item_id": 48883281, "url": "https://news.ycombinator.com/item?id=48883281", "by": "tikimcfee", "date": "2026-07-12", "stance": "neutral", "quote": "This is a standard three.js implementation with just some fancy shaders and loading primitives.", "excerpt": "Little rough is putting it generously haha, and thanks for checking it out anyway! This is a standard three.js implementation with just some fancy shaders and loading primitives. If you looked at the IDE demo, that's basically the test bed I use for rendering. The library is available in NPM (I can update to latest this evening if you'd like to pull it that way) and it's meant to be composable, as are the app tools a", "context": "", "use_case": "3D rendering", "switched_from": "", "story": "Show HN: Mindwalk \u2013 Replay coding-agent sessions on a 3D map of your codebase"}]}, {"label": "Data visualization", "summary": "Used to visualize complex systems, database schemas and 3D plots.", "quotes": [{"id": 803609408, "item_id": 50225588, "url": "https://news.ycombinator.com/item?id=50225588", "by": "speckzzz", "date": "2026-10-24", "stance": "recommend", "quote": "Three.js + OpenAI or Claude do almost everything for this purpose.", "excerpt": "Three.js + OpenAI or Claude do almost everything for this purpose. I use it to visualize complex things like Raft groups and node states in multi node clusters for execs and C-levels. A simple library of styles and standard prompt are more than enough.", "context": "presents to execs", "use_case": "visualizing cluster states", "switched_from": "", "story": "Animations for System Builders"}, {"id": 738043521, "item_id": 46127720, "url": "https://news.ycombinator.com/item?id=46127720", "by": "shane-jacobeen", "date": "2025-12-02", "stance": "neutral", "quote": "adding the Z-axis (via three.js)", "excerpt": "OP here. If you've ever wrestled with a complex SQL schema, I built this project because I\u2019ve always found that traditional 2D ER diagrams turn into unreadable \"spaghetti\" once a database grows beyond a certain size. I wanted to test if adding the Z-axis (via three.js) could solve the crowding problem. My hypothesis is that by utilizing 3D depth, we can separate distinct table clusters and illustrate relationships wi", "context": "", "use_case": "3D rendering", "switched_from": "", "story": "Show HN: Schema3D \u2013 Interactive SQL schema visualization"}, {"id": 787149296, "item_id": 49196831, "url": "https://news.ycombinator.com/item?id=49196831", "by": "superMayo", "date": "2026-08-06", "stance": "neutral", "quote": "For the 3D elements, I used Threejs and a custom vertex shader for the 3D plot.", "excerpt": "Author here. The source code is available at https://github.com/SuperMayo/mayerowitz.io. It\u2019s called scrollytelling. For this particular project, I borrowed a lot from https://mlu-explain.github.io/. For the 3D elements, I used Threejs and a custom vertex shader for the 3D plot.", "context": "author of the article", "use_case": "3D visualization", "switched_from": "", "story": "Mario Meets Pareto"}]}, {"label": "Documentation", "summary": "Described as extremely well-documented, with an extensive examples page.", "quotes": [{"id": 786399120, "item_id": 49149945, "url": "https://news.ycombinator.com/item?id=49149945", "by": "cyanregiment", "date": "2026-08-02", "stance": "recommend", "quote": "The library is extremely well-documented.", "excerpt": "A quick peruse of the Three.js examples page should prove why it's so easy to get an LLM to produce decent Three.js. https://threejs.org/examples/ Here's minecraft: https://threejs.org/examples/webgl_geometry_minecraft.html Here's an FPS: https://threejs.org/examples/games_fps.html The library is extremely well-documented. When Three.js vibe coded projects started blowing up on Twitter 1-2 years ago, I wasn't that im", "context": "", "use_case": "3D web graphics", "switched_from": "", "story": "Karpathy's Pelican"}]}], "caveats": [{"label": "Browser-bound", "summary": "One commenter called a browser-based Three.js project just a toy.", "quotes": [{"id": 750826689, "item_id": 46926668, "url": "https://news.ycombinator.com/item?id=46926668", "by": "Kon5ole", "date": "2026-02-07", "stance": "neutral", "quote": "It uses three.js and a browser so it's just a toy of course", "excerpt": "A silly movie but I love it so much. Such nostalgia too. In the spirit of hackers I have to share this - I just asked Claude 4.6 to make a file system browser that works kinda like this, and it took 5 minutes to make something that actually works. Directories as skyscrapers with files as text on the side, moving around by wasd. It uses three.js and a browser so it's just a toy of course but still, I can navigate my f", "context": "", "use_case": "3D file browser", "switched_from": "", "story": "Hackers (1995) Animated Experience"}]}, {"label": "Not an engine", "summary": "One developer called their Three.js/React game stack cursed compared with a proper game engine.", "quotes": [{"id": 778832484, "item_id": 48677030, "url": "https://news.ycombinator.com/item?id=48677030", "by": "phaser", "date": "2026-06-25", "stance": "neutral", "quote": "The game's graphics and UI is a Three.js/React app", "excerpt": "I am the freaky outlier that's actually excited about this. My city builder game, Microlandia[1], runs on Deno. The game's graphics and UI is a Three.js/React app, but the real guts of the game are a \"sidecar\" process that is a `deno compile` typescript executable. On Mac, there's a Tauri shell that runs both client and server, and for Linux and Windows we use Electron, (Tauri proved to be quite problematic except wh", "context": "", "use_case": "game graphics", "switched_from": "", "story": "Deno 2.9"}]}], "who": [{"by": "speckzzz", "context": "presents to execs", "url": "https://news.ycombinator.com/item?id=50225588", "date": "2026-10-24"}, {"by": "Livia_Zaharia", "context": "architect, jewelry designer, startup founder", "url": "https://news.ycombinator.com/item?id=49964234", "date": "2026-10-05"}, {"by": "superMayo", "context": "author of the article", "url": "https://news.ycombinator.com/item?id=49196831", "date": "2026-08-06"}, {"by": "empressplay", "context": "runs turtlespaces.org", "url": "https://news.ycombinator.com/item?id=48886125", "date": "2026-07-12"}, {"by": "nickyvanurk", "context": "Engine programmer seeking work", "url": "https://news.ycombinator.com/item?id=47222451", "date": "2026-03-02"}], "tags": ["for web games", "for data visualization", "for React developers", "for LLM-assisted coding", "for interactive websites"], "use_cases": ["3d rendering", "3d web graphics", "visualizing cluster states", "running llms on gpu", "scrolling animations", "3d visualization"], "compared": [{"slug": "claude", "name": "Claude", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "react-three-fiber", "name": "React Three Fiber", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "bun", "name": "Bun", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "react", "name": "React", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "unity", "name": "Unity", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48884984", "title": "Ask HN: What Are You Working On? (July 2026)", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50212124", "title": "Animations for System Builders", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49964233", "title": "item 49964233", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49882781", "title": "MicroLLM Lab \u2013 Try 7 tiny LLM's in the browser", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49686380", "title": "Ask HN: What are you working on? (September 2026)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49195231", "title": "Mario Meets Pareto", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {"neutral": 1}, "2026-01": {"recommend": 1}, "2026-02": {"neutral": 1}, "2026-03": {"neutral": 1, "recommend": 1}, "2026-04": {}, "2026-05": {"neutral": 2}, "2026-06": {"neutral": 1}, "2026-07": {"neutral": 4}, "2026-08": {"recommend": 1, "neutral": 2}, "2026-09": {"neutral": 2}, "2026-10": {"neutral": 1, "recommend": 1}}, "quotes": [{"id": 803609408, "item_id": 50225588, "url": "https://news.ycombinator.com/item?id=50225588", "by": "speckzzz", "date": "2026-10-24", "stance": "recommend", "quote": "Three.js + OpenAI or Claude do almost everything for this purpose.", "excerpt": "Three.js + OpenAI or Claude do almost everything for this purpose. I use it to visualize complex things like Raft groups and node states in multi node clusters for execs and C-levels. A simple library of styles and standard prompt are more than enough.", "context": "presents to execs", "use_case": "visualizing cluster states", "switched_from": "", "story": "Animations for System Builders"}, {"id": 799427749, "item_id": 49964234, "url": "https://news.ycombinator.com/item?id=49964234", "by": "Livia_Zaharia", "date": "2026-10-05", "stance": "neutral", "quote": "Stackwise we selected Three.js, typescript and bun", "excerpt": "Hello, I am Livia Zaharia, officially an architect, also a parametric jewelery designer, machine learning enthusiast and a startup founder. What I wanted to share is the link above, where, to promote my pieces in a more interactive way I decided to try building from scratch a 3d version of a town where some pieces become buildings. I developed it together with my boyfriend being bord from waiting for our ML training ", "context": "architect, jewelry designer, startup founder", "use_case": "3D rendering", "switched_from": "", "story": null}, {"id": 798138305, "item_id": 49883644, "url": "https://news.ycombinator.com/item?id=49883644", "by": "bhouston", "date": "2026-09-28", "stance": "neutral", "quote": "I used ThreeJS's Three-Shading-Language abstraction to do it", "excerpt": "I built something like this just last month, using a few of the same models, but I used ThreeJS's Three-Shading-Language abstraction to do it: https://three-llm.ben3d.ca/?model=qwen3.5-0.8b", "context": "", "use_case": "running LLMs on GPU", "switched_from": "", "story": "MicroLLM Lab \u2013 Try 7 tiny LLM's in the browser"}, {"id": 795248674, "item_id": 49703042, "url": "https://news.ycombinator.com/item?id=49703042", "by": "yeutterg", "date": "2026-09-14", "stance": "neutral", "quote": "scrolling animations built with Blender and three.js", "excerpt": "The Restful Atmos Bedside Lamp [0], which automatically shifts between dim, low-blue light at night and energizing morning light instead of an alarm. After 3 years of dev, we're just about finished shipping preorders. For US customers, black units will ship immediately + white within 3 weeks. Lots of learnings on this one. Getting lots of great feedback from early customers. As always, hardware is hard! Lately I've b", "context": "", "use_case": "scrolling animations", "switched_from": "", "story": "Ask HN: What are you working on? (September 2026)"}, {"id": 787149296, "item_id": 49196831, "url": "https://news.ycombinator.com/item?id=49196831", "by": "superMayo", "date": "2026-08-06", "stance": "neutral", "quote": "For the 3D elements, I used Threejs and a custom vertex shader for the 3D plot.", "excerpt": "Author here. The source code is available at https://github.com/SuperMayo/mayerowitz.io. It\u2019s called scrollytelling. For this particular project, I borrowed a lot from https://mlu-explain.github.io/. For the 3D elements, I used Threejs and a custom vertex shader for the 3D plot.", "context": "author of the article", "use_case": "3D visualization", "switched_from": "", "story": "Mario Meets Pareto"}, {"id": 787111377, "item_id": 49194461, "url": "https://news.ycombinator.com/item?id=49194461", "by": "dolmen", "date": "2026-08-06", "stance": "neutral", "quote": "using LDrawLoader [2] (from three.js)", "excerpt": "Rendering of LEGO models built with Claude [1], using LDrawLoader [2] (from three.js). [1]: https://github.com/JanLahmann/Quantego/commits/main/assets/js/ldraw-viewer.js [2]: https://threejs.org/docs/#LDrawLoader", "context": "", "use_case": "rendering LEGO models", "switched_from": "", "story": "Quantego: A Family of Lego Models of IBM Quantum Computers"}, {"id": 786399120, "item_id": 49149945, "url": "https://news.ycombinator.com/item?id=49149945", "by": "cyanregiment", "date": "2026-08-02", "stance": "recommend", "quote": "The library is extremely well-documented.", "excerpt": "A quick peruse of the Three.js examples page should prove why it's so easy to get an LLM to produce decent Three.js. https://threejs.org/examples/ Here's minecraft: https://threejs.org/examples/webgl_geometry_minecraft.html Here's an FPS: https://threejs.org/examples/games_fps.html The library is extremely well-documented. When Three.js vibe coded projects started blowing up on Twitter 1-2 years ago, I wasn't that im", "context": "", "use_case": "3D web graphics", "switched_from": "", "story": "Karpathy's Pelican"}, {"id": 782224833, "item_id": 48889052, "url": "https://news.ycombinator.com/item?id=48889052", "by": "ChaosOp", "date": "2026-07-13", "stance": "neutral", "quote": "three.js for the 3D world", "excerpt": "Working on Gaming Couch, a web-based local multiplayer party game platform. It's like a lovechild of Jackbox and Mario Party: https://gamingcouch.com Just before the weekend I shipped a new mini-game called Pop It: Desert Island (https://gamingcouch.com/blog/pop-it-desert-island-launch). Launch went well: ~3,800 players from 56 countries over the weekend, and it immediately became the most played game on the platform", "context": "", "use_case": "3D game world", "switched_from": "", "story": "Ask HN: What Are You Working On? (July 2026)"}, {"id": 782178000, "item_id": 48886125, "url": "https://news.ycombinator.com/item?id=48886125", "by": "empressplay", "date": "2026-07-12", "stance": "neutral", "quote": "we use three and react", "excerpt": "This is great, and my users (turtlespaces.org) could absolutely use this (we use three and react), but you haven't specified any license?", "context": "runs turtlespaces.org", "use_case": "3D rendering", "switched_from": "", "story": "Ask HN: What Are You Working On? (July 2026)"}, {"id": 782132496, "item_id": 48883281, "url": "https://news.ycombinator.com/item?id=48883281", "by": "tikimcfee", "date": "2026-07-12", "stance": "neutral", "quote": "This is a standard three.js implementation with just some fancy shaders and loading primitives.", "excerpt": "Little rough is putting it generously haha, and thanks for checking it out anyway! This is a standard three.js implementation with just some fancy shaders and loading primitives. If you looked at the IDE demo, that's basically the test bed I use for rendering. The library is available in NPM (I can update to latest this evening if you'd like to pull it that way) and it's meant to be composable, as are the app tools a", "context": "", "use_case": "3D rendering", "switched_from": "", "story": "Show HN: Mindwalk \u2013 Replay coding-agent sessions on a 3D map of your codebase"}, {"id": 780756913, "item_id": 48797307, "url": "https://news.ycombinator.com/item?id=48797307", "by": "aashishharishch", "date": "2026-07-05", "stance": "neutral", "quote": "I made a little train network sim in Three.js", "excerpt": "I love trains, so I made a little train network sim in Three.js. Build out a railway network across the USA, connect cities, theres also a NYC map (with actual landmarks!). It even has proper, real, multi-hop transfer routing (not just direct routes between points) and both a tycoon and a survival mode. It is MIT licensed, completely free (no ads/purchases), and all saved data is kept client-side. Just a little side ", "context": "", "use_case": "building 3D browser game", "switched_from": "", "story": "Show HN: TrainSim \u2013 a browser train tycoon"}, {"id": 778832484, "item_id": 48677030, "url": "https://news.ycombinator.com/item?id=48677030", "by": "phaser", "date": "2026-06-25", "stance": "neutral", "quote": "The game's graphics and UI is a Three.js/React app", "excerpt": "I am the freaky outlier that's actually excited about this. My city builder game, Microlandia[1], runs on Deno. The game's graphics and UI is a Three.js/React app, but the real guts of the game are a \"sidecar\" process that is a `deno compile` typescript executable. On Mac, there's a Tauri shell that runs both client and server, and for Linux and Windows we use Electron, (Tauri proved to be quite problematic except wh", "context": "", "use_case": "game graphics", "switched_from": "", "story": "Deno 2.9"}, {"id": 772390898, "item_id": 48274431, "url": "https://news.ycombinator.com/item?id=48274431", "by": "talkingtab", "date": "2026-05-25", "stance": "neutral", "quote": "I use threejs and react three fiber (r3f).", "excerpt": "I'm not sure it is React I like. I like JSX. Here is a fun thing. Write a bunch of JSON. A lot. Now write a lot of JSX. Then convert the JSON to JSX. Then convert the JSX to JSON. I was surprised by how much easier it was for me to reason in JSX. I use threejs and react three fiber (r3f). Again the JSX type of representation easily wins out for me. I don't really understand why. Maybe JSX ends up being more pictorial", "context": "", "use_case": "3D graphics", "switched_from": "", "story": "Does Anybody Actually Like React?"}, {"id": 768907956, "item_id": 48056747, "url": "https://news.ycombinator.com/item?id=48056747", "by": "snide", "date": "2026-05-07", "stance": "neutral", "quote": "It sits on the shoulder of Svelte and Threlte (Three.js) for most of the hard stuff.", "excerpt": "Counter Slayer uses the same UI library I hand built for Table Slayer[0], so it was a little easier for me to get that one going. I used to run design for Elastic, and built their React design library (with some great coworkers) so I'm used to heavy visualization work (having redesigned Kibana years ago). It's just fun for me to take all that experience and build weird little projects as far as I can take them! I bui", "context": "", "use_case": "3D rendering", "switched_from": "", "story": "Creating for a niche"}, {"id": 756898530, "item_id": 47306158, "url": "https://news.ycombinator.com/item?id=47306158", "by": "ycosynot", "date": "2026-03-09", "stance": "recommend", "quote": "I have found out that it is very efficient to use phaser.js/three.js for fast, vibe coding", "excerpt": "Nobody will read this and the game is not ready, BUT maybe one of you can check it out and tell me what you think. It is called ZAEL. It is a mage arena web app (smartphone/Desktop), played from 1 to 4 players, no login, easy to share a link to invite people into your game, whatever the platform. It is no install, no bullshit. Just click and play https://www.zael.app I have found out that it is very efficient to use ", "context": "", "use_case": "vibe coding web games", "switched_from": "", "story": "Ask HN: What Are You Working On? (March 2026)"}, {"id": 755559216, "item_id": 47222451, "url": "https://news.ycombinator.com/item?id=47222451", "by": "nickyvanurk", "date": "2026-03-02", "stance": "neutral", "quote": "Check out these Three.js demos I made", "excerpt": "Location: Chiang Mai, Thailand (Dutch national) Remote: Yes Willing to relocate: Yes Technologies: TypeScript/JavaScript, Three.js, Claude Code, Client-server networking, C++ R\u00e9sum\u00e9/CV: https://nickvanurk.com/resume.pdf Email: nickyvanurk@gmx.com Github: https://github.com/nickyvanurk LinkedIn: https://www.linkedin.com/in/nickyvanurk Interests: Gamedev, Game engines, Computer graphics, Computational Geometry, 3D Appl", "context": "Engine programmer seeking work", "use_case": "web 3D demos and games", "switched_from": "", "story": "Ask HN: Who wants to be hired? (March 2026)"}, {"id": 750826689, "item_id": 46926668, "url": "https://news.ycombinator.com/item?id=46926668", "by": "Kon5ole", "date": "2026-02-07", "stance": "neutral", "quote": "It uses three.js and a browser so it's just a toy of course", "excerpt": "A silly movie but I love it so much. Such nostalgia too. In the spirit of hackers I have to share this - I just asked Claude 4.6 to make a file system browser that works kinda like this, and it took 5 minutes to make something that actually works. Directories as skyscrapers with files as text on the side, moving around by wasd. It uses three.js and a browser so it's just a toy of course but still, I can navigate my f", "context": "", "use_case": "3D file browser", "switched_from": "", "story": "Hackers (1995) Animated Experience"}, {"id": 744001520, "item_id": 46500095, "url": "https://news.ycombinator.com/item?id=46500095", "by": "talkingtab", "date": "2026-01-05", "stance": "recommend", "quote": "Webgl, threejs, @react-three/{fiber/drei} provide another dimension and shaders are the gateway.", "excerpt": "There is the smoke part - worth seeing, the shader part - well worth exploring (shaders make you see the world in a different way , then there is the learning part. The site is very interactive so it allows you to see one, do one and maybe teach one. Many people are stuck in html land. I was. Webgl, threejs, @react-three/{fiber/drei} provide another dimension and shaders are the gateway. Very highly recommended as a ", "context": "", "use_case": "3D web graphics and shaders", "switched_from": "", "story": "Cigarette smoke effect using shaders"}, {"id": 738043521, "item_id": 46127720, "url": "https://news.ycombinator.com/item?id=46127720", "by": "shane-jacobeen", "date": "2025-12-02", "stance": "neutral", "quote": "adding the Z-axis (via three.js)", "excerpt": "OP here. If you've ever wrestled with a complex SQL schema, I built this project because I\u2019ve always found that traditional 2D ER diagrams turn into unreadable \"spaghetti\" once a database grows beyond a certain size. I wanted to test if adding the Z-axis (via three.js) could solve the crowding problem. My hypothesis is that by utilizing 3D depth, we can separate distinct table clusters and illustrate relationships wi", "context": "", "use_case": "3D rendering", "switched_from": "", "story": "Show HN: Schema3D \u2013 Interactive SQL schema visualization"}, {"id": 732528224, "item_id": 45783014, "url": "https://news.ycombinator.com/item?id=45783014", "by": "tannerjames711", "date": "2025-11-01", "stance": "recommend", "quote": "This really inspired me to check out three.js.", "excerpt": "Thank you for sharing. This really inspired me to check out three.js. This website of yours might be one of the more beautiful things on the internet.", "context": "", "use_case": "3D web graphics", "switched_from": "", "story": "Show HN: Strange Attractors"}]}