Stack logo
Sync up on the latest from Convex.
Profile image for Jamie Turner

Jamie Turner

Jamie is a co-founder and the CEO of Convex.

Prior to Convex, Jamie was a Senior Engineering Director at Dropbox, leading the Business Platform and the Storage / Databases groups. Earlier in his tenure at Dropbox, Jamie was a Principal Engineer, launching several significant projects in synchronization and storage with his Convex co-founders James and Sujay. Over ten years before Dropbox, Jamie held leadership positions at several startups, most recently as the Head of Engineering at Bump, a former top-10 mobile app acquired by Google in 2013.

Jamie brings to Convex an enduring obsession with databases, networking, and protocols. Over the course of his career, he’s created dozens of related open-source projects, collectively with thousands of GitHub stars and heavy industry use.

All posts by Jamie

Can your database do this? Ep 3: Zero-downtime, type-safe migrations
Convex's migrations component makes it easy and safe to run complex database migrations without causing any interruption to live traffic.
Jamie Turner's avatar
Jamie Turner
8 days ago
What is Sync?
Sync platforms like Convex simplify distributed state management, ensuring that developers can focus on building their applications rather than managing backend complexities.
Jamie Turner's avatar
Jamie Turner
2 months ago
CRUD APIs: Functional, but Inefficient
The term CRUD, or CRUD API, is often tossed around when interacting with databases or building backend APIs. This article will examine what CRUD is, what it’s suitable for, and its shortcomings. Finally, we’ll explore how to quickly implement a CRUD API using a modern backend like Convex.
Jamie Turner's avatar
Jamie Turner
3 months ago
Can your database do this? Ep. 1: Magic caching
With Convex's magic query cache, Convex's powerful subscriptions are cached, not merely values. So you get fast, jank-free renders with no cache consistency or invalidation headaches.
Jamie Turner's avatar
Jamie Turner
6 months ago
The Ultimate Caching Definition: Invalidation, Optimization, and Layers
A cache is a non-authoritative representation of data maintained for performance reasons. Find out what these words mean and when you should care about them here.
Jamie Turner's avatar
Jamie Turner
7 months ago
Convex: The Software-Defined Database
Which to choose, the expressive power of code, or the robustness of built-in database features? With Convex, you can have both. By eliminating the boundary between the application and the database, Convex provides a uniform and powerful way to model your entire backend data flow and security using plain ol' code.
Jamie Turner's avatar
Jamie Turner
10 months ago
Building a full-stack AI storybook app with LangChain, Replicate, and OpenAI
So you have a pretty good grasp on web development, but you want to learn more about building with generative AI? You're not alone. In this live-coding course, follow along as we build a full-stack generative AI app using LangChain.js, Replicate, and OpenAI.
Jamie Turner's avatar
Jamie Turner
2 years ago
Convex gets Rusty with Santa
If you've been itching to write Convex programs in Rust, your time has come. We take the new Convex Rust crate for a spin by writing a distributed system simulation of Santa and his team working together at the North Pole. Yes, really.
Jamie Turner's avatar
Jamie Turner
2 years ago
Searching for Sanity
Your document is safely stored, but search is coming up empty? Inconsistent search systems can really confuse users! Don't worry–in Convex, transactional search indexing ensures that users always get what they expect and your apps just work.
Jamie Turner's avatar
Jamie Turner
2 years ago
It's not you, it's SQL
SQL has been a part of computing for a very long time, and SQL-based database systems underly most of the world's applications. But recently, developers have been clamoring for something better, and it's time to move on.
Jamie Turner's avatar
Jamie Turner
2 years ago
Edge to Butt: Wrappers as "Middleware"
Convex middleware serves many purposes. Sometimes authentication, sometimes i18n. This time? Making sense (or nonsense) of emerging technology industry trends.
Jamie Turner's avatar
Jamie Turner
2 years ago
Don't Drop ACID
When your database supports ACID semantics, you're free to write code the intuitive way and ignore the complexities of concurrency and failure.
Jamie Turner's avatar
Jamie Turner
2 years ago
Convex and the future of streaming infrastructure
Hosted by Ian & Alex, with Alana (Readyset), Hojjat (Deltastream), Jamie (Convex).
Jamie Turner's avatar
Jamie Turner
2 years ago
Managing Reactivity with useBufferedState
Reactivity has taken a dominant position today within web app development. Our components and app state are all reactive, and the world has adapted–most would argue, for the better. But has Convex gone too far? 😉 A new generation of serverless backends like Convex is recklessly spreading reactivity across our databases, server-side functions, and protocols, making global reactivity a new phenomenon. Shared global data is becoming reactive by default. Is this good for the world? In this video, Jamie Turner explores one circumstance where this pervasive reactivity poses a challenge, and he builds one useful abstraction for taming over-reactivity and turning it back into a strength.
Jamie Turner's avatar
Jamie Turner
2 years ago
Backend Matters (Making Fast5 #2)
Why does anything really need to run on the server anymore? And even if it does, do I, the developer, need to be so involved? Yes! Even in a serverless world, the backend computing context being a real, discrete environment that you have control and influence over is not only necessary but hugely beneficial.
Jamie Turner's avatar
Jamie Turner
2 years ago
Local and Remote State (Making Fast5 #1)
While making Fast5, Convex's wordle-style multiplayer racing game, we ran into several interesting challenges. This week, let's dig into managing the combination of local and global state.
Jamie Turner's avatar
Jamie Turner
3 years ago
Introducing Fast5
At Convex, we're creating a platform for managing global state for web developers. Unsurprisingly, we've found one of the best ways to improve our platform is to actually build stuff with it!
Jamie Turner's avatar
Jamie Turner
3 years ago
The unfulfilled promise of functional ideals on the web
Ideas around immutability, purity, and dataflow programming are quietly saturating our technologies like Bitcoin and React. And while these early inroads are enabling exciting new ways to build large and dependable applications, there is still much to do to realize the full potential of this revolution.
Jamie Turner's avatar
Jamie Turner
3 years ago