
TypeStack
Full-stack TypeScript framework that eliminates the gap between frontend and backend with end-to-end type safety.
TypeStack: End-to-End Type Safety for the TypeScript Era
The Problem
TypeScript won.
78% of web developers now use it, and that number climbs every year. But there’s a dirty secret hiding in almost every codebase:
Type safety breaks at every boundary.
You think you’re building a fully typed system, but in reality you have type safety islands connected by untyped, unsafe bridges.
Where Things Break
-
API layer
REST endpoints usually returnany. GraphQL codegen is fragile, slow, and adds a separate build step. tRPC helps, but locks you into its ecosystem and still leaves gaps at the edges. -
Form data
FormDatais just an untyped bag of strings. Your validation schemas and your TypeScript types silently drift apart. The compiler can’t help you when your form payload no longer matches your backend expectations. -
Database queries
ORMs like Prisma give you typed queries, but those types don’t automatically flow through to your API responses, server actions, or React components. You end up manually wiring types across layers — and forgetting to update them when the schema changes. -
Server/client boundary
React Server Components changed how we build apps, but serialization still strips away rich types:DatebecomesstringBigIntthrows at runtimeMap,Set, and custom value objects lose their structure
The result: teams believe they have end-to-end type safety, but in practice they’re relying on runtime checks and production logs instead of the compiler. Bugs don’t show up at build time — they show up at 2am.
The Solution: TypeStack
TypeStack is a full-stack TypeScript framework that delivers true compile-time type safety from your database schema all the way to your React components — with:
- Zero codegen
- Zero runtime overhead
- Zero manual type wiring
TypeStack turns your entire stack into a single, coherent type system.
How It Works
1. Define Your Schema Once
You start with TypeStack’s schema DSL — a single source of truth for your data model:
- Define your entities, relations, and custom scalars in one place.
- From that, TypeStack derives:
- Database migrations
- API request/response types
- Validation schemas
- Client-side types
Change a column from string to number in the schema, and the compiler instantly tells you every component, endpoint, and form that needs to be updated.
2. Type-Safe Data Fetching
TypeStack wires your data model directly into your API layer:
- Endpoints are fully typed from handler to caller.
- No
any, no manual DTOs, no separate codegen step. - If your database shape changes, your API and UI fail to compile instead of failing at runtime.
Your React components consume data that is guaranteed — at compile time — to match the schema.
3. Type-Safe Mutations
Mutations, forms, and server actions are validated at the type level:
- Input types are derived from the same schema as your database.
- If a form sends data that doesn’t match the schema, TypeScript flags it before you even hit save.
- No more keeping Zod/Yup schemas and TypeScript interfaces in sync by hand.
You get a single, canonical definition of what “valid data” means — enforced everywhere.
4. Serialization-Aware Types
TypeStack is built with the server/client boundary in mind:
Date,BigInt,Map,Set, and custom value objects are modeled as serialization-aware types.- The framework knows how to serialize and deserialize them safely, preserving full type information.
- React Server Components, edge runtimes, and client components all share the same understanding of your data.
No more guessing whether a field is a Date or a string on the client — the type system tells you.
Key Differentiators
No Codegen Step
Unlike Prisma, GraphQL, or many RPC frameworks, TypeStack:
- Uses TypeScript’s type system directly.
- Avoids generated files, watch processes, and stale artifacts.
- Eliminates an entire class of “works in runtime, broken in types” issues.
Your types are always live, always accurate, and always in sync with your source.
Framework-Agnostic Core
TypeStack’s type layer is decoupled from the runtime:
- Works with Next.js, Remix, Astro, or any Node.js/edge HTTP server.
- You can adopt it without rewriting your app or changing your hosting provider.
- The core is just TypeScript — no proprietary runtime lock-in.
Incremental Adoption
You don’t need a big-bang migration:
- Start with a single endpoint or a single form.
- Gradually move more of your schema and routes into TypeStack.
- Coexist with your existing ORM, REST, or GraphQL setup while you transition.
Teams can adopt TypeStack at their own pace, without halting feature work.
Built-In Validation
From the schema DSL, TypeStack derives Zod-compatible validation schemas:
- The same schema validates data on both client and server.
- No duplicated logic, no drift between runtime validation and static types.
- You get runtime safety and compile-time safety from the same source.
Edge-Ready by Design
TypeStack runs wherever JavaScript runs:
- Cloudflare Workers
- Vercel Edge
- Deno Deploy
- Traditional Node.js servers
It avoids Node-specific APIs so you can deploy the same type-safe stack to modern edge runtimes without friction.
Why Now
Three converging trends make TypeStack not just useful, but inevitable.
-
TypeScript Adoption Hit Critical Mass
With 78% of web developers using TypeScript, the ecosystem is ready for tools that take types seriously across the entire stack. The low-hanging fruit (IDE hints, basic generics) is solved; the next frontier is end-to-end type coherence. -
Server Components Changed the Game
React Server Components and modern meta-frameworks made full-stack TypeScript practical. But they also introduced new boundaries — especially around serialization and data fetching — where types quietly fall apart. TypeStack closes those gaps. -
AI-Assisted Development Demands Strong Types
As AI writes more of our code, types become the guardrails. Strong, end-to-end types are how you prevent AI-generated bugs from slipping into production. TypeStack turns your schema into a contract that both humans and AI must obey.
Traction
TypeStack is not a slideware idea — it’s already in the hands of real teams.
-
$4.5M seed round closed
Led by Accel, with participation from:- Guillermo Rauch (Vercel)
- Ryan Dahl (Deno)
-
8,500+ GitHub stars in the first 4 months
-
1,200 developers using TypeStack in production today
-
3 framework integrations shipped:
- Next.js
- Remix
- Astro
-
2 enterprise design partners:
- A Fortune 500 fintech
- A Series D developer tools company
These early adopters are already seeing fewer runtime type errors, faster refactors, and safer AI-assisted workflows.
Business Model
TypeStack follows a familiar, proven model for developer tools: an open-source core with a commercial cloud offering.
Open-Source Core
Free forever:
- Type system and schema DSL
- Framework integrations (Next.js, Remix, Astro, etc.)
- Core runtime and developer tooling
This ensures broad adoption and a vibrant ecosystem around the core primitives.
TypeStack Cloud — $49/team/month
A hosted control plane for your types and schema:
- Schema registry — versioned, auditable schemas across services
- Migration management — safe, coordinated database migrations
- Type-safe API gateway — enforce schema contracts at the edge
- Team collaboration tools — reviews, approvals, and change history
Cloud turns TypeStack from a powerful library into an organizational platform for type safety.
Enterprise — $299/month
For larger teams and regulated industries:
- SSO and advanced access controls
- Audit logs for schema and policy changes
- Custom schema governance policies (e.g., PII rules, naming conventions)
- Dedicated support and onboarding
This tier aligns TypeStack with the needs of fintech, healthcare, and large SaaS organizations.
Market Opportunity
The backend-for-frontend (BFF) and full-stack framework market is estimated at $4.8B, and it’s growing quickly as teams consolidate around TypeScript-centric stacks.
TypeStack targets the 4.2M TypeScript developers who are:
- Tired of maintaining type safety with duct tape and manual wiring.
- Frustrated by codegen pipelines and stale types.
- Looking for a single, coherent model that spans database, API, and UI.
By owning the type layer across the stack, TypeStack sits at the center of how modern teams design, evolve, and govern their systems.
The Team
TypeStack is built by a team that has seen this problem from every angle:
-
Two former Vercel engineers
Worked on Next.js and Turbopack, with deep experience in:- Full-stack React
- Build systems
- Edge runtimes and developer experience
-
A database systems researcher from CMU
Brings expertise in:- Database internals
- Schema evolution
- Consistency and correctness at scale
Together, they’re building the missing layer that connects framework, runtime, and storage into a single, type-safe whole.
TypeScript won. TypeStack is how we make that victory real — by turning types from a local convenience into a global guarantee across your entire stack.
Discussion
4Sign in to join the conversation

Shipped a side project with this approach last week. The DX is unmatched.

Reminds me of what we tried with tRPC but at the framework level. Huge potential.

End-to-end type safety is the dream. How do you handle the runtime validation layer?

This is the direction the ecosystem needs. No more glue code between client and server.





