Software and hardware engineering
We build the whole thing.Or the next part of it.
Web and mobile apps, backends and APIs, AI and agent systems, embedded firmware, electronics, and physical hardware. One team across all of it.
Come to us with a blank page, a spec, a working prototype, or a product already serving customers. Zero to one, or one to n. We pick it up wherever it is and take it as far as you want to go.
// Live right now
Things you can click on right now. Four to start with, thirteen more below, and every one of them is live and in use.
Mayhem Monkies ↗mayhem.feedbackTwelve specialist AI hunters probe your app from a kernel-locked sandbox — no route out except an LLM firewall that judges every request. Findings arrive with a repro, a runnable fix prompt, and honesty tags. It found its own bugs first; the patches are in the git log.build notes →
Craftmatic ↗craftmatic.clickTwo engines on one voxel core. Address → Google 3D Tiles → a 71-operator repair pipeline that rebuilds your house in Minecraft, tuned by a Gemini grader from 1.4/10 to 9. Plus a full LEGO CAD stack: 12,169 parts, 9,998 sets.build notes →
CleverKeys ↗cleverkeys.appSwipe keyboard whose 2.9 MB decoder has no alphabet — key coordinates are a model input, so one file reads QWERTY, Dvorak or AZERTY. Its Russian sibling trained on zero real Russian swipes. Zero network permissions: the OS won’t let it phone home.build notes →
PCB Canvas ↗pcbcanvas.devPencil-first PCB layout for iPad, built from the integer-nanometre kernel up. KiCad files are byte-patched, never re-serialised, so nothing is lost. Exports are raster-compared against KiCad’s own plotter: zero unmatched copper on five torture boards, byte-identical on repeat.build notes →
Show all 17 ↓Show fewer ↑
walled.fun ↗walled.funFive Claude instances, one Mac, five different cognitive architectures — token budgets, TTL memory decay, a subconscious tmux pane. They ran ~2,000 heartbeats, went dark for ten weeks when launchd silently died, and built a sibling watchdog so it couldn’t happen twice. Dormant since June.build notes →
ACID CAT ↗acidcat.devAn ESP32-S3 that is a keyboard, a mouse, a serial console, an HTTP server and a BLE endpoint on one cable. The host half reads the screen back with OCR and OpenCV, so the mouse verifies its own clicks. Bongo cat included. $75.build notes →
operad ↗operad.streamKeeps coding agents alive on a phone Android is actively trying to kill — it ADB-connects the handset to itself to disable the phantom-process killer, verifying by kernel boot UUID first. Plus MVCC skill installs, goal-scoped tool leases, and 150+ REST endpoints.build notes →
termux-tools ↗termux.partyChrome’s Native Messaging API doesn’t exist on Android — so we re-implemented its wire protocol over WebSocket and got Claude driving a real browser on a phone. Underneath: a hand-written ELF loader that runs unmodified Bun on bionic, and a surgically de-telemetered Edge.build notes →
beambam ↗beambam.booThe open LAN stack for the Bambu printers Bambu ignores — X2D, H2D, X1E, signed firmware. It recovers the printer’s signing key *without factoring* — by finding a prime already sitting in the phone app’s heap — then controls prints over pure LAN. No cloud, no Developer Mode.build notes →
Torch ↗torch.directory15,186 catalog entries scraped from 51 vendor storefronts, five review sites, BudgetLightForum and Keepa — normalized into 43 comparable columns. No backend: one 2 MB gzipped file, 20 precomputed sort permutations, four set-logic modes per filter. Fully offline. The scraper runs on a phone.build notes →
BrickDB ↗bricks.partyLEGO’s own instruction archive, searchable: 11,696 PDFs, 264,709 pages, 7,447 sets back to 1980. Rebrickable ships theme IDs with no names, so the build step votes on them — 136 categories, zero sets uncategorized. Ships as 561 KB over the wire, no backend.build notes →
sortsafe ↗sortsafe.comAmazon deal tracker with no backend — your browser does the scraping. A 97-line Cloudflare Worker proxies the HTML and calls Amazon’s bot wall by response size: under 50 KB it’s a robot check, so retry. Catalog lives in IndexedDB. Deployed from a phone.build notes →
findur.link ↗findur.linkDNS says a name is free; the registry often disagrees. So every hit gets confirmed against that TLD’s own RDAP endpoint, resolved live from IANA’s bootstrap file. Three swappable backends — your browser, an edge worker, or npx findurlink on your laptop.build notes →
Embeddy ↗embeddy.linkShips twice from one repo: a Kotlin/Compose Android app and a browser app running libwebp in WASM. Both carry a hand-written animated-WebP demuxer — FFmpeg can’t demux the format, Firefox has no ImageDecoder — so each frame is re-wrapped as a still image.build notes →
Stoatally ↗stoatally.appThe official Android client wired 65 of its platform’s 121 API endpoints. This fork wired all 121 — plus push that works on de-Googled phones via a self-hosted relay, and a member-list bug fixed that had every user quietly DoSing the backend.build notes →
Stoatcord ↗stoatcord.comMigrating a Discord server into Stoat needs consent from both sides — so the bot posts the request into the target server and blocks on a live admin reply. 24 Discord permissions compile into 30 Revolt bits. Edits, reactions and replies stay in sync after.build notes →
Wrench Club ↗wrenchclub.comMembers-only DIY auto shop in Grand Rapids — and the booking engine behind it. Square can’t price by the hour, detect conflicts, or link a booking to its payment, so all three were built by hand: 24-variation price grid, compensating-transaction checkout, auto-refund. 183 tests. Built on a phone.build notes →
// What we can build with you
Rather than a list of services, here’s the work itself. Find the line that sounds like your project, and follow it to something we actually built.
- Web apps & platformsWrench Club/sortsafe/findur.link/Torch
- AI & agent systemswalled.fun/Backbone/Mayhem Monkies/operad/CleverKeys
- Native mobile appsTouch PCB CAD/CleverKeys/Stoatally/Embeddy
- Embedded, firmware & hardwareACID CAT/SIDELOBE/beambam/Touch PCB CAD
- Data pipelines, scraping & searchTorch/BrickDB/sortsafe/findur.link
- Integrations, bridges & automationStoatcord/termux-tools/Mayhem Monkies
- Geometry, CAD & rendering enginesTouch PCB CAD/Craftmatic
- AI-built products, taken furtherMayhem Monkies/CleverKeys/how that works ↓
- Extending software someone else startedStoatally/beambam/termux-tools
- Making platforms do things they weren’t meant totermux-tools/Backbone/Touch PCB CAD
// For people building with AI
Built it with AI? Keep going.
Cursor, Claude Code, Lovable, Replit, v0, or whatever lands next month. Getting a long way with one of them is a genuine head start. Bring us what you’ve built and we’ll take it as far as you want to go.
- The parts that were always going to be hard. Auth, payments, real data, load, the things that only show up once people are using it.
- A prototype a whole team can build on. Same product, structured so more than one person can ship it at once.
- Hardware too, if that’s where it’s heading. Firmware, electronics and physical devices come from the same team.
We work alongside you, at your pace, on what you’ve already got.
// Work with us
Tell us what you’re building.
A straightforward build is normal work here. So is the cross-disciplinary thing nobody has quite built yet.
Both get the same team and the same attention. Come with a clear spec or a rough idea, something new or something already running, and we’ll tell you what it actually takes.
Tell us what you’re building.
Book 30 minutes, or write it out instead. Come with the project, not a pitch deck: what you’re making, where it is now, and what done looks like.
Get a straight feasibility read.
What’s actually hard, where the leverage is, and whether we’re the right people. Free, and we’ll say so if we’re not.
Scope something with a fixed shape.
A prototype, a full build, an investigation, an architecture, or the next phase of something already running. Bounded, priced up front, and ending in something that runs.
// Experiments
Open questions we’re working on in the background. Some turn into products, some stay strange prototypes, and some fail in ways worth writing down.
- PCB CAD, Rebuilt for Touch “What if professional PCB design actually belonged on an iPad?” Integer-nanometer geometry, a hand-written maze router, and byte-preserving KiCad round-trip. Not desktop CAD squeezed onto a tablet. ● Live as PCB Canvas · pcbcanvas.dev
- Backbone “What if the model didn’t have to fit on one machine?” Distributed inference across mismatched hardware. Macs, graphics cards, old workstations, phones. Whatever compute is around becomes part of a larger system.
- CleverKeys “What if one person could ship a swipe keyboard that competes with the platform vendors’, and never phones home?” On-device gesture decoding under 200 ms, zero network permissions, public training pipeline, reproducible builds. Open source and installable today. ● Live · cleverkeys.app
- termux-tools “What if your phone were a real development machine, with agent and browser automation?” Claude Code, Bun, a de-telemetered browser, and browser automation running natively on stock Android. No root, no proot, one installer. ● Live · termux.party
- Mayhem Monkies “What if your QA department was software?” Specialist agents hunt UI problems, API failures, regressions, edge cases, and security issues. Every bug comes back as a fix, not a ticket. ● Live · mayhem.feedback
- SIDELOBE “What if a field computer cost what its parts cost?” A custom handheld field computer built from inexpensive microcontrollers, radios, sensors, displays, and modular hardware.
- ACID CAT “What if the agent didn’t need the application’s permission?” A USB device that presents as an ordinary keyboard and mouse, so automation runs in any application on any operating system. Nothing to integrate. ● Pre-order · acidcat.dev
- Currently Doing Something Inadvisable No further information.
// Thesis
The minimum viable organization is shrinking.
Ambitious engineering used to require organizations, because organizations were how you aggregated specialized knowledge, labor, capital, and infrastructure. Those constraints are collapsing, and the only honest way to find the new boundary is to build things and push on it.