I created this new library that parses Postgres SQL inside TypeScript’s type system. You write a SQL string and the compiler infers the row and parameter types. It needs no codegen and no database connection.
const q = sql(`SELECT u.id, u.email, p.title
FROM users u LEFT JOIN posts p ON p.author_id = u.id
WHERE u.id = ${sql.param(7)}`);
// { id: number; email: string; title: string | null }
sql("SELECT nme FROM users");
// error: column "nme" does not exist
- Handles joins, CTEs, subqueries, window functions, INSERT/UPDATE/DELETE … RETURNING
- Runs on pg or postgres.js, and can reuse your existing Kysely, Drizzle or Prisma schema
- Requires TypeScript 7
https://github.com/ismailkarsli/typesql
Feedback welcome, especially queries that don’t type-check but should.


So what you want me to do? I did not create AI. I’m doing software for 7 years now and I’m not happy where the sector is going too. But what I can do?
I could not build this project in a week if there was no AI and likely wouldn’t even bother without it because it is pretty complicated.
I’m still pretty enthusiastic about it. I do enjoy when I see the results. I’m trying to share something and make my life easier. So what? I should rewrite it by hand because that is more valuable?
I really don’t know what you want me to do.