DEV Community

zyg
zyg

Posted on

Building Hy-CAD: A WebGPU-Powered CAD Viewer with Rust and Kiro

The Problem

Why should viewing a CAD drawing require installing gigabytes of proprietary software? Engineers in the field and architects on-site all face this barrier. I set out to change that.

What I Built

Hy-CAD is a cloud-first CAD system that brings AutoCAD-grade rendering directly to your web browser. It handles complex DXF drawings with 100,000+ entities, renders via WebGPU acceleration, and delivers native desktop performance.

Hy-CAD Screenshot

Key Features

  • Instant DXF viewing (up to 50MB, zero installation)
  • GPU-accelerated pan/zoom at 60fps
  • Full entity support: lines, arcs, splines, hatches, dimensions, text
  • Complete layer management
  • Cross-platform: Windows, macOS, Linux, any modern browser

Tech Stack

  • Rust - Compiles to both native and WebAssembly
  • wgpu - Unified GPU abstraction (WebGPU/Vulkan/Metal/DirectX)
  • egui - Immediate mode UI
  • glam - Fast math operations

How Kiro Accelerated Development

Kiro was instrumental in building Hy-CAD. Here's how:

Spec-Driven Development

I created detailed specs in .kiro/specs/ for major features. Each spec contained requirements, design, and tasks. Kiro followed these specs precisely, implementing complex features like NURBS evaluation and tessellation caching without deviation.

Vibe Coding for Rapid Prototyping

For exploratory work, I used conversational prompts. The most impressive generation was a complete WebGPU rendering pipeline—15,000+ lines of production Rust code including spatial indexing, geometry batching, and GPU culling shaders.

Steering Documents

Three steering files (product.md, structure.md, tech.md) ensured Kiro always understood the project context. This eliminated 90% of architectural mistakes.

Technical Challenges Solved

Font Rendering: CAD fonts (SHX) aren't browser-compatible. Built a font mapper translating CAD references to web-safe equivalents.

Precision at Scale: Engineering coordinates span micrometers to kilometers. Implemented dynamic view origin re-centering for sub-pixel accuracy.

WebGPU Compatibility: Created an abstraction layer with WebGL2 fallback for universal browser support.

Results

  • 95% native performance via WebAssembly
  • <100ms first paint for typical drawings
  • Zero server-side processing required

Try It

🔗 GitHub Repository
🔗 Live Demo


Built for the Kiro Hackathon. Professional CAD tools belong to everyone.

Top comments (0)