
u/gajus0

Clawtopus – multiplayer arcade and chat
What is the game
The fun of the game is simply collecting dots, having conversations, and getting into an occasional fight. It can pretty chaotic if many people join the server. One of me tweets got viral, and I've used the opportunity to get 30+ people at one point. That was pure chaos fun.
How was it built?
The game is super simple. I had this domain laying around and an idea of a character with no plans for it. I used ChatGPT to generate sprites of the character for different states (walking, dashing, dancing, etc) Then had AI map them to the actions that users can take. The server itself is a simple Node.js instance with no database. The hardest thing was figuring out how to create interactions without latency, which was solved using colyseus.js.
Most of the game was built using the gauntlet loop.
You can walk around (WASD), dash (shift), jump (spacebar), and chat (enter). Dashing into someone makes them drop some of their collected points.
If there are no people on the server, a bot will join to accommodate you.
Intended to be just a fun experiment.
Slonik - PostgreSQL node.js client with static-types & runtime validation
github.comAny demand for offline-first HelloChinese alternative?
The times that I want to be learning language often coincide with when I cannot access Internet (traveling, remote locations, etc) It is hyper annoying therefore that HelloChinese only works online – otherwise, I like the app. I am at the point where I might just code something for personal use and make it available for others.
Compile Zod schemas into zero-overhead validators (2-74x faster)
zod-compiler compiles Zod schemas into zero-overhead validation functions at build time. This makes Zod validation 2-74x faster.
https://github.com/gajus/zod-compiler
Besides making the Internet faster, zod-compiler kills the last serious objection to my most contrarian engineering take:
Every input/output of your application must be runtime validated.
Build-time safety is not a guarantee of runtime integrity – it's a ticking bomb. Databases are the clearest example: schema, version, and data drift independently of your codebase and running instances. Your types say one thing; production says another.
The same applies everywhere data crosses a boundary: HTTP requests (URLs, search params, payloads), responses, caches. Whenever data enters your application, runtime validation is what protects state integrity and security.
The only sensible objection has always been performance overhead. zod-compiler shrinks it to irrelevance.
This belief is why I spent the last decade building https://github.com/gajus/slonik – runtime validation is one of the highest-leverage tools we have: you move faster when you can trust your data.
npmjs naming policies mean that there is never going to be another 2, 3, or 4 letter npm package
TLDR if you try to publish any npm package that is 2, 3, or 4 letters long, you will run into this error:
> Package name too similar to existing packages zod,zx,docx,crc,dot,docz,coz,got,joi,co;
Make your Zod validation 113-627x faster by hoisting Zod schemas
github.comPSA Be skeptical of projects that appear out of nowhere
Was surprised to keep seeing the same project appear again and again on my feed. I saw a comment calling out the OP for the same thing, which led to searching their (hidden) post history, which reveals a long tail of the same project getting posted again and again, and somehow always receiving upvotes and positives comments.
https://www.reddit.com/r/coolgithubprojects/comments/1thobk4/comment/omp3p6n/
I am not even against authors sharing their projects. But manipulating votes, adding fake comments, hiding post history, deleting posts that didn't land well (get called out for AI slop), etc. and then doubling down when called out, all of this is just disingenuous behavior that erodes the community's trust.