Hello HN users,This is a CAD by code project I have been working on on my free time for more than year now.I built it with 3 goals in mind:- It should be familiar to CAD designers who have used other programs. Same workflow, same terminology.- Reduce the mental effort required to create models as much as possible. This is achieved by: - Provide live rendering and visual guidance as you type. - Allow the user to reference existing edges/faces on the scene instead of having to calculate everything. - Provide interactive mouse helpers for features that are hard to write by code: Only 3 interactive modes for now: Edge trimming, Sketch region extrude, Bezier curve drawing. - Implicit coding whenever possible: e.g: There are sensible defaults for most parameters. The program will automatically fuse intersecting objects together so you do not have to worry about what object needs to be fused with what. - It should be reasonably fast: The scene objects are cached and only the updated objects are re-computed.I think I have achieved these goals to a good extent. The program is still in early stages and there are many features I want to add, rewrite but I think it is already usable for simple models.Update to add more details: This is based on Opencascade.js WASM binding. So you get all the good things that come with any brep kernel. Fillets, chamfers, step import and export...The scene is webview but the editing is in your local file. You use your own editor and the environment you are familiar with.One important feature that I think make this stand out among other code based cad software is the ability to transform features not just shapes. More here: https://fluidcad.io/docs/guides/patterns You can see it in action in the lantern example: https://fluidcad.io/docs/tutorials/lantern
FL score
out of 100
Verdict
medium confidence
Competition
6
competitors found, emerging market
Trend
No signal yet
A parametric CAD tool leveraging JavaScript for developers, offering an intuitive, interactive workflow that bridges the gap between traditional CAD and code-based design.
The pain
The gap
Build angle
Strengths
Questions about this idea?
FlyBot reads the scoring and gives you a second opinion on “FluidCAD – Parametric CAD with JavaScript”.
Risks
Next steps
Fly Labs Method
Is the pain real, is there a gap, is it the right time, can one person build it.
Strong problem and solution gap for scriptable CAD users, but build complexity and monetization in a free market pose challenges for a solo builder.
Value Equation
Dream outcome and how likely it feels, against the time and effort it costs.
Good market pain, strong value proposition, and niche growth, but high build complexity and monetization challenge in a free market.
One-Person Business
Curiosity pull, identity fit, and a path from free value to paid for a solo creator.
Strong problem clarity and creator fit, but the complexity of building/maintaining a CAD tool and monetization in a free market pose challenges for solo scaling.
Viral Frameworks
Hook strength, shareability, and how cheaply it can be tested.
Clear target audience and strong value proposition, but business model and long-term solo builder sustainability are key assumption risks.
Builder Lens
Evidence the problem exists, timing, defensibility, and a model that fits on a napkin.
Strong demand for a better code-CAD tool with a clear target, but validating the narrowest paid wedge and managing build complexity are key.
Why this verdict
Five lenses, one composite. How scoring works
The angle
This weekend
Who is already there, emerging market
A free software for creating solid 3D CAD objects using a descriptive programming language.
Pricing: Free and open-source.
An open-source set of modular, browser, and command-line tools for creating parametric 2D and 3D designs with Javascript code.
Pricing: Free and open-source.
An intuitive, easy-to-use Python-based language for building parametric 3D CAD models, offering a Pythonic API and B-Rep modeling.
Pricing: Free and open-source.
A free online platform designed to help students learn coding and CAD, and create using a block-based interface.
Pricing: $149/year starting price for individual users, with school licenses around $7.50 per student per year.
A free and open-source parametric 3D modeler primarily for designing real-life objects, with a traditional CAD approach and Python scripting capabilities.
Pricing: Free and open-source.
A computer-aided design (CAD) tool from a parallel universe in which CAD software evolved from Lisp machines rather than drafting tables.
Pricing: Free and open-source.
What they charge
Recent news
Hacker News, April 10 2026
Market signals
The 'CAD by code' or scriptable CAD market appears to be a growing niche, driven by developers and engineers seeking reproducible, parametric, and automated design workflows. There's a strong emphasis on open-source solutions, with projects leveraging languages like Python and JavaScript. Recent discussions highlight the desire for better performance, improved user experience, and more advanced features within this paradigm.
What frustrates people
Last summer we faced a conundrum at my company, Tiger Data, a Postgres cloud vendor whose main business is in timeseries data. We were trying to grow our business towards emerging AI-centric workloads and wanted to provide a state-of-the-art hybrid search stack in Postgres. We'd already built pgvectorscale in house with the goal of scaling semantic search beyond pgvector's main memory limitations. We just needed a scalable ranked keyword search solution too.The problem: core Postgres doesn't provide this; the leading Postgres BM25 extension, ParadeDB, is guarded behind AGPL; developing our own extension appeared daunting. We'd need a small team of sharp engineers and 6-12 months, I figured. And we'd probably still fall short of the performance of a mature system like Parade/Tantivy.Or would we? I'd be experimenting long enough with AI-boosted development at that point to realize that with the latest tools (Claude Code + Opus) and an experienced hand (I've been working in database systems internals for 25 years now), the old time estimates pretty much go out the window.I told our CTO I thought I could solo the project in one quarter. This raised some eyebrows.It did take a little more time than that (two quarters), and we got some real help from the community (amazing!) after open-sourcing the pre-release. But I'm thrilled/exhausted today to share that pg_textsearch v1.0 is freely available via open source (Postgres license), on Tiger Data cloud, and hopefully soon, a hyperscalar near you:https://github.com/timescale/pg_textsearchIn the blog post accompanying the release, I overview the architecture and present benchmark results using MS-MARCO. To my surprise, we were not only able to meet Parade/Tantivy's query performance, but exceed it substantially, measuring a 4.7x advantage on query throughput at scale:https://www.tigerdata.com/blog/pg-textsearch-bm25-fu
AI
Hi HN!I recently switched from a Fedora/GNOME laptop to a MacBook Air. My old setup served me well as a portable workstation, but I’ve started traveling more while working remotely and needed something with similar performance but better battery life. The main thing I missed was a simple taskbar that shows the windows in the current workspace instead of a Dock that mixes everything together.I built boringBar so I would not have to use the Dock. It shows only the windows in the current Space, lets you switch Spaces by scrolling on the bar, and adds a desktop switcher so you can jump directly to any Space. You can also hide the system Dock, pin apps, preview windows with thumbnails, and launch apps from a searchable menu (I keep Spotlight disabled because for some reason it uses a lot of system resources on my machine).I’ve been dogfooding it for a few months now, and it finally felt polished enough to share.It’s for people who like macOS but want window management to feel a bit more like GNOME, Windows, or a traditional taskbar. It’s also for people like me who wanted an easier transition to macOS, especially now that Windows feels increasingly user-hostile.I’d love feedback on the UX, bugs, and whether this solves the same Dock/Spaces pain for anyone else.P.S. It might also appeal to people who feel nostalgic for the GNOME 2 desktop of yore. I started my Linux journey with it, and boringBar brings back some of that feeling for me.
AI
### Describe the project you are working on Godot C# bindings ### Describe the problem or limitation you are having in your project For the past weeks, I've been discussing with several Unity users intending to move to Godot C# regarding dealing with the C# garbage collector. The most common complaint I hear from users is that, in Unity, allocations can trigger unexpected GC spikes into the game. In Godot, we target to make all of the high performance APIs (those that intended to be called every frame) not allocate any memory, so theoretically the GC should not be a problem. Additionally, Godot starting from 4.0, uses the Microsoft CoreCLR version of .net, which also supposedly has a better garbage collector than Unity. But in all, after several discussions with Unity users, neither is enough reassurance for them, and they would really feel safer if Godot exposed a zero allocation API. ### Describe the feature / enhancement and how it helps to overcome the problem or limitation The idea of this proposal is that Godot exposes zero allocation versions of many functions in the C# API, that users can use if they desire. Technically, this could be done from the binding generator itself, without breaking compatibility, and without doing any modification to Godot itself. ### Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams **WARNING** I am not familiar with C#, so take this as pseudocode. Imagine you have two functions exposed as to C#: ```C# void MyClass.SetArray( Vector2[] array); Vector2[] MyClass.GetArray(); ``` This works and is pretty and intuitive. However, it has two problems: * GC is allocated on return * Memory is copied to Godot native formats every time there is a call. The idea is to add NoAlloc versions, which can be generated directly by the binder automatically when required: ```C# void MyClass.SetArrayNoAlloc( Godot.Collections.PackedVector2Array array); void MyCl
AI