v1.0 — Types that fly across repos

TypeScript Types
Over HTTP

Share types between backend and frontend without a monorepo or shared packages. Deploy independently. Sync on-demand. Unlike tRPC — true decoupling.

Read the Docs Try Examples
backend/server.ts — Pure TypeScript
import { route } from 'typeowl/server'; import typia from 'typia'; // Optional: for validation // Define types with regular TypeScript interface User { id: string; name: string; email: string; } interface CreateUserInput { name: string; email: string; } // Define routes with type parameters const getUsers = route.get('/api/users').returns<User[]>(); const createUser = route.post('/api/users') .body<CreateUserInput>() // Types extracted for frontend .returns<User>(); // Wire up with any framework + validate with Typia app.get(getUsers.path, async () => users); app.post(createUser.path, async (req) => { // Use route's body type for validation! const input = typia.assert<createUser.bodyType>(req.body); return createNewUser(input); });
frontend/api.ts
// Types synced automatically! ✨ import type { User } from 'typeowl/types'; // Full autocomplete, type-safe responses const users: User[] = await fetch('/api/users') .then(r => r.json()); // POST with typed body const newUser: User = await fetch('/api/users', { method: 'POST', body: JSON.stringify({ email: 'alice@example.com', name: 'Alice' }) }).then(r => r.json());

No validation out of the box. Use Typia with typia.assert<route.bodyType>() — same type, 10-1000x faster than Zod.

Works With Popular Frameworks

Fastify

Express

Hono

Next.js

Koa

Why TypeOwl?

True decoupling between frontend and backend — unlike tRPC or ts-rest

No Monorepo Required

Backend and frontend in separate repos? Different teams? No shared packages needed. TypeOwl bridges them over HTTP.

Independent Deploys

Commit types with your code. Frontend and backend deploy separately without breaking each other.

Pure Frontend Friendly

Point to production URL and sync. Frontend devs get real types without needing backend code access.

On-Demand Sync

You control when types update: during dev, in CI/CD, or manually. No forced updates from backend changes.

Incremental & Fast

Hash-based comparison means only changed files download. Instant syncs when nothing changed.

Pure TypeScript

Define types with regular interfaces. TypeChecker extracts them automatically. Use Typia for validation from the same types.

The Key Difference

How do types get from backend to frontend?

TypeOwl

TypeOwl

Types over HTTP
Backend Repo
HTTP sync
Frontend Repo
  • Separate repos
  • No shared code
  • Point to production
  • Independent deploys

tRPC / ts-rest

Shared code
Backend
Frontend
↑ ↑
Shared Package
  • Monorepo or npm package
  • Shared code required
  • Need backend repo access
  • Coupled releases

Use TypeOwl when...

Backend and frontend are separate repos or teams

Use TypeOwl when...

Frontend devs don't have backend code access

Use TypeOwl when...

You want independent, decoupled deploys

tRPC and ts-rest are great for monorepos. TypeOwl is for when you can't or don't want to share code.

Ready to get started?

Install TypeOwl and share types in minutes.

npm install typeowl
Read the Docs See How It Works