Skip to content

Why Gati?

"Let developers write business logic. Let Gati handle everything else."

The Problem

Modern backend development is powerful, but painful. Developers spend more time:

  • 🔧 Fighting infrastructure than building features
  • 🐛 Debugging version conflicts than shipping code
  • 📝 Rewriting old APIs for backward compatibility
  • 🔗 Stitching services together than innovating
  • 🚀 Wrestling with DevOps than solving business problems

The result? Backend development is slow, fragile, and frustrating.

The Gati Solution

Gati ends this era of backend suffering by transforming backend development from a complex, error-prone process into an automated, intelligent, and developer-first experience.

Zero-Ops, Infinite Evolution

Gati is a next-generation backend engine that analyzes your code as you write it and automatically generates:

  • Optimized runtime — Containerized, distributed, version-aware execution
  • Deployment configs — Docker, K8s manifests, scaling policies
  • Type validators — Runtime validation from TypeScript types
  • API documentation — OpenAPI specs, client SDKs
  • Version management — Schema diffing, automatic transformers
  • Observability — Logging, metrics, tracing, debugging tools

No manual configuration. No YAML hell. No CI pipeline complexity.

Just write code.

What Makes Gati Different?

1. A Backend That Understands Your Code

Traditional frameworks are passive. They execute your code but don't understand it.

Gati analyzes your backend as you build it:

typescript
// You write this
type CreateUser = {
  email: EmailString;
  password: string & MinLen<8>;
  age?: number & Min<18> & Max<100>;
};

export const createUserHandler: Handler = async (req, res, gctx, lctx) => {
  const { email, password, age } = req.body; // Auto-validated!
  const user = await gctx.modules['database']?.createUser({ email, password, age });
  res.json({ user });
};

Gati automatically generates:

  • ✅ Runtime validator (Ajv-level performance)
  • ✅ OpenAPI specification
  • ✅ TypeScript/Python/Go SDKs
  • ✅ Timescape version metadata
  • ✅ Playground request template
  • ✅ Test fixtures and mocks

2. APIs That Never Break (Timescape)

Every backend eventually becomes unmaintainable:

  • New versions break old clients
  • Migrations are dangerous
  • Legacy routes accumulate
  • Outdated code is hard to delete
  • API evolution slows to a crawl
  • Developers fear making changes

Gati introduces Timescape — a revolutionary version management system:

typescript
// Version 1 (2024-11-01)
type User = {
  name: string;
  email: EmailString;
};

// Version 2 (2024-11-15) - Breaking change detected automatically
type User = {
  firstName: string;  // name split into two fields
  lastName: string;
  email: EmailString;
};

// Gati auto-generates transformer stub (AI-assisted completion)
export const transformV1toV2 = (v1: UserV1): UserV2 => ({
  firstName: v1.name.split(' ')[0],
  lastName: v1.name.split(' ')[1] || '',
  email: v1.email,
});

Timescape features:

  • ✔ Automatic version creation when handlers change
  • ✔ Parallel version execution (v1 and v2 run simultaneously)
  • ✔ Automatic schema diffing and breaking change detection
  • ✔ Auto-generated transformer stubs (AI-assisted)
  • ✔ Backward and forward compatibility
  • ✔ Zero-downtime version rollouts
  • ✔ Safe, gradual deprecation

3. Modular Architecture That Scales

Gati treats everything as a module:

  • Databases (PostgreSQL, MongoDB, etc.)
  • Caches (Redis, Dragonfly)
  • Queues (SQS, Pub/Sub, RabbitMQ)
  • Auth providers (OAuth, JWT, WebAuthn)
  • Storage (S3, GCS, Azure Blob)
  • AI models (OpenAI, Anthropic, local LLMs)
  • Custom business logic

Modules are installed like NPM packages:

bash
# Install database module
pnpm add @gati-modules/postgresql

# Configure in gati.config.ts
export default {
  modules: {
    database: {
      type: '@gati-modules/postgresql',
      config: { url: process.env.DATABASE_URL }
    }
  }
}

Modules run in isolated processes with their own:

  • Manifests and contracts
  • Scaling policies (independent autoscaling)
  • Health checks and lifecycle hooks
  • Version compatibility metadata

4. TypeScript-Native Type System

Other frameworks:

typescript
// ❌ Duplicate definitions (Zod example)
const UserSchema = z.object({
  email: z.string().email(),
  password: z.string().min(8),
  age: z.number().min(18).max(100).optional(),
});

type User = z.infer<typeof UserSchema>; // Must keep in sync

Gati approach:

typescript
// ✅ Single definition with branded types
type User = {
  email: EmailString;
  password: string & MinLen<8>;
  age?: number & Min<18> & Max<100>;
};

// Gati analyzer automatically generates:
// - Runtime validator
// - GType schema (manifest)
// - OpenAPI spec
// - Client SDKs
// - Timescape metadata
// - Transformer hints

Zero boilerplate. Write once, use everywhere.

5. Zero-Ops Deployment

Traditional deployment:

bash
# 1. Write Dockerfile
# 2. Create K8s manifests (Deployment, Service, ConfigMap, Ingress)
# 3. Set up CI/CD pipeline
# 4. Configure load balancer
# 5. Set up SSL certificates
# 6. Configure auto-scaling
# 7. Set up monitoring/alerting
# 8. Deploy and pray

Gati deployment:

bash
gati deploy production --provider aws

Gati handles:

  • ✅ Container registry
  • ✅ K8s cluster provisioning (or uses existing)
  • ✅ Load balancer setup
  • ✅ SSL/TLS certificates (auto-renewal)
  • ✅ DNS configuration
  • ✅ Secrets management
  • ✅ Auto-scaling policies (HPA/VPA)
  • ✅ Monitoring and alerting
  • ✅ Health checks and rollouts

6. Visual Debugging Playground

Traditional API testing:

  • Postman/Insomnia for manual testing
  • Separate load testing tools (k6, Artillery)
  • Log aggregation systems (ELK, Splunk)
  • Distributed tracing (Jaeger, Zipkin)
  • Custom monitoring dashboards

Gati Playground (built-in):

  • 🟦 API Mode — Postman on steroids (stress testing, mock datasets, version switching)
  • 🟧 Network Mode — 2D visualization of distributed backend (real-time particle flow, component health)
  • 🟪 Tracking Mode — 3D request lifecycle visualization (debug gates, data inspection, time-travel replay)

All in one tool. No external dependencies.

Comparison with Other Frameworks

FeatureGatiExpress/FastifyNestJSServerless (AWS Lambda)
Learning CurveLowLowMediumMedium
Infrastructure✅ Fully Automated❌ Manual⚠️ Partial✅ Automated
Type Safety✅ TypeScript-Native⚠️ Manual✅ Full⚠️ Partial
Auto-Scaling✅ Built-in (HPA/VPA)❌ Manual❌ Manual✅ Built-in
API Versioning✅ Timescape (M2+)❌ Manual⚠️ Partial❌ Manual
SDK Generation✅ Auto (M5)❌ None⚠️ Via Tools❌ None
Vendor Lock-in❌ None❌ None❌ None✅ High (AWS)
Multi-Cloud✅ Yes (M2+)⚠️ Manual⚠️ Manual❌ Single Cloud
Visual Debugging✅ Playground❌ None❌ None⚠️ CloudWatch
Module System✅ Isolated Processes⚠️ Shared Runtime✅ Dependency Injection❌ Per-Function Only

Who Should Use Gati?

✅ Perfect For

  • Startups — Ship MVPs faster without infrastructure headaches
  • Scale-ups — Grow from 10 to 10M users without rewrites
  • Backend-for-Frontend — Type-safe API layer for web/mobile apps
  • Microservices — Deploy independent, scalable services easily
  • Internal Tools — Rapidly build internal APIs and admin panels
  • API-First Products — Build public APIs with auto-generated SDKs

⚠️ Not Ideal For (Yet)

  • Static Websites — Use Next.js, Gatsby, Astro instead
  • Real-time Games — Use dedicated game servers (Unity, Unreal)
  • Heavy Data Processing — Use Spark, Airflow, Dagster
  • Existing Large Apps — Migration tools coming in M8 (Q1 2026)

The Gati Promise

For Individual Developers

  • Write less boilerplate — Focus on business logic, not infrastructure
  • Ship faster — MVP to production in days, not months
  • Sleep better — Automatic scaling, monitoring, rollback
  • Learn less — No need to master DevOps, K8s, Terraform

For Teams

  • Faster onboarding — New developers productive in hours
  • Consistent architecture — Gati enforces best practices
  • Reduced ops burden — Less time firefighting infrastructure
  • Better collaboration — Auto-generated SDKs sync frontend/backend

For Businesses

  • Lower costs — Smaller teams, less infrastructure complexity
  • Faster time-to-market — Ship features, not YAML configs
  • Better reliability — Battle-tested patterns, automatic scaling
  • Future-proof — Timescape ensures APIs never break

Next Steps

Ready to experience the future of backend development?


"The best code is the code you don't have to write."
— Gati embodies this philosophy by automating everything that isn't your core business logic.


Last Updated: November 18, 2025

Released under the MIT License.