Backend bricks for any website.
Forms, file uploads, reviews and more. Your AI coding agent builds the frontend. Backbricks handles everything behind it, and site owners manage what comes in from a simple dashboard.
$ claude mcp add backbricks -- npx backbricks mcp> Add a contact form with a CV upload to the site.$ npx backbricks push$ npx backbricks test submit forms/contact✓ Test entry is in the dashboard inbox
The bricks
Pick the bricks you need
Each brick is a complete backend feature: an API for your website and a page in the dashboard for the people who run it. Enable only what you use.
More bricks after 1.0
- Waitlists
- Event registration
- Surveys
- Polls
- Feature voting
- Comments
- Live chat
- Appointment booking
- Analytics
- Cookie consent
- Job postings
- Galleries
- Product catalogs
- Protected content
How it works
Built for AI coding agents, managed by humans
No database, backend or storage to set up. Your agent does the integration; the people who own the site never have to touch code.
- Step 1
Your agent connects
Claude Code, Codex or any MCP-capable agent reads the integration guide, defines forms and upload areas as config-as-code and wires them into your site.
- Step 2
Your site keeps its look
Backbricks is headless: no widgets, iframes or CSS. Use plain HTML forms, the TypeScript SDK or the REST API from any framework.
- Step 3
Owners run the rest
Entries, files and reviews land in a dashboard written for non-technical people, with notifications, exports and moderation.
Integrate
A few lines, any framework
Start with a plain HTML form, then move to the SDK when you want typed calls, uploads and reviews. Examples show the planned API.
<form method="post"
action="https://backbricks.example.com/v1/public/forms/contact/submissions?key=bb_pk_…">
<input name="name" required>
<input name="email" type="email" required>
<textarea name="message"></textarea>
<button>Send</button>
</form>const cv = await backbricks.uploads.upload(file, {
zone: 'cv',
onProgress: (p) => setProgress(p.percent),
});
await backbricks.forms.submit('application', { name, email, cv: [cv.ref] });const { data: reviews } = await backbricks.reviews.list('testimonials', {
sort: 'newest',
limit: 6,
});
const stats = await backbricks.reviews.stats('testimonials');import { createClient } from '@backbricks/sdk';
const backbricks = createClient({
publishableKey: import.meta.env.PUBLIC_BACKBRICKS_KEY,
});
await backbricks.forms.submit('contact', { name, email, message });EU-first
Privacy and security by default
Public endpoints are built for the open internet: validated, rate limited and designed so that a leaked key can't expose your data.
- Proof-of-work spam protection instead of third-party captchas
- IP addresses stored only as rotating hashes
- Retention rules on every record with personal data
- GDPR export and erasure built in
- Private files, scanned for malware, downloaded via short-lived links
- Notification emails without submission content by default
Open source
Self-host it, or let us run it
The complete platform is open source. No calls home, no feature lock.
The SDK and CLI are MIT-licensed, so integrating Backbricks never puts AGPL obligations on your website. Licensing details
FAQ