
Anjana Vakil
A chronically curious teacher-turned-developer, Anjana is an independent software engineer & educator, an alumna of the Recurse Center & Outreachy, and an avid karaoke enthusiast.
All posts by Anjana
Argument Validation without Repetition
A few more advanced techniques & helpers to further reduce duplication and accelerate your Convex workflow.

Anjana Vakil
a year ago
Types and Validators in TypeScript: A Convex Cookbook
It can be tough to wrangle types to behave how you want them to. Thankfully, Convex was designed to make the experience with types perfect. Learn why that's the case here.

Anjana Vakil
a year ago
Building AI Town's Backend: Character Identities
Learn more about how AI Town works and how to customize it. In this post, we'll dig into how character identities are represented: how to alter them, and how to add entirely new characters.

Anjana Vakil
a year ago
Help, my app is overreacting!
Reactive backends like Convex make building live-updating apps a cinch, but default behavior might be too reactive for some use cases. Not to worry! Let’s fine-tune the reactive dataflow of a Convex + React app to deliver a better UX.

Anjana Vakil
2 years ago