Tomasz Gil
@tomaszgil.me
Senior Software Engineer @ OpenSpace. I help product teams build quality software and lead engineering efforts. tomaszgil.me
I've chatted with a few friends lately about the work we're doing at the moment. It's a fantastic way to spark new ideas for articles. Added two new topics to the list. ✍️
A weird urge to read some fiction. I think for the past 10 years or so I only read non-fiction books. Any recommendations?
Me: closing my laptop on Friday before two weeks off Anthropic: drops a new model
No! God! Please! No! Reaction
Alt: No! God! Please! No! Reaction
static.klipy.com
This week, I did my first ever user research interviews—giving people a prototype of a feature and watching them try to use it. It's fascinating how differently people use software, yet they still run into many of the same problems.
Turns out, I’m going to be building a Figma-style editor next week. Good that Fable is back, just in time.
Me on the other side of this weekend (peak temperature: 40⁰C).
Scared Fried Egg Cooking
Alt: Fried
static.klipy.com
I think I'm old enough now to get a walking pad. 🫣 Anyone has recommendations? Looking for something to put under my desk, for walking only.
A year ago, building a custom tool for one library upgrade would've been a waste of time. With agents, the math flips. Things not worth building before are suddenly worth it: run once, then delete. I walk through one I built for a React Query migration. blog.tomaszgil.me/throwaway-by...
Astro 7 is here! A new Rust compiler, a new Rust Markdown/MDX processor, Vite 8 and more. Get ready for 60%+ faster builds. astro.build/blog/astro-7/
Astro 7.0 | Astro
Astro 7.0 brings faster builds with Vite 8, a new Rust compiler, Advanced Routing, background dev server support, and structured logging.
astro.build
The best software I’ve written has always been software I was a user of. Using it every day made the rough edges impossible to ignore.
The number of sessions I managed to have with Fable before the shutdown: 1. 🤐
Huge thanks to meet.js for having me at the Summit — the heart of Poland's JS community since 2011 — for my first-ever large-stage talk. Terrifying, and one of the best things I've done as an engineer. Recording's up! 👇 www.youtube.com/watch?v=mfCM...
Tomasz Gil - Shipping Offline Support on the Web
YouTube video by BRAVE
youtube.com
Final post in the Offline Support for Web Apps series. 📴 Image bytes don't belong in your app state. This one is about splitting the data layer — data in one place, image bytes in another — and letting a service worker handle the transport. More in the article. blog.tomaszgil.me/offline-supp...
Hear me out: self-healing codebases. 👀 Periodically feed the agent all rules and architecture docs and let it apply "safe" fixes.
New post in Offline Support for Web Apps series. 📴 Prefetching can make offline UX feel seamless — or completely tank performance. This one breaks down how to do it carefully: when, what, and how much. More in the article. blog.tomaszgil.me/offline-supp...
I'm switching away from Cursor, diving into Claude Code. 👀 What is your preferred way of interacting with it? I'm specifically interested in something for managing your conversations within and across projects.
TypeScript 6.0 is now available! This release brings better type-checking for methods, new standard library features, new module features for Node.js, and more! But most important, this release brings us one step closer to the upcoming native-speed 7.0! devblogs.microsoft.com/typescript/a...
Announcing TypeScript 6.0 - TypeScript
TypeScript 6.0 is now available! TypeScript 6 is a stepping-stone release, aligning with the upcoming native-speed 7.0 release.
devblogs.microsoft.com
📚 Continuing my series about design-systems, today I wrote about why I believe data-testid is a bad practice and and how role-based selectors actually help ensure your app is accessible.
Test IDs are an a11y smell
Users don't use data-testid, so why do your tests?
tkdodo.eu
I’ve stopped writing code by hand. I hesitated to post this because it already feels obsolete — my workflow is evolving as I write this. Still, I break down how I currently work with AI agents end-to-end. More in the article. blog.tomaszgil.me/the-agent-fi...
AI promised me I’d finally have time to post unhinged memes on social media. Now I’m just doing more work and endlessly tweaking my workflow. Send help.
Roughly two weeks ago I drafted a post about how I use AI in my workflow, reflecting on the last 6 months or so. It already feels obsolete. I wonder if I should even post it. 🙈
New post in the Offline Support for Web Apps series. 📴 This one moves from queue implementation to real application usage — wiring the queue into React, capturing offline mutations, and syncing them safely later. More in the article. blog.tomaszgil.me/offline-supp...
Being good at context switching becomes a lot more important when you have multiple agents running simultaneously on different things. In my experience, most devs prefer focused work and being “in the zone”. I feel this is gonna be a big adjustment and why many are still sceptical. It’s hard.
i really don't care about using AI to ship more stuff it's really hard to come up with stuff worth shipping i want to ship the same amount of stuff with higher quality both in product and code