Design.Engineeredshipped.
Pulp is a software house. We build for enterprise teams shipping at scale, solo founders chasing their first user, and the open‑source commons in between. Design, engineering, one standard.
We design.
We engineer.
We don't pitch.
Small senior team. One bar. We take on client work when the problem is interesting; we ship our own products when it isn't.
Product design
From whiteboard to interface.
UX research, information architecture, interaction design, and pixel-level interface work. We design in code when the brief calls for it.
Engineering
Typed, tested, shipped.
Web, mobile, and backend. TypeScript-first. React / Next / Remix, Node, Go, Rust, Postgres. Infrastructure on Vercel, Cloudflare, AWS.
Developer tooling
SDKs, CLIs, docs.
If your users are developers, their first impression is an API and a terminal. We write libraries, command-line tools, and documentation that reads like it was written by someone who uses it.
Fractional CTO
Early-stage leverage.
Architecture reviews, hiring, code culture, on-call. For founders who need a senior set of hands for a quarter, not a full-time hire.
Nullform
Ledger primitives for a B2B payments stack
Kerning
Browser extension + VS Code integration
Aperture
Editorial CMS for a long-form publication
Refractor
Dashboard + billing for an inference platform
Code we give away to sharpen the code we sell.
Libraries pulled out of client work, tools we wanted but couldn't find, experiments that earned their keep. MIT unless the license says otherwise.
Filesystem-based router for Hono with typed params.
Minimal feature-flag runtime. 2kb, edge-compatible.
Postgres schema diff tool. Reads migrations, not just schema.
Animation primitives for React. 6kb. No dependencies.
Zero-config deploy previews for self-hosted services.
README-driven CLI generator. Parse, scaffold, ship.
No pitch decks. No
retainer traps. Just ship.
Brief
You tell us what's broken. We read the code, the specs, the room.
Scope
Fixed-fee or time & materials, your call. Milestones you can actually hold us to.
Design
We design in the medium it will ship in. If that's code, we ship prototypes.
Build
Short cycles. Weekly demos. You see the codebase from day one.
Ship
On-call support through the first release. Handover when you’re ready.
Pick a shape. No SOW theater.
Three standard engagements. Fixed fees where possible. If none of these fit, we'll write a one-pager that does.
A concentrated push. Fixed scope, fixed price. Ideal for audits, prototypes, and one-shot features.
- → 1 senior designer + 1 senior engineer
- → Async by default, 2 calls / week
- → Working demo at the end
- → Full source handoff
End-to-end product work. Design, build, and ship something you launch under your brand.
- → Small senior team, 2–6 months
- → Milestone-based, fixed-fee
- → Weekly demo + Loom updates
- → On-call support post-launch
Ongoing capacity for a product team. Embed with your engineers; treat us like a pod.
- → Fractional senior capacity
- → Shared Slack, shared repo
- → Architecture + code review
- → Cancel with 30 days' notice
Notes from the
cutting room.
Lessons we only trust once we've shipped them. Published when they're ready, not weekly.
Migrations without tears: a case for declarative schema diffs
9 min2026.03.21DesignWhat typography can't fix — and three patterns that can
6 min2026.02.14EssayAgainst the software house as agency cosplay
12 min2026.01.30EngineeringShipping a Rust deploy tool at a TypeScript shop
11 minTell us
what's broken.
No forms with 14 required fields. No “schedule a discovery call.” Write a paragraph, we'll write back.