Colin McDonnell 💎 Zod
banner
colinhacks.com
Colin McDonnell 💎 Zod
@colinhacks.com
💎 Creator of Zod, tRPC (v0)
🔮 OSS Fellow @ Clerk
🦆 Friendly neighborhood TypeScript nerd
🧑🏼‍💻 Prev @ Bun, EdgeDB, YC, MIT
I used Nub to scan the top 10k npm packages for phantom (undeclared) dependencies

It found 660 problematic packages. nubjs.com/blog/phanto...
De-phantoming the npm ecosystem
A daily scan of 10,000 high-download npm packages, published as a package extensions database for other tools to use.
nubjs.com
September 15, 2026 at 3:03 PM
In the latest Nub `nubx` lets you disable dlx (downloading packages from the internet) globally, forever

This lets you use nubx to invoke project-local CLIs (e.g. prisma, etc) without the risk of a typo running an untrusted package on your machine
September 15, 2026 at 11:48 AM
In Zod 4.6 — z.string().url() gets 63x faster

It now uses URL.canParse() before falling back to `new URL()` (the old approach)
September 15, 2026 at 7:39 AM
Nub v0.9.1 — Nub autosizes the libuv threadpool on beefier machines

Node caps the threadpool at 4. Nub lets this float to the number of machine cores (with conservative nicing beyond 4), increasing max throughput for crypto, zlib, DNS, and native addons like bcrypt and sharp
September 14, 2026 at 3:03 PM
In the latest Nub

Set `nodeExecutable` in nub.jsonc to override Nub's Node version resolution logic — you can provide an absolute path, or use $() syntax to dynamically resolve one
September 14, 2026 at 11:47 AM
New in Zod 4.6

z.iban() — validates international bank account numbers via regex + ISO 7064 checksum
September 13, 2026 at 3:03 PM
New in Zod 4.6 — .validate()

Unlike .parse(), this method returns a boolean, aborts early when it encounters the first error, and instantiates no issue objects. It is 13-39x faster than `.safeParse().success` on invalid data.
September 13, 2026 at 11:21 AM
New in Zod 4.6 — z.instanceof().properties()

Specify arbitrary property-level validators on z.instanceof() schemas
September 13, 2026 at 7:39 AM
Zod 4.6 is now available!

💎 z.instanceof().properties()
💎 z.iban()
💎 .validate()
September 12, 2026 at 6:58 PM
In the latest version of Nub

Support for Promise.allKeyed() and Promise.allSettledKeyed() — the object form of Promise.all()
August 8, 2026 at 11:57 AM
Introducing Boron — A WYSIWYG editor for designing beautiful CLI screenshots

It's Carbon or ray[dot]so for terminals instead of code blocks 👾

✅ ANSI colors & styles
✅ richtext copy/paste from terminals
✅ export to png/svg/jpg/webp/text

boron.sh
Boron — beautiful images of your terminal
Compose a terminal session, keep its ANSI colors, and export it as an image.
boron.sh
August 5, 2026 at 2:27 PM
Nub's package manager is now 5.5x faster than Bun on our warm install benchmark!
July 8, 2026 at 3:53 PM
Introducing Nub.

The all-in-one JavaScript toolkit that augments Node.js (instead of trying to replace it)
June 22, 2026 at 7:23 PM
Introducing ✨ Standard JSON Schema ✨

It's a sister spec to Standard Schema that provides a common interface for any entity that can be converted to JSON Schema
December 15, 2025 at 11:28 PM
wish I'd thought of this 3 days ago 🫠
hello world! we're building the ultimate integration layer between GitHub and your favorite coding agents. coming early 2026.

send me a DM containing the 🐸 emoji to join the waitlist :)
December 12, 2025 at 8:46 PM
sounds fake but I'm starting a company with my nemesis David E. ArkType

and our first hire is @andarist.bsky.social

and our first product is now in beta :)
December 10, 2025 at 5:33 PM
Introducing Zod 4.1 and its flagship feature: codecs.

z.codec() is a new API for defining *bi-directional transformations* in Zod
August 26, 2025 at 12:44 AM
in the absence of an existing convention, I'm adding these three fields to Zod's package.json.

making this stuff auto-discoverable would resolve one of the biggest usability issues with today's agents/IDEs. a simple convention here will go a long way! 🤘
July 29, 2025 at 8:45 AM
folks in the Bay Area: come hang out!
lu.ma/waqmeggb
Zod 4 Release Day Happy Hour · Luma
Zod 4 is here! This new major version of Zod has been under development for over a year, and it’s finally going stable on May 19th. Join me to eat food, drink…
lu.ma
May 17, 2025 at 4:23 AM
Zod 4 stable will be released this Monday, May 19th!
May 15, 2025 at 6:16 PM
Zod 4 is now in beta!

💎 7x faster object parsing
💎 20x reduction in tsc instantiations
💎 57% smaller core bundle size
💎 metadata via .meta()
💎 z.toJSONSchema()
💎 z.templateLiteral()
💎 z.stringbool()
💎 z.int32(), z.float32(), etc
💎 z.file()
💎 new logo 😇
Introducing Zod 4 beta | Zod Docs
v4.zod.dev
April 10, 2025 at 3:23 PM
if I may be so bold, I'd like to propose some much-needed nomenclature
February 25, 2025 at 7:48 AM
i'm trying out a new OSS funding experiment—a "featured" sponsor slot at the top of the Zod README

✓ features are week-to-week (~140k impressions)
✓ simple auction-based pricing (per-week or standing bids accepted)
✓ artwork subject to approval

DM/email me if your company is interested! 🤙
February 24, 2025 at 12:55 AM
who suggested this and why weren't they fired immediately
February 8, 2025 at 10:10 PM
I want chain-of-thought for ChatGPT Voice Mode but it just mutters to itself for 30 seconds before answering my question
February 8, 2025 at 2:33 AM