-
Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
drizzle-orm
Headless TypeScript ORM with a head. Runs on Node, Bun and Deno. Lives on the Edge and yes, it's a JavaScript ORM too 😅
Supabase - For auth only, the database is not hosted with them. Overall I'm not a big fan of the whole tying the frontend to your schema approach, so I've previously ignored Supabase, but I found it straightforward to only use them for auth: just providing a UI where people sign in, and a way for my backend to check if a request came from someone signed in. 99% of the people using Clerk.dev should be using this or Firebase auth.
Drizzle + DrizzleKit - Drizzle is a sane Prisma. Not much more to it: getting on 2 years of Prisma of "trying to use Joins more" and Prisma is now advertising using joins... but it's best effort which is hilarious and bad. Drizzle is taking an extra 30 seconds to define relationships explicitly and getting to know you used a join.
Everything else is usual suspects. Uses SSE to stream replies back to the user mid-AI generation, but this might become socket.io because SSE doesn't play nicely with mobile browsers and tab switching. The text fade in is something I hope to open source eventually, it's not a huge implementation, but it does some fancy stuff like simulating pauses in speech.
Drizzle + DrizzleKit - Drizzle is a sane Prisma. Not much more to it: getting on 2 years of Prisma of "trying to use Joins more" and Prisma is now advertising using joins... but it's best effort which is hilarious and bad. Drizzle is taking an extra 30 seconds to define relationships explicitly and getting to know you used a join.