Bright ideas and techniques for building with Convex.
Profile image for James Cowling

James Cowling

James is CTO/Cofounder at Convex which means he’s accountable for technical decision-making whenever he’s not thinking about how many more plants we should get for the office. He’s most passionate about simple elegant solutions to complex problems.

Before Convex James was Senior Principal Engineer at Dropbox and tech lead on a bunch of projects including building their multi-exabyte geo-distributed storage system and migrating Dropbox off of S3, multi-homing Dropbox infra, and building database systems that handle millions of queries per second. His favorite part of the job was mentoring junior folks who ended up being senior folks, and spending time with smart, friendly, highly-motivated people.

James grew up in Sydney, spent far too much time in school, and eventually received a PhD at MIT specializing in large-scale distributed transaction processing and consensus protocols. In his spare time he likes building stuff and anything involving motorcycles. Rumor has it he has a cover band with his cofounders.

All posts by James

Backends Should be Designed for Product Developers
Our CTO James gave a talk at Developer Week 2024 about how backends have been letting down product developers by not providing clean abstractions that empower development without introducing unnecessary complexity. James outlines four major failures of the status quo: * Bad ideas in query models * Bad ideas in type systems * Bad ideas in caching and performance * Bad ideas in data sync He explains why these exist, how they are holding back developers, and discusses recent innovations at Convex that address these four areas.
James Cowling's Profile image
James Cowling
a month ago
Automatically Retry Actions
Learn how to automatically retry actions in Convex while also learning a little about scheduling, system tables, and function references.
James Cowling's Profile image
James Cowling
2 months ago
Building a Full Cloud Backend - Software Engineering Daily Podcast
Discussion of patterns, psychology, abstractions, managing complexity, and more on the Software Engineering Daily Podcast with James Cowling
James Cowling's Profile image
James Cowling
8 months ago
Ready for Actions
Convex 0.5.0 introduces built-in support for actions — arbitrary lambda functions that run in a Node.js environment on the Convex cloud. We use the term action to differentiate these functions from Convex mutation and query functions, which enable transactional writes and dynamic subscriptions that update whenever data changes.
James Cowling's Profile image
James Cowling
a year ago
Jamstack Conf 2022 Panel: The Future of Databases
Today, a new wave of innovation is making databases approachable for developers without requiring a specialized skillset, opening the door to a whole new category of ambitious web experiences. In this panel, you’ll hear from the people pushing the boundaries of database technology and learn what’s possible — and what’s coming.
James Cowling's Profile image
James Cowling
a year ago
The serverless revolution deserves more than just a serverless database
The serverless movement has eliminated so many problems but it has left application developers with the hardest one of all: managing distributed state.
James Cowling's Profile image
James Cowling
a year ago
The future of databases is not just a database
The future of databases is Convex. This video originally aired at Jamstack 2022, highlighting the next evolution of modern web development architecture.
James Cowling's Profile image
James Cowling
a year ago
Data Interactivity in the Serverless Future (HYTRADBOI 2022)
Dynamic application developers need global state management, not a database. James (@jamesacowling) presents his talk from the HYTRADBOI 2022 database conference on how Convex is rethinking how app developers manage global state.
James Cowling's Profile image
James Cowling
2 years ago