Skip to main content

Build apps. Automate workflows.
Connect anything.

Turn an idea into a working app, automation or integration without setting up infrastructure. Hosting, APIs, a database, queues and scheduled jobs come with every project, and you can write the code yourself or with your AI coding agent.

No credit card • Data stored in the EU • Full API overview

What can you build with Codehooks?

One project can be an app, an automation, an integration or all of them at once.

Build apps

Your frontend, API and database in one project. Good for dashboards, internal tools and app backends.

Building apps →

Automate workflows

Scheduled jobs, background workers and multi-step workflows, written in real code with retries and state.

Automations →

Connect anything

Receive webhooks, call other APIs and keep systems in sync, with signature checks and storage built in.

Integrations and webhooks →

How do the pieces fit together?

Here's one project handling an order from payment to dashboard. Every box is part of the same deploy, and every step uses the same storage.

Stripesends a payment event
One Codehooks project
When an order comes in
  1. ConnectWebhook endpoint
    Checks the signature, saves the order and replies at once.
  2. AutomateQueue
    Holds the order until a worker is free.
  3. AutomateWorker
    Fulfils the order in the background.
  4. BuildAPI
    Serves the orders to your app.
  5. BuildFrontend
    A dashboard your team opens in the browser.
On a schedule
AutomateCron job
Every morning at 07:00, finds orders that are still open.
Storage, shared by every step
DataDatabase
The orders collection, used by every step.
DataKey-value store
Remembers Stripe event IDs, so a retried event is only handled once.
Show the code for this project (one file, about 60 lines)
index.js
import { app, Datastore } from 'codehooks-js';
import { verify } from 'webhook-verify';

// Connect: Stripe calls this endpoint, so it skips the API key check
app.auth('/webhook/*', (req, res, next) => next());

app.post('/webhook/stripe', async (req, res) => {
const secret = process.env.STRIPE_WEBHOOK_SECRET;
if (!verify('stripe', req.rawBody, req.headers, secret)) {
return res.status(401).json({ error: 'Invalid signature' });
}
const conn = await Datastore.open();
// Stripe retries events, so skip any event ID seen in the last week
const kv = { keyspace: 'stripe-events' };
if (await conn.get(req.body.id, kv)) {
return res.json({ received: true });
}
const order = await conn.insertOne('orders', {
eventId: req.body.id,
status: 'new',
});
await conn.enqueue('fulfil', { orderId: order._id });
await conn.set(req.body.id, 'done', { ...kv, ttl: 7 * 24 * 60 * 60 * 1000 });
res.json({ received: true });
});

// Automate: a worker handles each order in the background
app.worker('fulfil', async (req, res) => {
const { orderId } = req.body.payload;
const conn = await Datastore.open();
// call your shipping or CRM API here
await conn.updateOne('orders', orderId, { $set: { status: 'done' } });
res.end();
});

// ...and a cron job checks for stuck orders every morning
app.job('0 7 * * *', async (req, res) => {
const conn = await Datastore.open();
const stuck = await conn.getMany('orders', { status: 'new' }).toArray();
console.log(`${stuck.length} orders still open`);
res.end();
});

// Build: an API (protected by API key or JWT by default)
app.get('/api/orders', async (req, res) => {
const conn = await Datastore.open();
const orders = await conn.getMany('orders', {}, { limit: 50 }).toArray();
res.json(orders);
});

// ...and the frontend that calls it, served from the same deploy
app.static({
route: '/',
directory: '/dist',
default: 'index.html',
notFound: '/index.html',
});

export default app.init();

Works with the coding agent you already use

Describe what you want and your agent builds it on Codehooks. Codehooks is built around a CLI, so Claude Code, Codex, Cursor or any agent that can run shell commands can create, deploy and debug a project for you.

Example session

Build a feature request board. People can post ideas and vote on them, and ideas with no votes are archived after 30 days.

  • coho promptreads the Codehooks API reference
  • coho create featureboardcreates the project
  • npm installinstalls codehooks-js
  • index.jsAPI routes for ideas and votes, plus a nightly archive job
  • public/index.htmlthe board people use
  • coho deploydeploys frontend, API and job together
  • coho log -fchecks the first requests

✓ Live at https://featureboard-2b39.codehooks.io

Build
A web page
The board, served from the project.
Build
An API
Post ideas and vote.
Build
A database
Ideas and votes, stored.
Automate
A nightly job
Archives old ideas.

Run coho prompt first so your agent has the full API reference, or install the Claude Code plugin for templates and API context. Set up your agent →

How fast can you get something live?

A few minutes after installing the CLI you have a live API with a database behind it. Every change after that is one command, and the deploy takes under 5 seconds.

Terminal
npm install -g codehooks
coho login
coho create myproject # creates a CRUD API and deploys it
cd myproject
npm install
coho deploy # after each change, live in seconds
A live URL
Your API is reachable as soon as the create command finishes.
A database
Read and write records from your routes right away.
Logs
Follow every request with coho log -f.

Read the quickstart →

Built on Codehooks

Event pipelines, AI-backed APIs and app backends that developers have shipped

Alexander Sundli-Härdig

For one of our portfolio companies' clients, we needed a quick way to capture webhook events from their order system.

Codehooks was amazingly simple to deploy and use. In a matter of minutes we set up a new project with a simple API to store and process the incoming data.

Alexander Sundli-Härdig
Partner
Skavl
Peter Skaugvold

Codehooks is a great tool! In record time we built a backend and AI-enabled API which processes live events and data from our sonars.

The data is now easily accessible in a dashboard for our customers. I love the simplicity and the fact that we can iterate so quickly.

Peter Skaugvold
CEO
Waive
Michael Bordash

Codehooks powers the backend of my iOS app Fraud Monitor, processing real-time events for ML training, scam detection, and user feedback.

I chose it for its developer-first CLI, elegant APIs, and rock-solid data model — and I've stayed for the flawless uptime and peace of mind. I'm a fan.

Michael Bordash
Founder
Fraud Monitor

What does Codehooks cost?

Each plan has a flat monthly price. You can run as many requests, jobs and deploys as your plan's rate limits allow, and the bill stays the same (there are no per-request fees).

Development

Explore and prototype

Free

1 Developer
API/Functions: 1/sec, 500/day
1 Worker per queue
Worker timeout 30s
150 MB Database Storage
1 GB File Storage
1 Space
Chat and Email Support
No Credit Card Required
 
Most popular

Pro

For production apps

$19/month

3 Developers*
API/Func: up to 3600/min
Up to 5 parallel workers
Worker timeout 3 min
15 GB Database Storage*
25 GB File Storage*
1 Custom Domain with SSL*
1 Space*
Daily Backups
Chat and Email Support
* Expandable (see pricing below)

Team

For scaling teams

$99/month

6 developers*
API/Func: up to 6000/min
Up to 30 parallel workers
Worker timeout 10 min
25 GB Database Storage*
100 GB File Storage*
3 Custom Domains with SSL*
3 Spaces*
Daily Backups
Premium Support
* Expandable (see pricing below)

Need more? Add developers ($5), database ($0.10/GB), file storage ($0.02/GB), domains ($10), or spaces ($10) anytime.

Need an SLA? Contact us for Team plan SLA options.

Frequently Asked Questions

Common questions about building with Codehooks.

What can I build with Codehooks?
Web apps and APIs, automations and integrations, and usually a mix of them in one project. People use it for internal tools and dashboards, form and app backends, scheduled jobs and data syncs, email sequences, and webhook handlers for Stripe, Shopify, GitHub and other services. Browse the templates to see complete projects you can deploy as a starting point.
What's included out of the box?
Every project gets API routes (Express-style) and crudlify for instant REST APIs, a NoSQL database with MongoDB-style queries, a key-value store, queues with workers, cron jobs, the Workflow API, file storage and frontend hosting. Authentication works with API tokens or JWTs from any JWKS provider. There's nothing to provision, because it all ships with the project.
Do I need to set up any infrastructure?
No. You don't create a database, a queue, a scheduler or a web server. You write your code in JavaScript or TypeScript and run coho deploy, which takes under 5 seconds, and the platform runs it with everything above already available.
Can my AI coding agent build it for me?
Yes. Codehooks is CLI-first, so any coding agent that can run shell commands (Claude Code, Codex, Cursor and others) can run coho create, write the code and coho deploy from the terminal. Run coho prompt to give the agent the full API reference, or point it at llms.txt. Claude Code users can add the Codehooks plugin for templates and API context. See AI agent setup for the details. We're also building a remote MCP server, so agents that can't run shell commands will be able to create, deploy and manage projects too. Until it ships, the CLI is the way to go.
How is this different from Zapier, Make or n8n?
Those are visual automation tools with large libraries of prebuilt connectors, and if a ready-made connector covers what you need, they're often the quickest option. Codehooks is code. You call APIs yourself, so there's no connector catalogue, but you get loops, error handling and state that are hard to express in a visual builder, plus a database, an API and hosting in the same project.
Can Codehooks both receive and send webhooks?
Yes. Inbound: receive webhooks from any provider, verify the signature with webhook-verify, then store, queue and process them. Outbound: deliver webhooks to your own users with signing, retries and delivery logs, using the webhook delivery system template. The database and runtime sit between the two, so you can query and act on every event.
How is this different from Svix or Hookdeck?
Svix and Hookdeck are webhook gateways. They're good at ingesting, retrying and delivering events, with delivery logs and observability, but they hand each event off to your backend. Codehooks is the backend itself: a NoSQL database, queues, cron, a key-value store, API routes and hosting sit behind every endpoint, so you can store an event, query it later and run your own logic on it without wiring up a second service.
Where is my data stored?
All data and backups are stored in the EU. Paid plans include daily automated backups. We are GDPR compliant.
How does authentication and security work?
Routes need an API token or a valid JWT by default. For user login, connect an identity provider that publishes a JWKS endpoint (Clerk, Auth0, Stack Auth and others) with one command, coho jwks , and every API call is verified against it. For something simpler, such as a shared password on an admin route, your coding agent can write the check in an app.auth() hook. API keys and secrets are encrypted. Paid plans can restrict access by IP address. We provide encryption at rest and are GDPR compliant.
I'm not a developer. Is there a simpler option?
If you want to build a working business app from a plain-language description instead of writing code, check out our sibling product Snill.ai, also from the Codehooks team. Snill generates a complete app with database, dashboards, and a REST API from a description of your business. It complements Codehooks: Snill apps emit webhooks Codehooks can consume, so you can combine a no-code frontend with custom backend logic. Try Snill.ai →
What happens to my data if I cancel?
Your data will be automatically deleted after 2 weeks following plan cancellation. Make sure to export any data you need before canceling.

Start your first project today

Begin with a template or an empty project, and add a database, jobs or webhooks as you need them (it's just in the code). Codehooks is built by the team behind restdb.io and snill.ai.