itty (@ittydev) header
itty (@ittydev) profile picture

Itty is an ecosystem of time-saving & code-cutting libraries that weigh every single byte, so your users don't feel them. "Bytes matter." - @kevinrwhitley

Houston, TX
Joined April 2021
Photo by itty (@ittydev)Photo by itty (@ittydev)Photo by itty (@ittydev)Photo by itty (@ittydev)Photo by itty (@ittydev)Photo by itty (@ittydev)Photo by itty (@ittydev)Photo by itty (@ittydev)Photo by itty (@ittydev)Photo by itty (@ittydev)
Replying to @wesbos
Your own example shows one of the challenges of using this. 2nd to last example, breaks "I love pizza!" into 6 words, not 3. Then there's performance...
8
3
87
8,561
May or may not have been inspired by @Saadeghi and DaisyUI 🫡😁 @ittydev libs do powerful, simple things... for fewer bytes than you'd write yourself.
1
1
3
381
After several years cooking, itty-fetcher v1.x just dropped last night. This lets you make SUPER clean API calls using native fetch - for 650 bytes. npmjs.com/package/itty-fetch…
2
1
9
357
Which do you want in your browser log messages?
20%console.log
80%console.log + colors
5 votes • Final results
1
1
2
160
If #2, check out itty-chroma. Under 500 bytes for easy colors, effects, backgrounds, full CSS support, etc. npmjs.com/package/itty-chrom… Want to test it out? Open the console on itty.dev and use it there: chroma.magenta.log('hello world')
1
1
104
I saw a guy coding today. No cursor. No windsurf. No chatgpt. He just sat there. Typing code manually. Like a psychopath.
1,242
9,918
1,008
201,884
5,442,960
Add color to your browser console.log! itty-chroma == chalk, but for browser logs #javascript #browser 🧵👇 1 of 4
1
1
3
313
Busy documenting examples, but itty-chroma is technically live. It brings stuff like this to the browser, in under 500 bytes all-in. #javascript #browser #console #logs #color
1
1
4
698
Spinning up a simple D1 Worker with @ittydev. 1.34KB, only a few lines, and it's working like a champ. Take that for simple syntax! :) @CloudflareDev delivers magic, yet again :)
2
7
44
6,617
I'm *finally* pretty happy with the upcoming itty-durable API/interface. For those not following, this: 1. Brings auto-persist to @CloudflareDev Durable Objects 2. Allows you to easily swap in your own external storage 3. Works perfectly in @honojs, if that's your flavor :)
5
4
1
51
5,471
Not only will the upcoming itty-durable feature auto-persistence in @CloudflareDev Durable Objects for under 400 bytes... It'll let you persist *anywhere*. Save to KV, R2, your own DB, or send stuff via an external API... All the power of DO, backed up to your own source! :)
2
2
47
13,806
Most ms/time libraries can parse a single input. ms('1 week') But do you ever realistically want multi-part inputs? ms('1 month and 3 days') ms('1 week, 3 hours, 45 seconds')
35%Single is good enough.
65%Multi-part would be nice.
23 votes • Final results
1
2
424
Sometimes we use Proxy dark-arts in #ittyrouter to keep your code magical and tiny. However, your handler might need to get back to the very original Request object (not a Proxy). So what should we call it? Rules: - shorter = fewer bytes = good - should be obvious/make sense
71%request.raw
29%request.original
0%request.$raw
0%other (describe below)
21 votes • Final results
3
1
2
590
I'm using itty in prod right now, and I've been using it for 2 years. Thank you for making it ♥️
1
1
2
94
Folks, I did it again. I made another RPC system. I know, it's a problem. But bear with me! I think this is the best possible JavaScript RPC. It has all the power of Cap'n Proto with no need to write schemas. There is almost no boilerplate at all. blog.cloudflare.com/javascri…
23
73
37
601
97,660
Also shoutout to @kevinrwhitley who built itty-durable, a library that implemented RPC for Durable Objects way back in the beginning. It honestly took us way too long to make this built-in, but a lot of people have been using this instead. npmjs.com/package/itty-durab…
3
1
1
28
3,646
Analytics engine pricing is great to see! Been using that for a while already and it’s an incredible product. 🎉 D1 not shipping with read replicas or dynamic bindings is a little disappointing when promised for GA, but good to see it more widely available. 👀 Hope to see more on this very soon. Hyperdrive DX is still pretty rough sadly with the `node_compat` reliance for the primary pg driver, making it basically impossible to use with Pages. 😢 Postgres.js works well though. 😀
4
3
30
6,265
Omg, today when I realized that @CloudflareDev Pages supported @bunjavascript as a build runtime! Just include your `bun.lockb` file and Pages will handle the rest! From my last deploy logs of @ittydev. That's 137 deps in 1.77s. 🔥🔥🔥
1
3
36
1,627
And here's the @bunjavascript version: Our router passes through any foreign props to the final router, so you can export directly in various runtimes.
7
1
40
6,834
Can your #serverless #router do this? ...in 1 kilobyte? Introducing #ittyrouter v5: the batteries-included version :)
1
3
2
10
1,134