Developer Builds Scheme Compiler to WASM Using AI in 4 Days

Matthew Phillips built Puppy Scheme, a Scheme compiler that compiles to WebAssembly, in approximately four days with AI assistance. The project was inspired by seeing others quickly build near-production-level tools that would normally take months or years.
Key Features and Capabilities
The compiler includes:
- Support for 73% of R5RS and R7RS Scheme standards
- Support for WASI 2 and the Component Model
- Uses WASM GC (garbage collection)
- Pretty good dead-code elimination, creating small binaries
- Self-hosting capability - Puppy compiles its own source code to puppyc.wasm
- A wasmtime wrapper to create native binaries
- A website that runs on Puppy wasm in Cloudflare Workers
Performance Improvements
One night, Phillips told Claude to "grind on performance" and when he woke up, compilation time had improved from 3½ minutes down to 11 seconds.
Example Code
The project includes a component model example:
(define count 0)
(define (counter-view)
(html
(div (@ (class "counter"))
(button (@ (on "click" "on_decrement")) "-")
(span (@ (class "count")) ,(number->string count))
(button (@ (on "click" "on_increment")) "+"))))
(define (handle-event handler)
(cond
((equal? handler "on_decrement")
(if (> count 0)
(set! count (- count 1))))
((equal? handler "on_increment")
(set! count (+ count 1)))))
Current Status
The compiler is still alpha quality, and Phillips runs into bugs frequently, so it's probably not ready for anyone other than him to use. However, he notes that "the number of features is impressive for how little time I spent on it." The project demonstrates how AI can accelerate development of complex compiler projects.
Phillips worked on this as a side project, spending most of a weekend plus an hour or two on a couple of weekday nights. He's not sure where he'll take it from here, but the project is available at puppy-scheme.org.
📖 Read the full source: HN AI Agents
👀 See Also

Why Your Claude Code UI Output Drifts and How a Structured Spec Fixes It
A developer explains that inconsistent UI output from Claude Code isn't a prompt problem — it's a format problem. Providing exact hex codes, font weights, spacing, screen states, and transitions eliminates drift. They also open-sourced an MCP server that converts screen recordings into structured specs.

Files.md: Open-Source Local-First Markdown Note-Taking App with LLM-Friendly Design
Files.md is an open-source, local-first markdown app for notes, tasks, and journals. 886 stars, built in Go, works offline, syncs via iCloud/Dropbox/self-hosted server or hosted beta app.files.md.

OpenClaw-Superpowers: A Native Port of Jesse Vincent's Superpowers Framework Without Claude Code Dependency
A Reddit user ported obra/superpowers to OpenClaw with dedicated agents (coding orchestrator, implementer, reviewer) and native commands like sessions_spawn and update_plan, removing Claude Code dependency.
Zillow-Full: An OpenClaw Skill That Turned Manual Property Research Into an Automated Deal Pipeline
A developer built 'zillow-full' on OpenClaw to pull Zestimates, tax history, price history, and comps per property. With a nightly cron scoring listings against deal criteria, wholesale deals went from 2 to 11 per month.