Repo of the Day
opennukit/Nukit-Air-Purifier-Builder: A parametric web app for making DIY air purifiers
Published: Aug 17, 2026
Open repository ↗A parametric web app for making DIY air purifiers
Summary
Nukit-Air-Purifier-Builder is a browser-based, parametric tool for designing DIY air purifier enclosures. You enter filter and fan dimensions and it returns a preview plus fabrication files for 3D printing, laser cutting, or hand cutting, along with estimated clean-air delivery rate (CADR), noise, and power draw. The project is dual-licensed: source code under GPL-3.0, and output designs and documentation under CC BY-SA 4.0.
What it is useful for
Engineers and hobbyists can use the builder to turn a chosen filter and fan into ready-to-fabricate files without manually modeling the housing. The parametric model supports three fabrication paths from the same input: 3D-printable chunks exported as a multi-plate 3MF or a per-chunk STL/3MF ZIP, laser-cut finger-jointed panels as kerf-corrected SVG and DXF (layout adapted from Boxes.py), or hand-cut foamcore panels as dimensioned SVG/DXF without fingers.
Three companion calculators are bundled as standalone pages. A room ventilation (ACH) calculator estimates a room's air changes per hour from a CO2 decay test. A filter box CADR calculator derives clean-air delivery rate from pressure readings taken with a phone sealed inside the box. A PC fan P-Q gauge produces a pressure-versus-flow curve for PC fans, explicitly described as "limited-accuracy."
For makers considering program reliability, the README warns that the app generates fabrication files rather than a certified appliance, and that all performance figures (CADR, ACH, noise, power, cost) are engineering estimates derived from fan and filter specs, not measured values.
How engineers can use it
The app uses Bun, the Manifold CSG kernel for watertight slicer meshes, and Three.js for the WebGL preview. To run it locally, the documented commands are:
bun install
bun run dev
The local app is then available at http://127.0.0.1:5173, per the README.
For verification, the documented checks are bun test and bun run build. Optional comparison scripts against a Boxes.py reference are bun run port:audit and bun run oracle:airpurifier. The README does not list prerequisites beyond Bun and a modern browser with WebGL, so engineers should consult the README directly for any unstated tooling details.
A practical workflow is to pick a filter and fan in the UI, watch the live 3D preview and parts list update, copy the URL to share the exact configuration with collaborators, then export the 3MF for printing or the SVG/DXF for cutting. Engineers adding new filters or fans can dig into src/domain/ (purifier settings, presets, units, performance estimation) and src/fabrication/ (panels, cut geometry, print kit planning, 3MF export), while Bun tests under test/ cover URL parsing, fabrication workflows, generated print kits, and 3MF output.