Dec Batch · Waitlist Open Live in Hindi/Hinglish · Weekends in India

Stop Building Like a Developer.
Start Thinking Like an Architect.

After 8 weeks you stop memorising patterns. You make decisions and defend them with trade-offs, failure modes, and real numbers.

One codebase, Tadka: a food-ordering system that grows from a monolith into four services and a gateway. The last three weeks add AI engineering on the same system: RAG, tools and MCP, evals, cost. The branches are pre-built, so all 40 live hours go to breaking things, reading traces, and arguing trade-offs. Not for beginners: you should already have built APIs, databases, and apps or services.

Join the Waitlist
2mo weekends 40h live 66 ADRs AI engineering

December batch waitlist is open. Capped at 25 seats.

Scrub the evolution

Monolith + schema-per-domain

Week 1

What broke

Baseline: one deployable app, bounded contexts in folders, not five repos on day one.

What we earned

Start as a monolith with schema-per-domain so later extraction is a move, not a rewrite.

14 REST endpoints on /api/v1, order state machine in one transaction.
ADR-002ADR-003ADR-005

Measured, not marketed

Failure to Fix Evidence

Every move in the cohort is earned by a reproducible break, then fixed with captured before/after numbers.

Week 1 Correctness ADR-011

Before

Double-tap POST /orders creates two orders and two charges.

Fix

Idempotency-Key: same key returns 200 with the same order id.

Captured

No key: 2 ids. Same key: 201 then 200.

Week 3 Resilience ADR-021ADR-023

Before

Sync payment + slow gateway: POST /orders ~9.2s, pool drains.

Fix

Polly timeout + bulkhead; async payment off the request path.

Captured

9.2s to ~2.1s; POST returns in ms.

Week 4 Resilience ADR-027ADR-028

Before

Payment service down: order pending, charge lost on sync bridge.

Fix

Kafka retains message; Outbox commits event with the order.

Captured

Lag 1, restart, Confirmed, lag 0.

Week 5 Correctness ADR-045

Before

Restaurant rejects after payment settles: order Cancelled, charge stays Completed.

Fix

Compensating Saga: refund-requested Outbox event, both choreography and orchestration modes.

Captured

Refund off: money stuck. Refund on: Cancelled + Refunded. Both saga modes: identical 10-span trace.

How we teach

Every Decision Gets an ADR

This is the shape of every decision we write in class. Hiring managers care about this more than a certificate line on LinkedIn. A real decision from Week 4 of Tadka (ADR-028: Transactional Outbox + Inbox). We do not grade your copies.

ADR-028Transactional Outbox + InboxWeek 4 · Kafka backbone
Topic

How do we publish order events to Kafka without losing messages or double-charging?

Options

Direct dual-write (DB + Kafka), Kafka transactions (EOS), Transactional Outbox + Inbox, or CDC/Debezium

Choice

Transactional Outbox on the producer, Inbox on the consumer.

Why

Write the event into an outbox row in the same Postgres transaction as the order. One commit, both land or neither. A relay publishes to Kafka. Consumers deduplicate via an inbox table. You get exactly-once effect on at-least-once delivery.

Trade-off

More moving parts: outbox table, relay loop, inbox per consumer. Polling adds a little latency. But it is just code and two small tables. No new infra beyond Kafka.

Failure mode

Dual-write loses events on crash between DB commit and Kafka publish (Day 8 wound). Naive consumer double-charges on Kafka redelivery. Relay without SKIP LOCKED double-publishes when scaled to N pods.

Revisit when

At high volume, swap the polling relay for CDC (Debezium) or a library outbox like MassTransit. Add a DLQ when you hit a real poison message.

We write this shape in class: options, trade-offs, what breaks, when to revisit. You can keep a copy for interviews. There is no homework mark and no fail for C#.

66 decisions across 8 weeks

Full index ships in the Tadka repo. Below: one headline per week.

See week-by-week curriculum →
Week 114 ADRs

Monolith, API + hardening

  • ADR-002 · monolith-first
  • ADR-003 · schema-per-domain
  • ADR-011 · idempotency
  • ADR-012 · optimistic concurrency
Week 213 ADRs

Scale the database + cache

  • ADR-014 · indexing strategy
  • ADR-016 · read replica + split
  • ADR-019 · cache stampede lock
Week 36 ADRs

Brownout + first extraction

  • ADR-021 · timeout + bulkhead
  • ADR-023 · async payment
  • ADR-024 · extract Payment
Week 413 ADRs

Kafka + security

  • ADR-028 · Outbox + Inbox
  • ADR-029 · saga choreography
  • ADR-052 · field-level PII encryption
Week 514 ADRs

4 services, gateway + traces

  • ADR-035 · API gateway YARP
  • ADR-037 · event-carried read model
  • ADR-040 · OpenTelemetry
Week 66 ADRs

Chaos, load test + cost

  • ADR-043 · circuit breaker
  • ADR-059 · backpressure admission control
  • ADR-064 · live cloud deployment (Azure Container Apps)
Week 7AI week

AI: retrieval, cache + tools

AI engineering week. You write the decisions in class, in the same seven fields.

Week 8AI week

AI: evals, LLMOps + graduation

AI engineering week. You write the decisions in class, in the same seven fields.

The shift

Developer approach vs architect approach

Most engineers keep shipping features. Architects argue about what breaks at 10x and what that costs.

Developer Approach

Picks the tech stack on Day 1 based on hype
Builds features first, writes docs never
One database for everything, figures it out later
Deploys on Friday evening and prays over the weekend
Adds monitoring after the first production outage
"It works on my machine" is the final test

Architect Approach

Writes down NFRs first, then picks tech deliberately
Writes Architecture Decision Records (ADRs) before writing code
Picks storage per operation. One Postgres until the data shape forces a split.
Knows when blue-green is worth the money and when it is theatre at your scale
Names SLOs and traces before you scale, even on a teaching system
Finds a breaking point and a bill, instead of hoping it is fast

The capstone

Tadka: a teaching system, not a production app

We build only what is needed to learn architecture and system design.

One codebase through the architecture arc, then an AI assistant added on top. Scrub it in the hero above. You clone it and run it, so class time goes to decisions, traces, and failures, not typing.

66 ADRs

The repo documents the major moves. In class we write the seven fields on the board. We do not grade a homework pile.

4 services + gateway

The arc in the repo: monolith toward YARP, Kafka, a local menu replica. Enough to learn the split, not a production estate.

Load test readout

k6 smoke to stress: find the knee on Grafana. Week 6, measured, not guessed.

Cost model + portfolio doc

₹ honest minimal vs built stack, as a teaching readout. A template you can keep. We do not grade it.

AI assistant module

Weeks 6 to 8: a small assistant inside Tadka. It can be switched off, it checks who is asking, and it only reads. It cannot place an order.

Evals + AI cost sheet

A golden test set, traces without personal data, and cost per 1,000 orders worked out from assumptions you can change.

Built with

The demo is .NET. The thinking works in Java, Go, or Node too.

.NET 10 PostgreSQL Redis Kafka YARP Gateway Docker OpenTelemetry Grafana k6 Azure AI pgvector MCP

Two tracks, same class

Run it in .NET or decide in your stack

Tadka ships in C#. Class is the same for everyone: decisions, diagrams, and a running demo.

Track A: run it in .NET

  • Clone day-NN branches and run Docker Compose
  • The CRUD is already in the repo, so class goes to decisions and failures.
  • Break-kits with before/after numbers, when that day uses them

Track B: decide in your stack (Java / Node / Go)

  • Run the same Docker stack and k6 scripts: contracts, lag, traces, dashboards
  • Weekly option-space.md maps patterns to your stack
  • Weeks 5 to 8: read Grafana and Jaeger, write the ADR for your stack. The AI ideas (untrusted model output, tool permissions, evals) are the same in any language.

Not for beginners. You should already have built APIs, databases, and apps or services. Non-.NET people run the same class.

Week by week

8 Weeks: Distributed Systems, then AI Engineering

Each week builds on the last. Saturday is 3 hours, Sunday is 2. Weeks 1 to 6 are the architecture core. Weeks 6 to 8 add AI engineering on the same Tadka codebase. Short pre-reads come before class, so live time goes to decisions. The repo has more: break-kits, toys, extra ADRs. We do not teach every file in the five live hours.

Weeks with a scrubber milestone sync with the hero explorer above.

Week 1 ↔ scrubber Architect the Monolith

Foundation, Domain Modeling & Hardening

You learn to start a system the way an architect does: write down the numbers, pick a monolith on purpose, and make sure two taps on Pay do not charge the customer twice.

  • · Developer to architect: ADRs, the four-step, scale numbers you can defend
  • · Domain model and schema-per-domain in one Postgres
  • · Double-tap, lost update, SMS after commit. REST contract and errors are a pre-read.
Interview layer: The four-step on a real FR/NFR split. Then BookMyShow oversell, using the same xmin you just watched.
You can defend starting Tadka as a monolith. Orders survive retries and concurrent writes.
Week 2 ↔ scrubber Architect for Scale

Scaling the Monolith

You see what really breaks first when orders grow, and fix it in the right order: the query, then the cache, and only then more servers.

  • · When the query dies: index, pool, replica, before you add app boxes
  • · Redis: cache-aside, and when the cache lies
  • · Live status without polling. A cache key matches text exactly, but what if two questions mean the same? That comes back in Week 7.
Interview layer: Why a hot key melts you. Same idea as a celebrity restaurant on the menu.
You can explain what breaks at 1 lakh orders/day, and why Redis comes before splitting services.
Week 3 ↔ scrubber Architect for Scale

Payment Brownout & First Service Extraction

You watch a slow payment gateway freeze every order. Then you fix it with timeouts and a circuit breaker, and split Payment out only when there is a real reason.

  • · Slow gateway: timeout, bulkhead, retry, circuit breaker
  • · The four questions before you split. Extract Payment.
  • · HTTP this week, Kafka next, on purpose. A model call is also a slow, flaky dependency, so the same rules apply.
Interview layer: Why Payment split first: fault and PCI, not latency.
You can explain why Payment left the monolith, and why HTTP came before Kafka.
Week 4 ↔ scrubber Architect the Distributed System

Distributed Backbone & Security

You make Orders, Payment, and Kafka agree without one big transaction. You also decide who is allowed to call what.

  • · Dual-write, Outbox, saga: one database transaction is no longer enough
  • · At-least-once delivery, not exactly-once magic
  • · Auth at the service, not only the gateway. Who is calling decides what is allowed, for a user and later for an AI tool.
Interview layer: At-least-once plus an idempotent consumer. That is the exactly-once effect.
Kafka, saga, Outbox, and per-service auth make sense on a whiteboard and in the repo.
Week 5 ↔ scrubber Architect the Distributed System

Four Services, Gateway & Observability

You finish the four services and the gateway, change a live database without downtime, and follow one order through every service in a single trace.

  • · Delivery, Restaurant, and a gateway. Four services. Identity stays a module.
  • · Zero-downtime migration: expand, backfill, contract
  • · Traces and SLOs you can actually afford
Interview layer: Migration and tracing questions, answered from what you just ran.
You can tie service boundaries and traces to blast radius and release cadence.
Week 6 ↔ scrubber Architect for Production

Break It, Load Test It, Cost It. Then AI Foundations.

You break Tadka on purpose, find how many orders it can really take, and work out what that costs in rupees. On Sunday you learn what a model call is, what it costs, and how it fails.

  • · Kill Redis or Payment and watch it degrade, not cascade
  • · k6: find the knee, tell a rate limiter from real capacity, read the bill
  • · Sunday starts AI engineering: tokens, context window, structured output, cost per request
Interview layer: Hotstar IPL traffic or a feed. Raise the trade-off before they ask.
SLOs, blast radius and the bill are things you can argue about. You can explain what a model call costs and how it fails.
Week 7 ↔ scrubber AI Engineering

RAG, Semantic Cache, Tools & MCP

You learn the thinking behind an assistant that searches your own data for the right customer only, and can only read. A model may suggest. Your server decides.

  • · Embeddings and chunking. Postgres full-text search first, then pgvector, then hybrid. Filter by caller before you search.
  • · Semantic cache that never skips auth, price, or freshness
  • · Tool calling and MCP: the model suggests, your server decides. Prompt injection, including text hidden in restaurant data.
Interview layer: Design an assistant that answers "where is my order" without showing another customer data.
You can explain what a model may suggest and what your server must always decide.
Week 8 ↔ scrubber AI Engineering

Evals, LLMOps & Graduation

You learn to test an AI feature, watch it without leaking personal data, and keep its cost in check. Then you take everything into a Design-Swiggy interview and practise it in pairs.

  • · Golden test set in CI. Tests that need no model, and when a model-as-judge is worth it.
  • · Traces without personal data, prompt versions, model fallback, token budget
  • · Design-Swiggy masterclass, an AI design drill, and pair mocks in class
Interview layer: Design-Swiggy masterclass, then pair mocks in class. No scores. This week is interview-heavy on purpose.
You can take Tadka patterns, AI included, to questions you have never built. Judgment, not a graded portfolio.

Week 5-6 instruments

What you operate, not just what you draw

Traces, bills, and breaker state. The same panels we use when Tadka breaks on purpose.

Jaeger trace waterfall: 9 spans across 4 services for one order saga

Payment=Failing → trace ends at Payment (7 spans, no Delivery). Same dashboards in class.

What This Cohort Is NOT

Honest expectations before you commit your time and money.

Not a syntax bootcamp. The CRUD is already in the repo on every weekly branch. You clone it. Class is boundaries, contracts, and what breaks.

No live coding. We do not write the app with you in class. We do not walk line by line through FluentValidation or DbContext. You read the repo for that.

Not a production food-delivery product. We build only what is needed to learn architecture and system design.

Not a graded course. There is no rubric, no homework marks, no fail for C#. ADRs in class are practice, not a submission pile.

Not an AI tools tour. No model training, no fine-tuning, no agent swarms. We build one small assistant inside Tadka and learn where a model must not be trusted.

Not a certification prep course. We focus on how architects think, not exam memorization.

Not a high-level summary of 28 random systems. We go deep into ONE teaching system.

Not a tool checklist. MongoDB, Elasticsearch, Event Sourcing, and blue-green deployment are discussed as trade-offs, not forced into the build.

Not for beginners. You should already have developed APIs, worked with databases, and built apps or services. This is architectural thinking and structured system design, not how to write your first CRUD API.

Not a course where you install Kafka on day one because the syllabus said so. Each tool shows up when the teaching system actually needs it.

Your Instructor

Who Is Teaching This

Deepak Mishra, The Desi Architect

Deepak Mishra

The Desi Architect · Software Architect, 13+ years

Started from a non-CS background and learned the hard way, through real systems, real outages, and real design reviews. Today he architects distributed systems and AI products for enterprise and SaaS clients used by millions.

Tadka, the teaching system in this cohort, is one he built the same way he teaches it: write the ADR first, then prove it by breaking the running demo on purpose. You clone it. You do not live-code it.

Engineer feedback

From developers making the shift

Quotes are copied as written. A longer one is cut to whole sentences, never reworded.

"Deepak’s teaching stands out. He doesn’t come across as a typical instructor but as a mentor who genuinely guides you in shifting from a developer mindset to that of a working architect. Highly recommended."
Hrishabh KaponiaFounding Cohort Member
  • Live CohortWeekend Batch
    "This cohort is built around a questioning mindset, which develops our solution thinking approach. That is useful for the architect role and for higher roles too. This is why I highly recommend joining this cohort, to grow that mindset and adapt to the rapidly changing IT industry."
    AmanFounding Cohort
  • 1:1 MentorshipTopmate
    "One of the most valuable career conversations I've had. He didn't give me a generic roadmap. He listened, understood my exact situation, and gave me a clear, practical direction I could act on immediately. The focus on fundamentals first, and knowing WHEN to use something rather than just HOW, completely shifted my thinking."
    Shaad Ansari1:1 Architecture Session
  • YouTube Community@desiarchitect
    "I'm currently transitioning into an Architect role, and this is the only YouTube channel I've found that truly focuses on that path. I discovered The Desi Architect about 3-4 weeks ago, watched all the videos, and have been eagerly waiting for new content. Finally, the wait is over!"
    Mahesh SinghMoving into an Architect role

Investment

Simple pricing

No hidden fees. No upsells. You pay once, you get everything.

Standard

Standard pricing applies to regular registrations

₹24,999
  • 40 hours live on weekends: 3 hours Saturday, 2 hours Sunday. Branches are pre-built, so every hour goes to decisions and failures.
  • AI engineering in Weeks 6 to 8: RAG, tools and MCP, evals, cost. One small assistant inside Tadka.
  • Short pre-reads before class, so live time goes to decisions.
  • The Tadka repo: clone it, run it, break it on purpose.
  • ADRs written in class, in seven fields you can reuse at work.
  • Interview transfer inside the live break. Pair mocks and Design-Swiggy in Week 8.
  • Discord community
  • Lifetime access to unedited session recordings (watermarked)
Join the waitlist

First-class guarantee

Attend the first live session. If it is not for you, request a 100% refund before Day 2 starts. No refunds once the second day begins.

Dec Batch · Waitlist Open

Join the Waitlist

Join the December batch waitlist. The batch is capped at 25 seats, so if you are serious about the cohort, sign up below. The cohort costs ₹24,999. We will contact you with joining details and any early bird pricing when the batch opens.

Sign in with your Google account to join the waitlist.

No payment needed to join the waitlist. The cohort costs ₹24,999. We'll notify you first when the batch opens, with any early bird pricing. By joining you agree to our privacy policy.

Frequently Asked Questions

Common questions about the cohort, the curriculum, and who should join.