PutThrough Product engineering studio
Book a build call

Services

Two we sell at a price. Three we quote.

Rescue and store launch are productized — fixed scope, published price, stated turnaround — because they are the same work almost every time. Web, app and AI agent builds are quoted after a scoping call, because a new build has no typical size.

01Productized

Fixed price, published

The same work almost every time, so it is sold like a product: a fixed scope agreed from an audit, a number you can read before you talk to us, and a stated turnaround.

Rescue & Hardening

Your AI-built app made safe to launch: access control, payments, deploys and monitoring.

$1,800 from — range $1,800–$2,500

Mobile & Store Launch

Your app packaged, compliant and submitted — through review, not just uploaded.

$2,500 from — range $2,500–$4,000

02Quoted

Quoted after a scoping call

A new build has no typical size, so a published price would only mean padding it to cover the worst case. Everything here ships with the same foundations the rescue work puts back.

Web development

New applications and new features, built production-ready from the first commit.

App development

Mobile apps built to ship — iOS and Android, through review and into the stores.

AI agent development

LLM features that behave in production — tools, evals, cost control and MCP servers.

03Method

How every engagement runs

Read-only first

We begin with viewer access. Write access is requested when a sprint starts and revoked when it ends.

Fixed scope, fixed price

Scope is agreed in writing before work begins. Work outside it is a separate quote, never an adjusted invoice.

Your repository

Branches and pull requests you review. Nothing of ours is left behind that you would need us to maintain.

Written handover

Every change described in plain language, so the next engineer — or you — can pick it up without us.

04Stack

What we work in

Split into what we default to and what we also work in. If your system is outside this, tell us on the call — we would rather say no than learn a stack on your budget.

Web

Frontend and full-stack

TypeScript everywhere, and a framework that renders on the server unless the product is purely an application behind a login.

We default to

  • TypeScript
  • React
  • Next.js
  • Astro
  • Tailwind CSS
  • Vite

We also work in

  • JavaScript
  • Remix
  • SvelteKit
  • Vue 3
  • Nuxt
  • shadcn/ui
  • Radix UI
  • TanStack Query
  • TanStack Table
  • React Hook Form
  • Zod
  • Zustand
  • Redux Toolkit
  • Framer Motion
  • MDX
  • Storybook
  • Vitest
  • Playwright
  • Testing Library
  • ESLint
  • Prettier
  • Recharts
  • D3
API

Backend and services

Boring, typed and synchronous until something measurably needs to be a queue. Most systems need fewer moving parts than they are given.

We default to

  • Node.js
  • Python
  • REST
  • tRPC
  • Background jobs
  • Queues

We also work in

  • Hono
  • Fastify
  • Express
  • NestJS
  • FastAPI
  • Django
  • GraphQL
  • OpenAPI
  • WebSockets
  • Server-sent events
  • BullMQ
  • Celery
  • Inngest
  • Trigger.dev
  • Cron and scheduled work
  • Stripe
  • Paddle
  • Razorpay
  • Resend
  • Postmark
  • Twilio
  • Webhooks in both directions
Data

Databases and storage

Postgres unless there is a specific reason otherwise, migrations in the repository, and a restore that has been executed rather than merely configured.

We default to

  • Postgres
  • Supabase
  • Redis
  • Migrations
  • Backups and restore

We also work in

  • Neon
  • PlanetScale
  • MySQL
  • SQLite
  • Turso
  • Firebase Firestore
  • Upstash
  • Drizzle ORM
  • Prisma
  • Kysely
  • pgvector
  • Row-level security
  • Point-in-time recovery
  • Meilisearch
  • Typesense
  • Elasticsearch
  • S3
  • Cloudflare R2
  • Read replicas
  • Connection pooling
App

Mobile

Expo unless the product is the platform experience. One codebase is worth a great deal when the maintenance bill outlasts the project.

We default to

  • React Native
  • Expo
  • EAS Build
  • Swift
  • Kotlin

We also work in

  • Capacitor
  • Flutter
  • SwiftUI
  • Jetpack Compose
  • Expo Router
  • React Navigation
  • Reanimated
  • MMKV
  • WatermelonDB
  • StoreKit
  • Google Play Billing
  • RevenueCat
  • APNs
  • Firebase Cloud Messaging
  • Expo Notifications
  • Fastlane
  • App Store Connect
  • Google Play Console
  • Detox
  • Maestro
  • Privacy manifests
Ops

Infrastructure and observability

Managed platforms until scale or cost argues otherwise. The parts we insist on are a deploy you can roll back and an error that reaches a human.

We default to

  • Vercel
  • Cloudflare
  • Docker
  • GitHub Actions
  • Sentry

We also work in

  • AWS
  • Cloudflare Workers
  • Cloudflare R2
  • Cloudflare D1
  • Fly.io
  • Railway
  • Render
  • Terraform
  • Nginx
  • Caddy
  • GitLab CI
  • Grafana
  • Prometheus
  • Axiom
  • Better Stack
  • Checkly
  • Uptime checks
  • Structured logging
  • Staged rollouts
  • Tested rollback
AI

AI systems

Hosted models behind an interface you can swap, with the eval set deciding which one you use this quarter rather than a contract.

We default to

  • Claude
  • OpenAI
  • MCP
  • Evals
  • Tracing
  • Cost control

We also work in

  • Gemini
  • OpenRouter
  • LiteLLM
  • Vercel AI SDK
  • Anthropic SDK
  • Tool and function calling
  • Structured output
  • Prompt caching
  • Batch APIs
  • Model routing
  • pgvector
  • Qdrant
  • Pinecone
  • Chroma
  • Hybrid retrieval and re-ranking
  • Langfuse
  • LangSmith
  • Braintrust
  • Helicone
  • Ollama
  • vLLM
  • OAuth 2.1 for MCP

Every engagement starts with the audit.

It is the only way we will quote a sprint, because it is the only way either of us knows what the work actually is. Fixed price, two business days, and credited in full if you go ahead.

Prefer to write? Send your requirements

What do you need?

What it should do, who will use it, the must-haves, and any links. A few sentences is plenty.

Budget, if you have one in mind
When would you like to start?