πŸš€ Sr Eng @v7labs πŸ‘¨β€πŸ’» Elixir Fan 🌐 https://xitter.cf/t.co/JUhgTo2oZX | https://xitter.cf/t.co/P3ugfHdAHu | https://xitter.cf/t.co/mGDPPW4o98 | https://xitter.cf/t.co/dPt1Z9gy5g | https://xitter.cf/t.co/P7OOZOWLJI | https://xitter.cf/t.co/1IbweEfgcw πŸ“– Wrote https://xitter.cf/t.co/xPnRYbTY0y

London
Joined January 2011
The Modular Phoenix SaaS Kit is now live! ⚑πŸ₯³ πŸ’° Payments πŸ” oAuth πŸ‘₯ Multi-tenancy πŸ“© Emails 🀝 User Invites πŸ›‘οΈ Rate Limits πŸ€– Vibecode Optimised πŸ”‚ Background Jobs ✍️ Blog 🎨 Design System ⚠️ Monitoring Waitlist sign ups, check your emails a 20% off code πŸ˜‰ #MyElixirStatus
14
9
2
105
14,069
Vibe coding is easy. Vibe designing is apparently the hard part. Fix that: kage.design β†’ Find real UI references + give them to your agent vibeprompts.dev β†’ Components with prompts 21st.dev β†’ Community-built components rendyn.dev β†’ Components accessible through MCP styles.refero.design β†’ Design rules for agents ui.aceternity.com β†’ Animated components + landing page blocks screenshottocode.com β†’ Turn visual references into code Now your side project doesn’t have to look like every other side project.
4
6
412
My frontend bookmarks folder is becoming a problem. Latest additions: mova-ui.com β†’ Motion components for AI agents rendyn.dev β†’ 180+ agent-ready UI components bloom.guibus.dev β†’ Accessible React components cult-ui.com β†’ Polished shadcn components bencho.dev β†’ Interactive UI experiments typehug.aliszu.com β†’ Better typography wrapping kage.design/tooling β†’ Curated tools for building better interfaces Stowdrop.app is helping organise them fwiw
3
2
319
Chris Gregori retweeted
Kage's first sponsor is live - @beehiiv πŸ™Œ 62,000 people browsed Kage last month looking for design references and prompts to paste into their coding agents Glad to have Beehiiv in front of them for the next two weeks. If you're writing a newsletter, they're the ones to use πŸ’ͺ🏼
1
1
6
242
Chris Gregori retweeted
Since we’re all rewriting everything in Rust, here’s my contribution: Dialyzer. ~3Γ— faster on cold runs, matching warnings on tested projects. Uses more memory though.
5
2
1
9
556
Kage's first sponsor is live - @beehiiv πŸ™Œ 62,000 people browsed Kage last month looking for design references and prompts to paste into their coding agents Glad to have Beehiiv in front of them for the next two weeks. If you're writing a newsletter, they're the ones to use πŸ’ͺ🏼
1
1
6
242
Free UI resources that are absurdly good: interior.dev β†’ React micro-interactions kokonutui.com β†’ 100+ React components animate-ui.com β†’ Animated open-source components fancycomponents.dev β†’ Playful React interactions fluidfunctionalism.com β†’ Open-source UI components dicebear.com β†’ 60+ avatar styles kage.design β†’ Free searchable UI inspiration Basically no excuse for ugly side projects anymore.
2
3
500
AI products are starting to all look the same. These might help: aicss.dev β†’ UI blocks for AI interactions ui.halaska.com β†’ Components for AI products nexus-ui.dev β†’ Components for chat, streaming + multimodal UI rendyn.dev β†’ UI components built for coding agents bencho.dev β†’ Interactive AI-style UI patterns ui.spectrumhq.in β†’ Components for SaaS + AI apps kage.design β†’ See how real AI products are actually designed Please, no more identical ChatGPT clones.
1
207
Building another landing page? Don’t start from a blank canvas: kage.design β†’ Hundreds of real landing pages for inspiration ui.aceternity.com β†’ Production-ready landing page blocks magicui.design β†’ Animated landing page components rareui.com β†’ Unusual animated sections kokonutui.com β†’ Open-source React components 21st.dev β†’ Huge community component library builtbydesigners.com β†’ Products actually built by designers Save yourself 3 hours of staring at an empty hero section.
164
Design engineers, save this: dialkit.dev β†’ Beautiful dial controls glass.samasante.com β†’ Glass UI effects uisfx.com β†’ UI sound effects typeface.fyi β†’ Find better typefaces screenshottocode.com β†’ Turn screenshots into code fancycomponents.dev β†’ Experimental UI interactions kage.design β†’ Search real interfaces by component, style + stack A pretty solid toolkit for making software feel less generic.
1
1
273
Warning: opening these will destroy at least an hour of your day. rareui.com β†’ Rare animated React components mova-ui.com β†’ Expressive motion components cult-ui.com β†’ Beautiful shadcn components kokonutui.com β†’ 100+ open-source components bloom.guibus.dev β†’ Polished React components ui.aceternity.com β†’ Components, blocks + templates kage.design β†’ 1,000+ real UI references to steal ideas from Frontend rabbit hole πŸ‘‡
1
13
683
The difference between a decent UI and a great one is usually in the details. 7 sites for inspiring those details: interior.dev β†’ Micro-interactions done properly uisfx.com β†’ Sound effects for UI interactions bencho.dev β†’ Interactive React components torph.lochie.me β†’ Zero-dependency text morphing scrit.to β†’ Beautiful animated text fancycomponents.dev β†’ Playful motion components kage.design β†’ Browse polished UI from real products Your app doesn’t need another gradient. It needs better interactions.
5
388
Your coding agent can write the code. These sites give it taste: kage.design β†’ Real product UI references + copyable prompts rendyn.dev β†’ 180+ components built for coding agents styles.refero.design β†’ High-quality design.md examples vibeprompts.dev β†’ Components with ready-made prompts kokonutui.com β†’ Components your agent can install via MCP ui.aceternity.com β†’ Beautiful React components + MCP agent-memory.dev β†’ Persistent memory for coding agents Bookmark these before your next build.
2
235
I spend way too much time finding good UI resources. Here are 7 actually worth bookmarking: interior.dev β†’ Beautiful React micro-interactions bencho.dev β†’ Interactive UI components fancycomponents.dev β†’ Weird and playful React components animate-ui.com β†’ Animated shadcn components mova-ui.com β†’ Motion components built for AI agents kokonutui.com β†’ 100+ open-source React components kage.design β†’ Real product UI inspiration, ready to build Save this. You’ll want it later.
1
1
140
Created some beautiful error pages for kage.design last night 🎨
144
Chris Gregori retweeted
Me explaining my billion dollar SaaS idea to Opus 5.5 at 3am
62
293
43
5,287
416,497
Chris Gregori retweeted
72
1,434
93
20,712
556,097
kage.design has passed 100,000 views in less than a month πŸŽ‰ Thank you to every designer who's browsed, copied a prompt or shared it. Sponsorships are open: put your product in front of designers. Sidebar from $49, grid from $349. kage.design/sponsor
1
5
456
Chris Gregori retweeted
Ten years of Sad Affleck memes and it turns out he'd just been trying to install CUDA drivers the whole time.
58
1,156
67
15,472
271,326
Chris Gregori retweeted
In programming, "speed" is not so simple to measure. There are a few measures you look at: Concurrency: The number of things your system can handle at once. Throughput: The actual number of requests served per second in real world conditions. Latency: How long it takes for any one request under real world conditions to complete. This includes queueing delay. Queueing Delay: How long a request has to wait at the front door before your system even starts processing it. You typically are playing a balancing act between maximizing throughput and minimizing latency on any single server, while increasing number of servers (capacity) to account for actual load. A system under load does not behave the same as a system with spare capacity. Raw speed doesn't save you under contention, because "just do the thing as fast as it can possibly be done" is just insufficient. Instead, you have to write your code in such a way that any one given thing can "yield" to other things. If you don't, the requests you're working on finish quickly, but once all of your threads/processes are fully utilized, you have no way to handle more load without introducing queueing (which eventually becomes failures/timeouts) on callers. This brings us to queueing delay. When the system is processing all of the data that it can, the callers have to all just sit there and either wait, retry or fail. If your system were able to accept more concurrent work, you can lower this queuing delay under heavy load. If you can't do that, you end up trading away too much of your goodput (requests that actually succeed within their deadline) in exchange for consistently low latency for the operations that you do handle. When building systems at scale, the general guiding light is keeping the queue delay low, and keeping goodput as high as possible. To do this, you accept as much work as the internal system can track (increasing memory usage typically), allowing latency to go up, in order to accept more concurrent traffic internally. You still need backpressure and load shedding, since no scheduler saves you from arrival rates that permanently exceed what you can serve, but within those bounds you keep goodput maximized. For this to actually work, your internal schedulers need to be able to do something called "preemption". This is where any given operation cannot take an entire CPU core for longer than some given period of time, or for some amount of operations. A "preemptive scheduler" balances work fairly across all of the operations that are asking for CPU cycles. (Work stealing, where idle cores pull queued work from busy ones, helps too, but plenty of cooperative runtimes have that. Preemption is the key part.) The BEAM is a powerhouse for this. It preempts processes by counting "reductions," so no process can hog a scheduler. Immutability and share-nothing processes make that preemption cheap and harmless: a process is never paused while holding a lock someone else needs, and every process has its own heap and garbage collector, so there are no global stop-the-world pauses. This allows BEAM applications to achieve maximal goodput, with very low failures due to queue delay, while spreading latency across all work fairly. Without that preemption, you would see a huge spread among the latency of your system. i.e some requests happening practically immediately, while other requests take pathologically large amounts of time to complete. I get that people want programming language not to matter these days, but at a very minimum you cannot escape the limitations of your runtime. The BEAM's runtime is built for operating at scale, and will always be smoked on benchmarks for tight loop operations where there is no resource contention. #ElixirLang
BEAM is not faster than Rust so something is wrong with the Rust code
7
45
5
275
8,279
What MacOS email client are people using these days? Anything sexy and worth using or should I just fall back to Mail?
3
286