Independent software studio
We build small, sharp software.
Four products — a form backend, an AI song studio, an image toolkit and a Mac PDF editor. We design them, write them, run them, and answer the support mail ourselves.
Products
Four, all live.
Each one runs on its own domain with its own support inbox. Nothing here is a concept or a waitlist.
FormEmailAPI
01Contact form to email API
Point an HTML form at one endpoint and every submission lands in your inbox. No server, no backend code, no npm install.
- Spam filtering
- Domain locking
- CSV & JSON export
MakeSongGift
02The personalized song gift
Answer a few questions about someone and get a song written and recorded for them — delivered as a page you can share.
- Guided writing flow
- Original lyrics
- Shareable song page
DeepMaker
03AI image editing and creative tools
Twenty-odd focused image tools in one place — remove a background, erase an object, upscale a photo, generate an avatar. Pay as you go, no subscription.
- Background remover
- Object eraser
- Image upscaler
GoodPDF
04PDF editor and reader for Mac
Edit text, images and links in place with the original font matched for you. Annotate, sign, reorganize pages, compress and combine — one app for the whole document.
- Edit text in place
- Annotate & sign
- Organize pages
How we build
Small team, no layers in between.
- 01
We own the whole stack.
No page builders, no plugin layers, no vendor between us and the problem. Every product here is written from the database schema up to the last CSS variable — which is why anything in it can be fixed the same day it's reported.
- 02
Everything runs on the edge.
Static pages come straight off Cloudflare's asset layer; only the routes that genuinely need code ever reach a Worker. Data sits in D1 and R2 right next to them. Nothing waits on a single server in a single region.
- 03
We check what the eye can't.
A build guard rejects any artifact carrying a local URL, a dead utility class, or a canonical pointing at a redirect. A second script diffs every page against the previous site, structure by structure. A third asks the deployed instance for every route and every asset. Passing types and a 200 are not the same thing as shipped.
Get in touch
Product questions, partnerships, press. It reaches us directly — there is no support tier in between.
Contact Makrr