Sign in

David Blass

@ssalbdivad.dev
1.3K followers 86 following 282 posts

author @arktype.io, cocreator Standard Schema, cofounder pullfrog.com ⛵🐸🌱

PostsRepliesMedia
Reposted by David Blass
ArkType @arktype.io · 04/03/2026
📢ArkType 2.2 is here. This is a big one, and it's long overdue. Validated functions, type-safe regex, bidirectional JSON Schema, and universal schema interop. Here's what's new 🧵
1332
Reposted by David Blass
ArkType @arktype.io · 22/12/2025
all you need to "learn" ArkType syntax: 1️⃣ start with a typescript keyword 2️⃣ .autocomplete to discover constraints 3️⃣ compose if needed with &, |, etc.
2201
Reposted by David Blass
ArkType @arktype.io · 18/12/2025
tools are just introspectable functions... what if you could define them like this?🤔
191
Reposted by David Blass
ArkType @arktype.io · 17/12/2025
wish TS had rust-style pattern matching? (it already does)🪄
2231
Reposted by David Blass
ArkType @arktype.io · 16/12/2025
🚨Standard JSON Schema v1 just dropped🚨 🟢libraries can now accept ArkType wherever they need JSON Schema 🟢100% type-safe with inference built-in 🟢day one support from AI SDK 🟢TanStack AI and MCP SDK support imminent
3333
David Blass @ssalbdivad.dev · 16/12/2025
Next steps: ➡️share the announcement ➡️open issues on projects that can use it ➡️read the announcement standardschema.dev/json-schema
standardschema.dev
Standard JSON Schema
A standardized JSON Schema representation that preserves inferred type information
010
David Blass @ssalbdivad.dev · 16/12/2025
Standard JSON Schema is already being adopted by AI SDK, Tanstack AI, and MCP SDK. Shout out to @lgrammel.bsky.social for day 1 support and this clean example featuring @arktype.io 🙌
120
David Blass @ssalbdivad.dev · 16/12/2025
🎉Announcing Standard JSON Schema🎉 The next spec in the Standard Schema family is here to bring library-agnostic JSON Schema to TS. Let's make sure everyone sees it🔁
1201
Reposted by David Blass
Colin McDonnell 💎 Zod @colinhacks.com · 15/12/2025
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
3726
Reposted by David Blass
ArkType @arktype.io · 11/12/2025
mission accomplished @mattpocock.com
0111
David Blass @ssalbdivad.dev · 11/12/2025
the typescript ecosystem *desperately* needs type performance tooling. it's not an overstatement to say this is one of the biggest leaps in that area in the history of the language🙇
1222
David Blass @ssalbdivad.dev · 10/12/2025
We couldn't be more excited to get it in your hands. Read more/join the waitlist for early access: pullfrog.com
pullfrog.com
Pullfrog
The ultimate agentic GitHub bot. Powered by your favorite coding agents.
150
David Blass @ssalbdivad.dev · 10/12/2025
Just tag Pullfrog or setup auto-triggers to... 🐸plan, review, or implement PRs 🐸handle chores like issue triage and labeling 🐸address feedback and CI failures on its own PRs and it just gets better as your agents do.
130
David Blass @ssalbdivad.dev · 10/12/2025
Pullfrog is the solution. It's a unified entrypoint to the agent of your choice in GitHub, with triggers that work consistently as the ecosystem evolves.
140
David Blass @ssalbdivad.dev · 10/12/2025
With agents becoming more and more capable, GitHub is a natural lower bound for friction. Some agents provide their own GitHub actions, but the result is a half-baked, fragmented DX that ends up feeling bad for everyone involved.
140
David Blass @ssalbdivad.dev · 10/12/2025
Earlier this year, @colinhacks.com and I teamed up to create a more open TypeScript ecosystem with Standard Schema. We couldn't get enough of each other so we're partnering to do the same for agents on GitHub.
160
David Blass @ssalbdivad.dev · 10/12/2025
sounds fake but I'm starting a company with my nemesis Colin P. Zod and our first hire is @AndaristRake and our first product is now in beta
1402
David Blass @ssalbdivad.dev · 09/12/2025
damn too many branches😔
010
Reposted by David Blass
ArkType @arktype.io · 08/12/2025
95% of ArkType syntax is just TypeScript. The other 5% are extensions like this that are... ✅composable ✅consistent across data types ✅100% safe with helpful type-level error messages
1161
Reposted by David Blass
ArkType @arktype.io · 05/12/2025
once you go type("string") you never go z.back()
1162
David Blass @ssalbdivad.dev · 02/12/2025
iyky (you don't)
020
Reposted by David Blass
ArkType @arktype.io · 01/12/2025
In the next version of ArkType, any Standard Schema is a valid definition. Zod migration is about to get a whole lot easier🚀
3385
Reposted by David Blass
ArkType @arktype.io · 26/11/2025
fastest, cleanest tuple validation around
281
Reposted by David Blass
ArkType @arktype.io · 24/11/2025
RIP z.shark() long live sharktype
0201
David Blass @ssalbdivad.dev · 22/11/2025
👀🙏
040
David Blass @ssalbdivad.dev · 20/11/2025
use a wrapper
060
David Blass @ssalbdivad.dev · 20/11/2025
<3 thanks for the support as always. we'll get there! big stuff in the works 🧑‍🍳
020
David Blass @ssalbdivad.dev · 19/11/2025
agonized for a long time on syntax to return a regex's capture groups rather than just validating the input string... what do you think?
060
Reposted by David Blass
ArkType @arktype.io · 18/11/2025
📈arkregex just hit 100k installs/week📈 if you're still using untyped RegExp() you may as well just write raw .js
1211
Reposted by David Blass
ArkType @arktype.io · 13/11/2025
string validation has never been this easy arktype🤝arkregex
1151
Reposted by David Blass
ArkType @arktype.io · 12/11/2025
problem: your RegExp is beyond human comprehension solution: pnpm i arkregex
162
Reposted by David Blass
ArkType @arktype.io · 10/11/2025
I'll take "meticulously typed regex features you probably didn't know existed" for $500
1322
Reposted by David Blass
ArkType @arktype.io · 07/11/2025
in the latest version of arktype: regex properties and index signatures from arkregex🔒
1101
Reposted by David Blass
ArkType @arktype.io · 06/11/2025
imagine using untyped regex in 2025
1151
Reposted by David Blass
ArkType @arktype.io · 05/11/2025
arkregex is ridiculously optimized. even expressions like this are inferred instantly. but what about the most extreme cases?🧵
1282
Reposted by David Blass
ArkType @arktype.io · 03/11/2025
new RegExp(): ❌types 😴tired arkregex: ✅types 🫨wired
2282
David Blass @ssalbdivad.dev · 30/10/2025
cursory investigation in checker.ts seems to suggest this problem would not apply since it looks for delimiters first
110
David Blass @ssalbdivad.dev · 30/10/2025
it's an interesting analogy to the performance of `.*.*` though I hadn't thought about that. regardless of the perf impact I definitely value visual clarity so if there is a way to remove redundant ${string}s that isn't too expensive I'd do it (as is already the case most of the time)
120
David Blass @ssalbdivad.dev · 30/10/2025
Honestly I don't expect this to be used to validate literals very often because it's not a full guarantee the regex will be satisfied anyways. The types are mostly a way to visualize expressions and to provide narrowing via `.test`
200
Reposted by David Blass
Josh Goldberg @joshuakgoldberg.com · 30/10/2025
I am looking for a full-time job. Being independent in open source for 3.5+ years has been wonderful. I've gotten done most of the high-level goals I wanted to, and miss having people & structure around me. If you know of a role for a staff-level TypeScript+web developer, let me know! 🙂
1021378
David Blass @ssalbdivad.dev · 30/10/2025
it can parse very long expressions without much problem but these combinatorial sequences are the way to blow it up if that is your goal
010
David Blass @ssalbdivad.dev · 30/10/2025
hopefully this is not too insensitive
180
David Blass @ssalbdivad.dev · 30/10/2025
hmm I'm not sure there are a ton of cases that are simplified by initially not creating `${string}${string}` but it could be worth looking into what the cost of a final pass like that would be. potentially a lot for what is mostly a cosmetic improvement but happy to be proven wrong
100
David Blass @ssalbdivad.dev · 29/10/2025
the cases that begin with `${string}${string}` should be avoidable I'm interested to double check why that's going on. unfortunately for a case like this, I tested doing the check that would be necessary to avoid `${string}${string}` an it's a huge performance hit
110
David Blass @ssalbdivad.dev · 29/10/2025
yeah generally that is avoided but there are some cases where if you already have `prefix${string}` there's no way to performantly check that appending another `${string}` is a no-op so it's irrelevant
110
David Blass @ssalbdivad.dev · 28/10/2025
when I was this I was like "no way it's way too long" but it actually worked instantly 🤯 obviously the inference is going to be less useful for clarity with this number of branches but the capture groups seem like they work?
120
David Blass @ssalbdivad.dev · 28/10/2025
😬 would be interesting. I'm pretty confident in the inference (although happy to be proven wrong) but depending on the complexity of the expression it's going to hit a wall at some point.
120
David Blass @ssalbdivad.dev · 28/10/2025
my abusive relationship with typescript's type system continues
3471
Reposted by David Blass
ArkType @arktype.io · 28/10/2025
📢Introducing ArkRegex📢 a drop in replacement for new RegExp() with types ⬇️
317527
David Blass @ssalbdivad.dev · 28/10/2025
Unfortunately, the APIs required for that aren't available for that yet (someone in the ArkType Discord was just looking into this a few days ago). Eagerly awaiting support for some of those introspection + instantiation capabilities @typescriptlang.org 🙏
010