Sign in

James Cowling

@jamescowling.dev
302 followers 44 following 41 posts

@convex.dev co-founder/CTO. Dropbox storage designer. Distributed systems researcher at MIT. Bad motorcycle mechanic. Database shill.

PostsRepliesMedia
Reposted by James Cowling
Sync Conf @syncconf.bsky.social · 03/10/2025
Convex @convex.dev is quickly becoming the go-to sync engine for startups building AI and agentic apps. At Sync Conf 2025, co-founder James Cowling @jamescowling.dev will share how they’re making it happen.
011
James Cowling @jamescowling.dev · 22/04/2025
Convex Chef supports Gemini 2.5 Pro! It's sometimes too verbose and occasionally forgets to call tools but produces way better UIs and seems able to build more fully-featured apps than Claude. Try it out!
020
James Cowling @jamescowling.dev · 10/04/2025
Chef is fresh out the oven so let us know what you think and hit Submit Feedback with any issues! chef.convex.dev
chef.convex.dev
Chef by Convex | Generate realtime full‑stack apps
Cook up something hot with Chef, the full-stack AI coding agent from Convex
002
James Cowling @jamescowling.dev · 10/04/2025
LLMs love writing @convex_dev code so we made an app-builder to let them do it. Convex Chef: The AI builder that knows backend. Get cooking...
142
James Cowling @jamescowling.dev · 09/04/2025
Convex Vibe Week Day 3: Get started with Convex without signing up for anything: stack.convex.dev/anonymous-de...
stack.convex.dev
Trying out Convex with a single command
You can now use Convex with a single command without needing to set up a Convex account. This means it’s even easier to persuade your friends to check...
032
James Cowling @jamescowling.dev · 09/04/2025
Ain't no one got time to log in to stuff. Now you can use @convex.dev without an account! Just npm i convex and npx convex dev.
121
James Cowling @jamescowling.dev · 08/04/2025
Convex Vibe Week Day 2: Agent framework www.convex.dev/components/a... stack.convex.dev/ai-agents Durable workflow engine www.convex.dev/components/w... stack.convex.dev/durable-work...
convex.dev
AI Agent
Agents organize your AI workflows into units, with message history and vector search built in.
002
James Cowling @jamescowling.dev · 08/04/2025
Building an AI agent or need a durable workflow? Day 2 of @convex.dev Vibe Week is dedicated to you. New agent framework and durable workflow engine ready to go, check out links in the reply.
111
James Cowling @jamescowling.dev · 07/04/2025
Convex Vibe Week: www.convex.dev/vibe-week Day 1: Convex MCP in GA: stack.convex.dev/mcp-ga
convex.dev
Vibe Week
A week of new features that will change the way developers ship AI apps.
001
James Cowling @jamescowling.dev · 07/04/2025
Day 1 of @convex.dev Vibe Week is a go! Announcing official release of our MCP server folks have been trialing. Check out the vid and the links in the reply. Stay tuned for more tomorrow!
122
James Cowling @jamescowling.dev · 27/03/2025
Convex has a referral program! Double your free quota by referring someone or applying a referral. Refer up to 5 people and get a bump each time. Find your referral link under Team Settings in your dashboard, or if you're fast you can use mine: www.convex.dev/referral/JAM....
convex.dev
Someone thinks you’re a great fit for Convex!
Get Convex resources for free with this referral code.
010
James Cowling @jamescowling.dev · 05/03/2025
Convex storage, search, pagination and optimistic updates are now officially "non-beta". They're reliable to use and have been for a long time. We'll continue to make improvements as always, especially to pagination and optimistic updates.
010
James Cowling @jamescowling.dev · 05/03/2025
Remember when a beta label actually meant something then Gmail was beta for half a decade and ruined it for everyone? We just took a bunch of @convex.dev features out of beta. What's the point of long-term beta if customers depend on it already?
120
James Cowling @jamescowling.dev · 04/03/2025
Your coding agent talking directly to your production database sounds sketchy as hell... unless it's via an MCP server on a db that supports sandboxed code execution, in which case it sounds cool af.
020
James Cowling @jamescowling.dev · 03/03/2025
"Constant time" -> constant in the number of rows in the db. Convex keeps a running inferred schema for each table to perform optimizations like this.
000
James Cowling @jamescowling.dev · 03/03/2025
Ok this is legitimately cool. Cursor talking to @convex.dev via MCP and figuring out schema improvements based on the rows actually stored in the database, performed in constant time!
161
James Cowling @jamescowling.dev · 25/02/2025
3. Design strong abstractions. Agents aren't perfect so focus them on building your app, not trying to solve hard systems problems like managing distributed state. Use libraries or frameworks with good high level abstractions that prevent an agent from wandering off the path.
000
James Cowling @jamescowling.dev · 25/02/2025
2. Express as much as possible in standard, procedural code. Agents are great reasoning about code but less good dealing with declarative languages or configs outside the codebase. Keep as much as possible in the code itself and as little as possible in SQL or external configs.
100
James Cowling @jamescowling.dev · 25/02/2025
1. Provide tight, automatic feedback loops. Coding agents are able to iterate, try things, correct mistakes. They are only able to do this when able to efficiently determine if a step is correct. Type safety is hugely effective at providing guardrails for agents.
100
James Cowling @jamescowling.dev · 25/02/2025
We launched Fullstack-Bench yesterday to test autonomous agent performance on fullstack coding tasks. Starting with Convex, FastAPI, Supabase but more backends to come. stack.convex.dev/introducing-... Three design patterns stood out at producing high quality code with minimal interventions: 🧵
stack.convex.dev
Introducing Fullstack-Bench
Coding agents can do more autonomously when they write code that has tight, automatic feedback loops; use systems that express everything in standard,...
120
James Cowling @jamescowling.dev · 19/02/2025
Thanks @brancz.com! The team loves using Polar Signals so it’s certainly a bonus that it’s made by awesome people.
110
James Cowling @jamescowling.dev · 18/02/2025
Do you like TypeScript? Do you like databases? Do you like neither but just want to build apps using regular old functions? My @db.cs.cmu.edu talk on TypeScript Stored Procedures for app developers is online now. www.youtube.com/watch?v=zpgV...
160
James Cowling @jamescowling.dev · 13/02/2025
Convex also now members of the Open Source Pledge @opensourcepledge.com, committing to financially support development of open software we all benefit from. Our initial contribution was towards @tanstack.com! Really glad to be supporting @tannerlinsley.com and crew. news.convex.dev/open-source-...
news.convex.dev
Joining the Open Source Pledge
Today, Convex is taking a meaningful step to support the open source ecosystem we rely on. We're joining the Open Source Pledge, a coalition of companies committed to funding the open foundations of m...
1256
James Cowling @jamescowling.dev · 13/02/2025
If you're new to Convex start off with the tutorial in our docs. If you're a Convex OG and want to give self-hosting a spin, you can get started over at github.com/get-convex/c...
github.com
000
James Cowling @jamescowling.dev · 13/02/2025
Cloud-hosted Convex is still the best place to start for most folks getting started, plus includes a very usable free tier, but we're really glad to have the self-hosted option available for people whose needs fall outside our hosted plans.
100
James Cowling @jamescowling.dev · 13/02/2025
When people say they want open source they rarely mean they just want to read the source code. They mean they want unrestricted access, an active community, ease of use, and yes, often something for free. news.convex.dev/self-hosting/
news.convex.dev
Convex Self-Hosting: More than just open source
Convex is now self-hostable. We’ve open sourced the dashboard, added support for storing data in Postgres in addition to SQLite (plus MySQL very soon!), and packaged it all up in a docker container yo...
121
James Cowling @jamescowling.dev · 13/02/2025
We just launched self-hosted @convex.dev! We open sourced last year but realized the code was open but not so useful on its own. This time we've included the Convex dashboard, bindings for Postgres, SQLite (and MySQL v. soon), packaged up in a docker container ready for real use
141
James Cowling @jamescowling.dev · 07/02/2025
CMU Databases talk streaming live 4:30EST Monday. Come learn how every good idea you have was already invented by someone in the 80s and why we should be running typescript functions in our databases. db.cs.cmu.edu/events/sql-d...
050
James Cowling @jamescowling.dev · 31/01/2025
Summary of how well each model is performing at writing @convex.dev code?
000
Reposted by James Cowling
Ian Macartney @ianmacartney.bsky.social · 31/01/2025
I used AI to write a script to help me write AI evals to help AI write Convex code. Very meta 💡Each step uses RAG from previous evals Flow: 1. 🧑‍💻oneliner -> 🤖 task description -> 🧑‍💻 audit 2. 🤖 answer ->🧑‍💻 audit 3. 🤖 tests for answer ->🧑‍💻 audit 🔗 to evals 👀 & my script in 🧵
github.com
GitHub - get-convex/convex-evals
Contribute to get-convex/convex-evals development by creating an account on GitHub.
212
James Cowling @jamescowling.dev · 27/01/2025
SQL also decouples how a query is written from whether it's feasible to execute in prod. If you write a SELECT without an index you're in trouble. The initial Convex syntax required typing .fullTableScan().filter() to filter a table scan but we removed it. Probably a mistake.
000
James Cowling @jamescowling.dev · 27/01/2025
A design mistake we made with @convex.dev is that the .filter() operator looks convenient, even though it does a table scan, while the .withIndex() syntax for efficiently reading from an index looks a little cumbersome and expensive. We'll fix this in v2.
100
James Cowling @jamescowling.dev · 27/01/2025
A good design principle is APIs that look cheap should be cheap and APIs that are expensive should look expensive. One mistake we made in an old version of Dropbox was that directory moves looked cheap (drag a folder) but were expensive on the server (update metadata for every file in the tree).
150
James Cowling @jamescowling.dev · 24/01/2025
If you want to get a really excellent *free* education on database internals check out the CMU Database Group on YouTube, especially series like Intro to Database Systems or the History of Databases lecture. www.youtube.com/c/CMUDatabas...
youtube.com
CMU Database Group
Carnegie Mellon University Database Group
010
James Cowling @jamescowling.dev · 24/01/2025
We covered OSS db licensing challenges with Redis and Elastic; the Databricks vs Snowflake turf war; the rise of @duckdb.org; why we love SQLite; Deterministic Simulation Testing, Rust, and @tur.so's rewrite; Postgres, MySQL and Aurora DSQL; new acquisitions like Rockset into OpenAI; and much more.
120
James Cowling @jamescowling.dev · 24/01/2025
Got to sit down with Professor @andypavlo.bsky.social on the latest @convex.dev Databased podcast for his 2024 databases year in review! www.youtube.com/watch?v=1B-M...
youtube.com
What You Missed in 2024 in the World of Databases, with Andy Pavlo
YouTube video by Convex
2299
James Cowling @jamescowling.dev · 22/01/2025
It's certainly possible to be self-taught but the difference between good and great systems only shows up when systems are used and put under stress. Focusing on simplicity at all times and building sophistication only because that sophistication is demanded by real usage is key.
030
James Cowling @jamescowling.dev · 22/01/2025
It can be hard to break into a new domain but most folks I've mentored in systems engineering started as devs in adjacent teams who stood out by taking the time to learn how the systems worked above and below them in the stack and being proactive fixing things when they break.
120
James Cowling @jamescowling.dev · 22/01/2025
If you want to get good building systems and databases you should go work for a bigger company or a startup with serious infra demands. It's hard to develop excellence thinking about scale, correctness and architecture in an environment where these aren't critical to the business
1243
James Cowling @jamescowling.dev · 05/12/2024
Jealous you got this domain name :)
010
James Cowling @jamescowling.dev · 04/12/2024
Values need to involve a tradeoff. If they don't come with a cost you're willing to accept then they're not actionable. e.g., "Move fast and break stuff" = 🔥 "Move fast with stable infra" = 😐
001
James Cowling @jamescowling.dev · 04/12/2024
It's easy to roll your eyes at Company Values but hopefully you actually value *something*. A good set of values can have a huge enduring impact on decision-making at a company. I wrote a guide on the process I follow for picking values at a company stack.convex.dev/company-values
stack.convex.dev
Company Values that Matter
A good set of values can be critically important in establishing a team that stands for something. This post outlines why company values are important...
240
James Cowling @jamescowling.dev · 24/11/2024
Can't talk right now. Busy arguing on Reddit with someone who will inevitably turn out to be a child.
030