Alberto Gimeno
@gimenete.net
Software Engineer who loves building developer tools and cloud services. Now at Stripe.
Building githero.app on the side: a modern and delightful GitHub client.
📍Zaragoza, Spain
Building githero.app on the side: a modern and delightful GitHub client.
📍Zaragoza, Spain
I wish blogs had a simple “I liked this” button at the end, like Medium’s claps. Nothing fancy, just a way to tell the author “hey, I read this and enjoyed it.”
September 14, 2025 at 10:01 AM
I wish blogs had a simple “I liked this” button at the end, like Medium’s claps. Nothing fancy, just a way to tell the author “hey, I read this and enjoyed it.”
User feedback is gold. Excited that most of the GitHero feedback so far matches the roadmap I’ve been planning 😀
September 6, 2025 at 11:03 AM
User feedback is gold. Excited that most of the GitHero feedback so far matches the roadmap I’ve been planning 😀
How to build fast React apps:
– use the react compiler
– avoid useEffect as much as possible
– use a state management library that supports selectors. Avoid react contexts most of the time
– avoid css-in-js if possible
– use data catching and prefetching
– make components small
– use the react compiler
– avoid useEffect as much as possible
– use a state management library that supports selectors. Avoid react contexts most of the time
– avoid css-in-js if possible
– use data catching and prefetching
– make components small
August 26, 2025 at 11:08 AM
How to build fast React apps:
– use the react compiler
– avoid useEffect as much as possible
– use a state management library that supports selectors. Avoid react contexts most of the time
– avoid css-in-js if possible
– use data catching and prefetching
– make components small
– use the react compiler
– avoid useEffect as much as possible
– use a state management library that supports selectors. Avoid react contexts most of the time
– avoid css-in-js if possible
– use data catching and prefetching
– make components small
1 full year closing the rings
August 25, 2025 at 7:56 PM
1 full year closing the rings
The start of the year is a natural time to reflect on goals and habits. But I find the end of summer just as powerful, right after I take vacations. It feels like a reset before the last stretch of the year. I reflect on what goals I want to accomplish by EOY.
August 20, 2025 at 7:10 PM
The start of the year is a natural time to reflect on goals and habits. But I find the end of summer just as powerful, right after I take vacations. It feels like a reset before the last stretch of the year. I reflect on what goals I want to accomplish by EOY.
All steel made after the first nuclear blast carries radioactive isotopes. Similarly all information created after the AI explosion likely carries machine-made content.
August 18, 2025 at 2:49 PM
All steel made after the first nuclear blast carries radioactive isotopes. Similarly all information created after the AI explosion likely carries machine-made content.
Getting back into mobile dev with React Native has been pure joy. Hot reload makes iteration instant. That fast feedback loop is addictive. And with the right care, apps feel truly native.
August 16, 2025 at 11:26 AM
Getting back into mobile dev with React Native has been pure joy. Hot reload makes iteration instant. That fast feedback loop is addictive. And with the right care, apps feel truly native.
Which mobile apps you use regularly do you think provide the best user experience?
August 15, 2025 at 12:55 PM
Which mobile apps you use regularly do you think provide the best user experience?
Feels like my coding agent’s system prompt today was set to “wrong answers only.”
August 12, 2025 at 5:19 PM
Feels like my coding agent’s system prompt today was set to “wrong answers only.”
Not sure if yesterday was productive, but I did discover about 20 ways a specific feature can’t be implemented.
August 12, 2025 at 4:30 PM
Not sure if yesterday was productive, but I did discover about 20 ways a specific feature can’t be implemented.
I’ll sometimes just sit with my phone geeking out over tiny UI details in apps: animations, shadows, microinteractions, navigation, even the information architecture. Great exercise to level up my own apps.
August 11, 2025 at 12:06 PM
I’ll sometimes just sit with my phone geeking out over tiny UI details in apps: animations, shadows, microinteractions, navigation, even the information architecture. Great exercise to level up my own apps.
Nobody talks about chatbots anymore.
August 9, 2025 at 4:23 PM
Nobody talks about chatbots anymore.
Do you review PRs commit by commit or do you review the full diff only?
August 9, 2025 at 10:54 AM
Do you review PRs commit by commit or do you review the full diff only?
Adding AI features to GItHero (coming soon).
It uses the GitHub models API so no additional setup is required. No API key, nothing. It just works.
It uses the GitHub models API so no additional setup is required. No API key, nothing. It just works.
August 7, 2025 at 6:54 PM
Adding AI features to GItHero (coming soon).
It uses the GitHub models API so no additional setup is required. No API key, nothing. It just works.
It uses the GitHub models API so no additional setup is required. No API key, nothing. It just works.
The best coding sessions feel like gaming:
Not too easy or boring. No impossible tasks.
Just enough challenge to keep you in the zone.
That’s flow.
Csikszentmihalyi’s Flow Theory applied to programming.
Not too easy or boring. No impossible tasks.
Just enough challenge to keep you in the zone.
That’s flow.
Csikszentmihalyi’s Flow Theory applied to programming.
August 7, 2025 at 2:00 PM
The best coding sessions feel like gaming:
Not too easy or boring. No impossible tasks.
Just enough challenge to keep you in the zone.
That’s flow.
Csikszentmihalyi’s Flow Theory applied to programming.
Not too easy or boring. No impossible tasks.
Just enough challenge to keep you in the zone.
That’s flow.
Csikszentmihalyi’s Flow Theory applied to programming.
Crazy how the most critical code sometimes is the one that looks more brittle and hard to test. E.g. authentication flows happening in a webview communicating with the parent app through non standard message passing APIs (window.webkit namespace)
August 6, 2025 at 6:12 PM
Crazy how the most critical code sometimes is the one that looks more brittle and hard to test. E.g. authentication flows happening in a webview communicating with the parent app through non standard message passing APIs (window.webkit namespace)
The best advice in the world means nothing if the listener isn’t ready to hear it. Timing and mindset matter as much as the message itself.
August 5, 2025 at 4:46 PM
The best advice in the world means nothing if the listener isn’t ready to hear it. Timing and mindset matter as much as the message itself.
My job and side projects feed into each other. It’s a feedback loop of constant improvement.
UI/UX, data fetching techniques, performance, release processes, … What I learn in one I adopt to the other.
UI/UX, data fetching techniques, performance, release processes, … What I learn in one I adopt to the other.
August 4, 2025 at 2:01 PM
My job and side projects feed into each other. It’s a feedback loop of constant improvement.
UI/UX, data fetching techniques, performance, release processes, … What I learn in one I adopt to the other.
UI/UX, data fetching techniques, performance, release processes, … What I learn in one I adopt to the other.
Found a repetitive task where LLMs shine? Don’t use them manually every time. Ask for a script. Turn non-deterministic magic into deterministic automation.
August 3, 2025 at 2:31 PM
Found a repetitive task where LLMs shine? Don’t use them manually every time. Ask for a script. Turn non-deterministic magic into deterministic automation.
⭐️ GitHero has a blog now.
First post: "From opaque ids to human-readable paths: improving URL shareability and interoperability"
githero.app/blog/url-rev...
First post: "From opaque ids to human-readable paths: improving URL shareability and interoperability"
githero.app/blog/url-rev...
From opaque ids to human-readable paths: improving URL shareability and interoperability
Building GitHero taught me that URLs aren't just technical details—they're core to user experience. In this article, I share how GitHero’s URL structure evolved from using opaque inernal ids and GitHu...
githero.app
May 19, 2025 at 8:10 PM
⭐️ GitHero has a blog now.
First post: "From opaque ids to human-readable paths: improving URL shareability and interoperability"
githero.app/blog/url-rev...
First post: "From opaque ids to human-readable paths: improving URL shareability and interoperability"
githero.app/blog/url-rev...
I’ve transitioned to a new team at Stripe and started a new role as a Mobile Engineer 📱
May 19, 2025 at 4:18 PM
I’ve transitioned to a new team at Stripe and started a new role as a Mobile Engineer 📱
@joshwcomeau.com hey, I think this is not working correctly in your blog. The second counter is not updating automatically. It does when scrubbing only. Tested on Chrome/iOS.
May 17, 2025 at 8:32 PM
@joshwcomeau.com hey, I think this is not working correctly in your blog. The second counter is not updating automatically. It does when scrubbing only. Tested on Chrome/iOS.
I’ve renewed my old Apple developer account. I got charged but I still can’t access it… 🤔 I emailed support.
Anyway, a native macOS version of GitHero is coming soon!
Anyway, a native macOS version of GitHero is coming soon!
May 17, 2025 at 8:21 PM
I’ve renewed my old Apple developer account. I got charged but I still can’t access it… 🤔 I emailed support.
Anyway, a native macOS version of GitHero is coming soon!
Anyway, a native macOS version of GitHero is coming soon!
⚛️ It's not mentioned anywhere as far as I've seen, but the experimental React Activity component keeps even the state of the scroll position when switching between hidden and visible states. This is awesome!
May 14, 2025 at 3:57 PM
⚛️ It's not mentioned anywhere as far as I've seen, but the experimental React Activity component keeps even the state of the scroll position when switching between hidden and visible states. This is awesome!