Alternatives
Products that do what Ripl – A unified 2D/3D engine for Canvas, SVG, WebGPU, and the Terminal does
After several years, with a small hiatus in the middle, I've finally got Ripl to the point of being published. Ripl is a library for rendering 2D and 3D shapes to any context (canvas, SVG, WebGPU, and Terminal supported by default) using a single API. The library mimics the DOM as much as possible, replicating the event system, object graphing, CSS-like querying, gradients, and keyframe animations etc. I also built a complete data visualization library using the core package which is available as @ripl/charts. And yes, you can even render the charts to a terminal with about a 2-3 line…
- 1AJ
Here's a project I've been working on for a little while now. Ripl is a JS library that provides a unified API for rendering shapes on both canvas and SVG interchangeably. Over the years I've used D3 extensively to create data visualisations so I figured I'd have a go at making my own version with a slightly more modern API and stricter TypeScript support. I am aware there are already libraries that can draw to multiple contexts interchangeably, but I've added a few little niceties to Ripl that (as far as I know) some other libraries don't have such as CSS-like query selectors, DOM-like…
2024 · github.com
- 2

- 3

- 4AG
Many JS libraries exist to build graphs on the web (Vega, chartJS, Plotly...). They allow to make charts quickly. But you lose flexibility: you're limited by the options they offer. I just created a gallery with hundreds of graphs made with d3.js and React. - Examples are split by graph types - They all come with explanation and code sandboxes - Gradual complexity to ease the learning curve It took me ages to create this project! Feedback welcome!
2023 · react-graph-gallery.com
- 5RA
Hey HN! We're Ben and Izak, founders of Repaint (YC S23). Repaint is like Figma, but for creating real websites. It has panning, zooming, and dragging elements around. The settings closely follow html/css. We think an open canvas is a big improvement over other website builders. Everything is easier: styling, consistency, responsiveness… But making it work was hard! We thought HN would appreciate the tech behind it: - A custom WebGL rendering engine (w/text, shadows, blurs, gradients, & opacity groups) - A partial implementation of the css spec - A custom text editor & text shaper…
2024 · repaint.com
- 6TJ
2015 · riccardoscalco.github.io
- 7CW
Creator here. I built ChartGPU because I kept hitting the same wall: charting libraries that claim to be "fast" but choke past 100K data points. The core insight: Canvas2D is fundamentally CPU-bound. Even WebGL chart libraries still do most computation on the CPU. So I moved everything to the GPU via WebGPU: - LTTB downsampling runs as a compute shader - Hit-testing for tooltips/hover is GPU-accelerated - Rendering uses instanced draws (one draw call per series) The result: 1M points at 60fps with smooth zoom/pan. Live demo:…
Jan 2026 · github.com
- 8PJ
2018 · ptsjs.org
- 9SA
2022 · svelvet.io
- 10DJ
I'm Robbert, the creator of DataGridXL.js. Last month I released version 2 which includes many new features. DataGridXL is a free (and commercial) editable data table library written in ES6. My goal is to develop the most performant & user-friendly spreadsheet-like data table out there: - It has zero dependencies. You don’t need any framework to use DataGridXL. - It is lightweight (~250kb) and easy to use. It does not even require messing with CSS. - It has its own Virtual DOM implementation to prevent DOM errors. - Developer friendly. Supports all modern web browsers Please take a look at…
2022 · datagridxl.com
- 11VR
I've been going through Cem Yuksel's "Introduction to Computer Graphics" course and thought that writing a volume renderer would be a good way to test my knowledge. It is a common technique used to render 3D medical data. Works by ray marching a specific step size, reading a 3D texture (e.g. MRI data), and calculating opacity values. Code should be easy to get started with for anyone familiar with the JS ecosystem. Questions for the HN community: I spent 20-25% of the entire time just setting up the project and fighting issues with the JavaScript ecosystem. This experience has made me…
2024 · github.com
- 12

- 13IM
2025 · seve.blog
- 14SA
I'm the co-creator and maintainer of https://aframe.io/ and long time Web 3D graphics dev. Super excited about new techniques to author / render / represent 3D. Spark is a an open source library to easily integrate Gaussian splats in your THREE.js scene I worked with some friends and I hope you find useful. Looking forward to hearing what features / rendering techniques you would love to see next.
2025 · sparkjs.dev
- 15AA
Jun 2026 · glyphcss.com
- 16RT
2023 · antimatter15.com
- 17IB
Hi HN! Korean high school senior here, about to start CS in college. I built a browser engine from scratch in C++ to understand how browsers work. First time using C++, 8 weeks of development, lots of debugging—but it works! Features: - HTML parsing with error correction - CSS cascade and inheritance - Block/inline layout engine - Async image loading + caching - Link navigation + history Hardest parts: - String parsing(html, css) - Rendering - Image Caching & Layout Reflowing What I learned (beyond code): - Systematic debugging is crucial - Ship with known bugs rather than chase…
Jan 2026 · github.com
- 18AR
I’ve been experimenting with Rust lately and wanted a project that would help me explore some of its lower-level and performance-oriented features. Inspired by Sebastian Lague’s videos, I decided to implement my own ray tracer from scratch. The initial goal was just to render a simple 3D scene in the browser at a reasonable frame rate. It evolved into a small renderer that can: • Run locally or on the web using wgpu and WebAssembly • Perform mesh rendering with a Bounding Volume Hierarchy (BVH) for acceleration • Simulate both direct and indirect illumination for photorealistic results • Be…
Nov 2025 · github.com
- 19AP
So, after years of abandoning Rust after the hello world stage, I finally decided to do something substantial. It started with simple line rendering, but I liked how it was progressing so I figured I could make a reasonably complete PSX style renderer and a game with it. My only dependency is SDL2; I treat it as my "platform", so it handles windowing, input and audio. This means my Cargo.toml is as simple as: [dependencies.sdl2] version = "0.35" default-features = false features = ["mixer"] this pulls around 6-7 other dependencies. I am doing actual true color 3D rendering (with Z buffer,…
Sep 2025 · totenarctanz.itch.io
- 20VA
We’ve been working on Vaev, a minimal web browser engine built from scratch. It supports HTML/XHTML, the CSS cascade, @page rules for pagination, and print-to-PDF rendering. It even handles calc(), var(), and percentage units—and yes, it renders Google.com (mostly). This is an experimental project focused on learning and exploration. Networking is basic (http:// and file:// only), and grid layouts aren’t supported yet, but we’re making progress fast. We’d love your thoughts and feedback.
2025 · github.com
- 21AC
Jun 2026 · github.com
- 22IM
I was fascinated by this [0] and this video [1]. After many struggles, I finally built this app that traces images using circles similar to what these videos had shown. The most challenging part (to me) is to find a way to convert images to vector lines. I had tried Potrace, but its output is not suitable for my use case: too many small elements share the same border. Potrace's goal is to represent the original image faithfully using vector lines. But I want to trace the image edges. After searching and trying some Potrace alternatives in vain, I finally found my keyword. Surprisingly (to…
2022 · phqb.github.io
- 23GW
Hello, guys~ I recently developed a data exploration and visualization app which can be used as a different type of open-source alternative to Tableau. It is extremely easy to embed in your apps just as a react component. The original purpose is to develop a lite plugin that can be easily embedded in most cases, it doesn't have to be a large BI, but a lite graphic plugin. GitHub: Kanaries/graphic-walker, https://github.com/Kanaries/graphic-walker The main features implemented: * A user-friendly drag-and-drop-based interaction for exploratory data analysis with…
2023 · github.com
- 24SC
Svader is a library for rendering 2D shaders on Svelte websites, using either WebGL or WebGPU. It's streamlined for the specific use case of rendering 2D graphics using fragment shaders as an alternative to SVG or the JS canvas API, so it's not meant for doing 3D objects like three.js, for example. This started as something I needed for my own project, but I eventually decided to split it into a separate library. I've since found that this use case fits really well into the Svelte compiler-based approach and its fine-grained reactivity system. In general, I think using shaders like these has…
2024 · github.com
Ranked by how close each launch is in meaning, then by votes. Refine with a description →