
Most data problems are not bugs. They are decisions — made months ago, in a hurry, by someone who needed a table fast and never came back. The list crammed into one comma-separated column. The price stored as a float that now loses a cent on every thousandth order. The table anyone on the internet can read because nobody turned on a single switch. By the time these surface, the data is real and the fix is a migration done at 2 a.m. This course is about making those decisions on purpose, before there is data to lose. You start where every schema actually starts: with requirements, not a table editor. You learn to turn a domain into entities and relationships, then into a normalized PostgreSQL schema with keys and types that fit reality. You learn constraints as something stronger than app-side validation — rules the database itself will not let anyone break, including the second client you forgot about. You learn how indexes, transactions, and isolation behave when more than one user shows up at once. And because this is built on Supabase, you learn that your schema *is* your API and your security boundary: Row-Level Security, roles, and policies that decide exactly who sees which row. Then the practical patterns — JSONB, full-text search, soft deletes, hierarchies, multi-tenancy — and the anti-patterns that look clever and quietly cost you everything the database was supposed to give. Forty-two lessons, each ending the same way: now you know when to reach for this, and why.
Abhishek Kumar is the engineer teams trust with the parts of a product that cannot quietly break—authentication, payments, data synchronization, and the APIs on which other services depend. Over eight years, he has decomposed legacy applications into independently deployable services, designed event-driven workflows, and improved heavily used systems through query tuning, caching, asynchronous processing, and careful capacity planning. His working environment spans Java, Python, Go, and Node.js, supported by PostgreSQL, Redis, Kafka, Docker, Kubernetes, and AWS. Abhishek remains involved after deployment, tracing production failures, strengthening observability and automated testing, reviewing architecture decisions, and helping younger engineers develop the judgment required to keep complex systems fast, secure, and recoverable.
super clair !
super helpful
kinda boring, too many slides.
Quá cơ bản, không có gì mới.
great stuff