DEV Community

Cover image for Introducing Gati: The Backend That Builds, Scales, and Evolves Itself
Krishna Paul
Krishna Paul

Posted on • Originally published at krishnapaul.in

Introducing Gati: The Backend That Builds, Scales, and Evolves Itself

Introducing Gati: The Backend That Builds, Scales, and Evolves Itself

TL;DR: Gati is a next-generation TypeScript framework that eliminates infrastructure complexity. Write handlers, deploy to Kubernetes, and let the framework handle routing, scaling, versioning, and cloud infrastructure automatically. M1 and M2 are complete, and we're now live on npm! ๐ŸŽ‰

The Problem We're Solving

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

  • ๐Ÿ”ง Fighting infrastructure and deployment pipelines
  • ๐Ÿ“ Writing boilerplate for routing, middleware, and validation
  • ๐Ÿ› Debugging version conflicts and breaking changes
  • โ˜๏ธ Wrestling with DevOps, Docker, and Kubernetes
  • ๐Ÿ”„ Maintaining backward compatibility manually

...than actually building features that matter.

What if your backend could handle all of this automatically?


Meet Gati

Gati (Sanskrit: เค—เคคเคฟ, meaning "motion" or "progress") is a TypeScript framework that takes the chaotic world of distributed systems, deployment pipelines, API versioning, and scalingโ€”and transforms it into something automated, intelligent, and developer-first.

The Core Philosophy

// That's itโ€”just write your handler
export const handler: Handler = async (req, res, gctx, lctx) => {
  const user = await gctx.modules['db'].users.findById(req.params.id);
  res.json({ user });
};

// โœ… Automatically available at /api/users/:id
// โœ… Auto-scales with Kubernetes
// โœ… Type-safe with full IntelliSense
// โœ… Hot reload in development
// โœ… Production-ready deployment
Enter fullscreen mode Exit fullscreen mode

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


What Makes Gati Different?

๐Ÿง  Business Logic Only

No more infrastructure code. No Docker files. No Kubernetes manifests. No CI/CD pipelines. Just write handlers, and Gati generates everything else.

// src/handlers/posts/[id].ts
export const handler: Handler = async (req, res, gctx, lctx) => {
  const post = await gctx.modules['db'].posts.findById(req.params.id);
  res.json({ post });
};
Enter fullscreen mode Exit fullscreen mode

That's it. Gati handles:

  • File-based routing
  • Request validation
  • Error handling
  • Logging and tracing
  • Deployment manifests
  • Auto-scaling policies

๐Ÿ“ฆ Cloud-Pluggable Architecture

Deploy anywhere with zero configuration changes:

# Deploy to local Kubernetes
gati deploy dev --local

# Deploy to AWS EKS
gati deploy prod --cloud aws

# Deploy to GCP GKE
gati deploy prod --cloud gcp

# Deploy to Azure AKS
gati deploy prod --cloud azure
Enter fullscreen mode Exit fullscreen mode

One command. Any cloud. Zero DevOps.

โšก Lightning-Fast Development

Hot reload in 50-200ms. Change your code, see it live instantly.

# Start development server
pnpm dev

# Changes reflect in < 200ms
# No restart needed
# Full type safety maintained
Enter fullscreen mode Exit fullscreen mode

๐ŸŽฎ Visual Debugging

Built-in Playground with three visualization modes:

  • API Mode โ€” Postman on steroids with version switching
  • Network Mode โ€” 2D map of your distributed backend
  • Tracking Mode โ€” 3D visualization of request lifecycle

Debug your backend like never before.

๐Ÿ”„ API Versioning (Coming M3)

Timescape will revolutionize API versioning:

// Ship breaking changes without fear
// Old clients continue working
// New clients get new features
// Automatic data transformations
// Zero-downtime deployments
Enter fullscreen mode Exit fullscreen mode

"I want the API as it was last Friday" โ†’ Just works.


What's Available Today?

โœ… M1 & M2 Complete (November 2025)

We've shipped a production-ready foundation:

Core Runtime

  • Handler execution engine
  • File-based routing with auto-discovery
  • Global and local context management
  • Module system for reusable logic
  • Middleware pipeline
  • Structured logging (Pino)
  • Request tracing

Development Experience

  • Project scaffolding with npx gatic create
  • Hot reload (50-200ms)
  • Development server
  • TypeScript-first with full type safety
  • Comprehensive error handling

Deployment

  • Local Kubernetes (kind)
  • AWS EKS deployment
  • GCP GKE deployment
  • Azure AKS deployment
  • Auto-scaling (HPA)
  • Load balancing (Ingress)
  • Health checks
  • Rolling updates

Infrastructure

  • Automated CI/CD pipeline
  • npm publishing workflow
  • Documentation deployment
  • Comprehensive test suite
  • 9 packages published to npm

๐Ÿ“ฆ Published Packages

All packages are live on npm:

  • @gati-framework/core - Core types and configuration
  • @gati-framework/runtime - Runtime execution engine
  • @gati-framework/cli - Development and deployment tools
  • gatic - Project scaffolding command
  • @gati-framework/cloud-aws - AWS EKS deployment
  • @gati-framework/cloud-gcp - GCP GKE deployment
  • @gati-framework/cloud-azure - Azure AKS deployment
  • @gati-framework/playground - Visual debugging interface

Get Started in 5 Minutes

1. Create Your First Gati App

# Create a new project
npx gatic create my-app

# Navigate to your project
cd my-app

# Start development server
pnpm dev
Enter fullscreen mode Exit fullscreen mode

Your API is now running at http://localhost:3000 ๐ŸŽ‰

2. Write Your First Handler

// src/handlers/hello.ts
import type { Handler } from '@gati-framework/runtime';

export const handler: Handler = (req, res, gctx, lctx) => {
  const name = req.query.name || 'World';
  res.json({ message: `Hello, ${name}!` });
};
Enter fullscreen mode Exit fullscreen mode

Available at: GET /api/hello?name=Gati

3. Deploy to Kubernetes

# Deploy to local Kubernetes cluster
gati deploy dev --local

# Your API is now running in Kubernetes!
# With auto-scaling, health checks, and monitoring
Enter fullscreen mode Exit fullscreen mode

That's it. You're production-ready.


What's Coming Next?

๐Ÿšง M3 - Timescape & Type System (November 2025) - IN PROGRESS

I'm currently working on the revolutionary API versioning and type system:

Timescape Versioning:

  • Timestamp-based version routing
  • Automatic schema diffing
  • Bidirectional data transformers
  • Parallel version execution
  • Zero-downtime version deployments

Module System:

  • Enhanced module contracts
  • Module interfaces and types
  • Dependency management
  • Isolated module execution

Type System:

  • Branded types with constraints
  • Contract-based validation
  • Runtime type checking
  • Schema generation

Ship breaking changes without fear.

๐Ÿ”Œ M4 - Module Registry & Marketplace (February 2026)

Public module registry and marketplace for sharing and discovering modules:

Module Registry:

  • Public npm-like registry for Gati modules
  • Semantic versioning
  • Dependency resolution
  • Module discovery and search

Marketplace:

  • Browse and install community modules
  • Module ratings and reviews
  • Usage statistics
  • Revenue sharing for module authors (70/30 split)

Module Types:

  • Database connectors (PostgreSQL, MongoDB, MySQL, etc.)
  • Authentication providers (OAuth, JWT, SAML, etc.)
  • Cache systems (Redis, Memcached, etc.)
  • Queue systems (RabbitMQ, Kafka, etc.)
  • AI/ML integrations (OpenAI, Anthropic, etc.)
  • Custom business logic modules

Install modules like npm packages:

# Install a database module
gati module install @gati-modules/postgres

# Install an auth module
gati module install @gati-modules/oauth

# Search for modules
gati module search redis
Enter fullscreen mode Exit fullscreen mode

Build and publish your own modules, earn from the marketplace!

๐Ÿ“Š M5 - Control Panel (Q1 2026)

Live monitoring and configuration dashboard:

  • Real-time metrics and logs
  • Configuration management
  • Version management
  • Deployment controls
  • Performance insights

Observe and control your backend visually.

๐Ÿ› ๏ธ M6 - SDK Generation (Q1 2026)

Auto-generated typed clients:

gati generate sdk --platform typescript
gati generate sdk --platform python
gati generate sdk --platform go
Enter fullscreen mode Exit fullscreen mode

Type-safe clients for any platform, automatically.

โ˜๏ธ M7 - CDN & SSL (Q2 2026)

Global distribution and security:

  • Automatic CDN integration
  • SSL/TLS provisioning
  • Multi-region deployment
  • Edge caching
  • DDoS protection

Global scale, zero configuration.


Why I Built Gati

As a developer, I was tired of:

  • Spending 70% of my time on infrastructure
  • Fearing API changes that might break production
  • Writing the same boilerplate over and over
  • Fighting with Docker, Kubernetes, and cloud providers
  • Maintaining complex CI/CD pipelines

I wanted to focus on building features, not fighting infrastructure.

Gati is my answer. A framework that:

  1. Understands your code and generates everything else
  2. Handles versioning so you can ship fearlessly
  3. Deploys anywhere with zero configuration
  4. Scales automatically based on demand
  5. Provides visibility into every request

Real-World Example

Here's a complete user management API:

// src/handlers/users/index.ts
export const handler: Handler = async (req, res, gctx, lctx) => {
  const users = await gctx.modules['db'].users.findAll();
  res.json({ users });
};

// src/handlers/users/[id].ts
export const handler: Handler = async (req, res, gctx, lctx) => {
  const user = await gctx.modules['db'].users.findById(req.params.id);

  if (!user) {
    return res.status(404).json({ error: 'User not found' });
  }

  res.json({ user });
};

// src/handlers/users/create.ts
export const handler: Handler = async (req, res, gctx, lctx) => {
  const user = await gctx.modules['db'].users.create(req.body);
  res.status(201).json({ user });
};
Enter fullscreen mode Exit fullscreen mode

That's it. Three files. Zero configuration. Production-ready.

Gati automatically provides:

  • โœ… Routes: GET /api/users, GET /api/users/:id, POST /api/users/create
  • โœ… Request validation
  • โœ… Error handling
  • โœ… Logging and tracing
  • โœ… Auto-scaling
  • โœ… Health checks
  • โœ… Deployment manifests

Community & Open Source

Gati is MIT licensed and open source. As a solo developer, I'm building this in the open and actively looking for contributors and testers!

I Believe In

  • ๐ŸŒ Community-driven development
  • ๐Ÿ“– Comprehensive documentation
  • ๐Ÿค Welcoming contributors
  • ๐Ÿš€ Rapid iteration
  • ๐Ÿ’ก Transparent roadmap

How You Can Help

I'm looking for:

  • ๐Ÿงช Beta Testers - Try Gati in your projects and share feedback
  • ๐Ÿ‘จโ€๐Ÿ’ป Contributors - Help build M3 features (Timescape, modules, types)
  • ๐Ÿ“š Technical Writers - Improve documentation and tutorials
  • ๐ŸŽจ Designers - UI/UX for the upcoming Control Panel
  • ๐ŸŒ Community Builders - Help spread the word

Get Involved

Every contribution matters! Whether it's code, docs, testing, or just spreading the word - I appreciate all help.


The Vision

My goal is to make Gati the backend framework that builds, scales, and evolves itself.

I'm building a future where:

  • โœ… Developers write only business logic
  • โœ… APIs never break (Timescape - coming Nov 2025)
  • โœ… Deployment is one command
  • โœ… Scaling is automatic
  • โœ… Monitoring is visual
  • โœ… Infrastructure is invisible

Backend development should be about solving problems, not fighting tools.

Current Progress

  • โœ… M1 Complete - Core runtime and handler engine
  • โœ… M2 Complete - Cloud deployment and CI/CD
  • ๐Ÿšง M3 In Progress - Timescape, modules, and type system (Nov 2025)

Want to be part of this journey? I'm looking for contributors!

Learn more about the Module Registry: Gati Registry Documentation


Try Gati Today

# Get started in 5 minutes
npx gatic create my-app
cd my-app
pnpm dev

# Deploy to Kubernetes
gati deploy dev --local

# You're production-ready! ๐Ÿš€
Enter fullscreen mode Exit fullscreen mode

Resources


Community Support

GitHub stars

See who's supporting Gati: View Stargazers

Be part of the community! Star the repo to show your support and stay updated.


Join Me on This Journey

Backend development is changing. Infrastructure is becoming invisible. Deployment is becoming automatic. APIs are becoming unbreakable.

I'm building Gati to lead this transformation.

As a solo developer, I'm just getting started, and I'd love for you to be part of this journey.

How to Get Started

  • ๐Ÿš€ Try Gati - Build something with it
  • โญ Star on GitHub - Show your support
  • ๐Ÿ’ฌ Share feedback - Tell me what you think
  • ๐Ÿค Contribute - Help build features
  • ๐Ÿ“ข Spread the word - Tell other developers
  • ๐Ÿงช Beta test - Try M3 features when ready

Together, we can build the future of backend development.

Special Call for Contributors

I'm actively working on M3 (Timescape & Type System) and would love help with:

  • Testing Timescape versioning features
  • Building module system components
  • Implementing type system contracts
  • Writing documentation and examples
  • Designing the Module Registry UI (Feb 2026)
  • Designing the Control Panel UI (Q1 2026)

Interested? Reach out via GitHub Discussions!

Module Registry Specs: apps/gati-registry

Top comments (0)