NEWPITR, database branching and a Stockholm region

Postgres for people who read EXPLAIN.

Every project is a dedicated Supabase stack — Postgres 17, Auth, Storage, Realtime and Edge Functions — in Warsaw or Stockholm. supabase-js compatible, EU-hosted and roughly half the price.

  • No credit card
  • Free tier never pauses
  • VAT invoices
psql — postgres@db-k3x9qz…host.ulewicz.space:5432
postgres=> select id, email, plan from customers where plan = 'pro' order by created_at desc limit 4;
id │ email │ plan
──────┼────────────────────┼──────
1042 │ ola@studio.pl │ pro
1039 │ kuba@sklep.io │ pro
1031 │ anna@kancelaria.pl │ pro
1027 │ dev@startup.ai │ pro
(4 rows) Time: 1.912 ms
postgres=>
8/8 services healthy

20 s

to a running stack

8

services per project

PG 17

with pgvector and PostGIS

0

pausing on Free

EU

data residency, GDPR

WAW · STO

Warsaw and Stockholm

// Next.js// React// Vue// Nuxt// SvelteKit// Angular// Astro// Remix// Flutter// Swift// Kotlin// Python// Next.js// React// Vue// Nuxt// SvelteKit// Angular// Astro// Remix// Flutter// Swift// Kotlin// Python

Migration

From Supabase in two lines.

The same PostgREST, GoTrue, Realtime and Storage APIs. Move your data with pg_dump, swap the URL and key — your queries, RLS policies and SDKs stay exactly as they were.

  • supabase-js, Flutter, Swift, Kotlin, Python — unchanged
  • SQL migrations and RLS policies 1:1
  • A guide with ready-to-run pg_dump / pg_restore commands
Migration guide
.env.local−2 +2
-NEXT_PUBLIC_SUPABASE_URL=https://abcdefgh.supabase.co
+NEXT_PUBLIC_SUPABASE_URL=https://k3x9qz7mwa2cvbnhrtly.host.ulewicz.space
-NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOi…supabase
+NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOi…hostbase
# the rest of your code: unchanged ✓
pg_dump "$SUPABASE_DB_URL" -Fc -f app.dump
pg_restore -d "$HOSTBASE_DB_URL" --no-owner app.dump

Platform

A complete backend.
A dedicated stack per project.

You never share Postgres with other customers. Every project gets its own database container with CPU and RAM limits, plus its own Supabase services.

Realtime

Presence, broadcast and live database changes.

WebSockets for every project: cursors, chats, dashboards — table changes reach clients in milliseconds.

OKT
presence
channel: room:general 3 online
  • olapresence{ status: 'online' }
  • youINSERTmessages · id 9f2c…
  • kubatyping{ room: 'general' }
  • olacursor{ x: 412, y: 188 }
Edge Functions

Deno on the server, deployed from the dashboard, API or MCP.

200GET/functions/v1/hello-world6 ms
200POST/functions/v1/ai-chat640 ms
401POST/functions/v1/admin-report4 ms
200POST/functions/v1/stripe-webhook21 ms
200GET/functions/v1/og-image112 ms
pgvector

Semantic search in the same database.

⌕ returns after 30 days?
  • Return policy0.91
  • Complaints & warranty0.84
  • Return shipping0.79
Backups

Daily at 2:00 plus on demand. One-click restore.

mo
tu
we
th
fr
sa
su
daily-20261015-020000.dumpready
pg_stat_database

Numbers that actually mean something.

TPS

180

transactions / s

cache hit

99.6%

blks_hit / read

connections

13 / 100

max_connections

HostBase add-ons

Pooler, cache and search — one toggle away.

  • PoolerPgBouncer:6543
  • CacheValkey · Redis:6380
  • SearchMeilisearchhttps
Observability

p50 / p95 for every service, logs and alerts.

p95 · /rest/v151 ms

* animations show sample data — the dashboard shows your project's live metrics.

Under the hood

The path of a request, no magic.

TLS terminates at the edge, routing goes by hostname and SNI, and every project runs on its own Docker network as a separate Supabase instance — in the EU.

01 · client

Your app

  • supabase-js · Flutter · Swift
  • psql · Prisma · Drizzle
  • Claude / Cursor over MCP

02 · edge

TLS + name-based routing

<ref>.host.ulewicz.space :443
db-<ref>… :5432 (SNI)
pooler :6543 · cache :6380

03 · dedicated project stack

p-<ref>

API gateway → Supabase services

GoTrue

/auth/v1

PostgREST

/rest/v1

Realtime

/realtime/v1

Storage

/storage/v1

Edge Runtime

/functions/v1

pg-meta

panel · SQL

04 · data

Postgres 17

  • own container and disk
  • CPU / RAM limit per instance
  • backup 02:00 · metrics 60 s

Developer experience

You write SQL. The rest comes free.

Your schema becomes REST and GraphQL, RLS guards access, Edge Functions handle the rest. Prefer raw Postgres? You get psql over TLS.

REST + GraphQL

from every table

Row Level Security

auth.uid() in policies

Edge Functions

Deno, secrets, versions

psql / pg_dump

TLS, SNI, pooler :6543

lib/db.ts
1import { createClient } from '@supabase/supabase-js'
2
3const db = createClient(
4 'https://k3x9qz7mwa2cvbnhrtly.host.ulewicz.space',
5 process.env.HOSTBASE_ANON_KEY!
6)
7
8const { data: orders } = await db
9 .from('orders')
10 .select('id, total, customer:profiles(username)')
11 .gte('total', 100)
12 .order('created_at', { ascending: false })

Panel

A studio that tells you what's going on.

p50/p95 reports, live logs, security advisors, query performance, backups and alerts with upgrade suggestions — before your users notice a problem.

shop-production

Active🇵🇱 Warsaw · Medium · Postgres 17

Requests / min

2,874

p95 latency

43 ms

Database CPU

31%

Connections

18 / 100

API traffic by service

REST Functions

Live requests

  • 200GET/rest/v1/orders?select=*12 ms
  • 200POST/functions/v1/stripe-webhook48 ms
  • 200GET/storage/v1/object/public/avatars/…9 ms
  • 200POST/auth/v1/token?grant_type=password61 ms
  • 204PATCH/rest/v1/orders?id=eq.:id15 ms
claude — mcp: hostbase17 tools

> Create a todos table with RLS and add 3 sample tasks.

⏺ hostbase.execute_sql({ ref: 'k3x9qz…', query: 'create table todos …' })

⎿ ✓ CREATE TABLE · ALTER TABLE · CREATE POLICY · INSERT 0 3

⏺ hostbase.deploy_edge_function({ name: 'todo-digest', code: … })

⎿ ✓ deployed v1 · https://k3x9qz….host.ulewicz.space/functions/v1/todo-digest

Done. The todos table has RLS (auth.uid() = user_id), and the todo-digest function sends a summary.

MCP · AI agents

Your database has an API for agents.

A built-in MCP server: Claude Code, Cursor and other assistants create projects, run SQL and deploy Edge Functions — with your token and your permissions.

list_projectscreate_projectexecute_sqlget_project_keysdeploy_edge_functionrollback_edge_functionset_function_secretspause_project

Pricing

See how much you keep.

The same services at a lower price. Pick the number of projects and the instance size — compared against Supabase's public pricing. Prices in PLN, EUR shown as an estimate.

Plan

Projects

3

Instance per project

Indicative, net / month. Supabase: Pro plan 25 USD + compute per its public price list (with the 10 USD credit), at 4.00 PLN/USD. Excludes egress overages. Invoices are issued in PLN.

HostBase106 PLN
Supabase180 PLN

You save

41%

about 74 PLN (≈ €17.2) per month · 888 PLN (≈ €207) per year

Full pricing
HostBaseSupabase
Data location Warsaw (pl-waw-1) or Stockholm AWS regions
Billing PLN, EU VAT invoice USD
Pro plan 49 PLN (≈ €11) / mo 25 USD / mo
Free projects never paused paused after 7 days
Pooler, cache, search one-click add-ons pooler; the rest separately
MCP server for AI agents built in yes
Full comparison with Supabase

FAQ

Questions engineers actually ask.

Is HostBase a fork of Supabase?
We host the open-source Supabase stack (Postgres, PostgREST, GoTrue, Realtime, Storage, Edge Runtime) — a separate one for each project — and add our own dashboard, billing, monitoring and add-ons. The Supabase ecosystem works unchanged.
Can I use @supabase/supabase-js?
Yes. Swap the project URL and the anon key. The JavaScript, Flutter, Swift, Kotlin and Python clients work as-is.
How do I migrate from Supabase?
pg_dump from Supabase, pg_restore into HostBase, then swap two environment variables. Step by step in the migration guide.
What if my database grows?
The dashboard samples CPU, RAM, connections and database size every minute. At 80% of a limit you get a notification suggesting a bigger instance or plan — resizing an instance takes about 10 seconds.

postgres=> create database your_next_project;

Build in a weekend.
Scale without the stress.

A free project in about 20 seconds. No credit card, no pausing after a week.