Skip to content
HN On Hacker News ↗

Typebase: your backend is a folder of TypeScript. AI loves code.

▲ 118 points 49 comments by andrewww-dev 2w ago HN discussion ↗

Pangram verdict · v3.3

We believe that this entire text is AI.

99 %

AI likelihood · overall

AI
0% human-written 100% AI-generated
SEGMENTS · HUMAN 0 of 1
SEGMENTS · AI 1 of 1
WORD COUNT 545
PEAK AI % 99% · §1
Analyzed
Aug 29
backend: pangram/v3.3
Segments scanned
1 windows
avg 545 words each
Distribution
0 / 100%
human / AI fraction
Verdict
AI
Pangram v3.3

Article text · 545 words · 1 segments analyzed

Human AI-generated
§1 AI · 99%

Define your database schema, server actions, and auth in a typebase/ folder inside your app. One command deploys a fully typed server your frontend calls like local functions.Get startedTypebase in 100sShips with first-class guides forNext.js·SvelteKit·Nuxt·ExpoIdiomatic clients for each one: Server Components, SvelteKit load functions, Nuxt plugins, Expo SecureStore.How it worksZero to a deployed backend in two commandsEverything happens inside your codebase. The CLI handles codegen, schema pushes, and deployment.01ScaffoldOne command creates a typebase/ folder in your existing app, with a database schema, example actions, and optional auth or realtime publishing. No separate repo, no dashboard.$ npx typebase-io-cli init02Write TypeScriptDefine tables in db/schema.ts, export actions from actions/, drop in auth.ts, env.ts, and publisher.ts for realtime. Every export is typechecked end to end.03DeployShips your folder as a server on Vercel, Cloudflare Workers, or Deno Deploy, with Postgres on Neon. Or generate the server code and host it anywhere. Typebase owns zero servers.$ npx typebase-io-cli deployStep 02, expandedtypebase/actions/mutations/queries/db/The problemwith RLSRLS is implicit and lives in a SQL dialect your editor doesn’t typecheck. One UPDATE policy gives write access to every column, including the ones you add tomorrow. The overly permissive clause an agent slipped in at 2am sails through review, because no compiler is going to flag it.vs.With Typebase, authorization is explicit. Your action declares the columns it accepts and your auth check runs in code before any of them reach the database. Add a column, the compiler tells you who can write to it. The same code your agent writes is the code your compiler checks.Insecure policypolicy #2auth.role() = 'authenticated' lets every signed-in user update every column of every row.The DX of Convex. The openness of Supabase.Typebase exists because we wanted both and couldn’t find it: backend functions that live in your code, backed by a database you actually own.TypebaseSupabaseConvexBackend logicTypeScript functionsSQL + RLS policiesTypeScript functionsDatabaseStandard PostgresPostgresProprietaryType safetyEnd-to-end, always in syncGenerated, can driftEnd-to-endRealtimeStreaming actions over SSERealtime subscriptionsReactive queriesAuthbetter-auth, in one fileBuilt-in, dashboard configThird-party providersInfrastructureYour cloud: Vercel, Cloudflare, DenoSupabase-hostedConvex-hostedVendor lock-inNone, eject anytimeMediumHighStorage isn’t there yet; it’s next on the roadmap. Read the full comparisonIndustry-shaking testimonials** None of these people exist. We checked. Twice. Legal is chill.“I deleted 40,000 lines of REST plumbing last quarter. My tech lead cried. I think they were happy tears. I have stopped asking.”MVMariel VonnegutPrincipal Eng, AI unicorn you’ve heard of“Before Typebase I had three acronyms in my pipeline: REST, gRPC, and WHY. Now I have one: fn(). I have never been happier and my Oura ring agrees.”DDDave DaveSenior Fullstack, maybe“I’ve told four separate therapists about Typebase. Two stopped taking me as a client. The other two are now shipping an app with it.”CRClementine RyuEngineer, between therapists“My co-founder asked where the auth lives. I said “a file called auth.ts.” He hasn’t spoken to me since. I assume he’s impressed.”TLTomás LindbergIndie hacker, possibly single“We replaced 14 microservices with one folder. The DevOps team threw me a party. The party was a meeting. The meeting was about layoffs.”AAnonymousFor obvious reasons“10/10 would make my backend a folder again.”HPHannah PollardSenior Folder Engineer, self-appointedDo you have a real, non-fabricated quote? We will happily replace one of these humans with you.Give your agent a backend it can read.It takes about ninety seconds. Most of that is npm install.$ npm i typebase-io && npm i -D typebase-io-cliRead the docsStar on GitHub