This is part one of a five-part series on the fundamentals of the modern web app: databases.
Andy Aymeloglu was Director of Engineering at Palantir Technologies from 2005 to 2015, growing it from a fledgling company to an 1800-person company with offices across the globe. He has since served as VP of Engineering at Hexagon Bio, Alcor member, and Founding Partner at Commit Capital, while advising startups in the Bay Area.
This lecture was recorded at UATX on April 9, 2026.
00:00 — Introduction
00:50 — Five problems
01:50 — How databases solve these problems
03:28 — Can you read the entire file into memory?
05:04 — How to find the page you want
08:07 — A B-tree, pictured
08:57 — How does the database know what tables exist?
10:25 — Protecting yourself from data corruption
10:56 — Solving the race condition
13:38 — Five problems and their solutions
14:48 — How the SQLite master table works
18:41 — Who are Alice and Bob?
20:02 — How to extract data from the database
22:53 — Declarative vs imperative languages
25:06 — Connecting to SQLite from Python
26:36 — How to create tables
28:04 — How to insert data
29:27 — How to query data
30:44 — Filtering, ordering, and counting
33:08 — A practical exercise: how to find all the messages sent by Alice
37:21 — Why question marks matter
42:03 — How to decide how your tables should look
45:23 — Summarizing the three options
52:39 — When to use which table
53:30 — How to build the chat data layer
55:12 — What comes next

Watch the full series
UATX YouTube
Excellence in STEM Award - Awarded by STEM Dean Clint Staley to freshman Will McCollom.
Lectures on Physics, Richard Feynman
Numerical Methods for Engineers, Steven C. Chapra
Stuff Matters, Mark Miodownik
The Making of the Atomic Bomb, Richard Rhodes