Super speed, super quality: lessons from the Aptos Network site launchSuper speed, super quality: lessons from the Aptos Network site launchFebruary 4, 2026Blog PostCase StudyDXAIAstro.jsReactTailwind CSS
So, your developers use AI now—here's what to knowSo, your developers use AI now—here's what to knowFebruary 3, 2026Blog PostAI
Building dev tools with AI: the product decisions that need to be yoursBuilding dev tools with AI: the product decisions that need to be yoursJanuary 29, 2026Blog PostAIDesign for devtools
Optimistic UI in Rails with optimism... and InertiaOptimistic UI in Rails with optimism... and InertiaJanuary 27, 2026Blog PostRailsReactJavaScript
How to detect Safari and iOS versions with ease in 2026How to detect Safari and iOS versions with ease in 2026January 15, 2026Blog PostiOSJavaScriptCSS
What devtools founders making $100M+ ARR told me in San FranciscoWhat devtools founders making $100M+ ARR told me in San FranciscoJanuary 7, 2026Blog PostDeveloper ProductsAIDevtools startup advisory
6 things developer tools must have in 2026 to earn trust and adoption6 things developer tools must have in 2026 to earn trust and adoptionJanuary 6, 2026Blog PostDeveloper ProductsAIDXPerformanceDesignJavaScriptA11yLLMs
Inertia.js in Rails: a new era of effortless integrationInertia.js in Rails: a new era of effortless integrationDecember 31, 2025Blog PostRailsReactJavaScriptTailwind CSS
AnyCable, Rails, and the pitfalls of LLM-streamingAnyCable, Rails, and the pitfalls of LLM-streamingDecember 18, 2025Blog PostReal-timeAIOpen SourceReal-time featuresRailsHotwireWebSocket
Why your vibe-coded project needs a developerWhy your vibe-coded project needs a developerDecember 11, 2025Blog PostDesignDXAIDesign for devtoolsVibe coding
Why Evil Martians hosted a Ruby conference in San FranciscoWhy Evil Martians hosted a Ruby conference in San FranciscoDecember 10, 2025Blog PostDeveloper CommunityRuby
Unparser: real life lessons migrating Ruby tools from Parser to PrismUnparser: real life lessons migrating Ruby tools from Parser to PrismNovember 25, 2025Blog PostOpen SourceDXRuby
Vibecoding tools can learn from design UX and win over everyoneVibecoding tools can learn from design UX and win over everyoneNovember 19, 2025Blog PostDesignDXAIDesign for devtools
Payment form best coding practices that don't drop salesPayment form best coding practices that don't drop salesNovember 10, 2025Blog PostDeveloper ProductsJavaScript
Why startups choose React (and when you shouldn't)Why startups choose React (and when you shouldn't)October 29, 2025Blog PostDeveloper CommunityJavaScriptReactVue.js
Migrating Whop from PostgreSQL to PlanetScale MySQL with 0 downtimeMigrating Whop from PostgreSQL to PlanetScale MySQL with 0 downtimeOctober 28, 2025Blog PostRailsPostgreSQL
Why we're excited about the SF Ruby conferenceWhy we're excited about the SF Ruby conferenceOctober 22, 2025Blog PostDeveloper Community
Debug AI fast with this open source library to visualize agent tracesDebug AI fast with this open source library to visualize agent tracesOctober 15, 2025Blog PostAIAI integration
How to add fast, client-side search to Astro static sitesHow to add fast, client-side search to Astro static sitesOctober 8, 2025Blog PostAstro.js
Martian Summer: blog, talks, open source, and ready for SFRuby in NovMartian Summer: blog, talks, open source, and ready for SFRuby in NovOctober 7, 2025Blog PostDeveloper Community
Contract shock therapy: the way to API-first documentation blissContract shock therapy: the way to API-first documentation blissOctober 1, 2025Blog PostDXTypeScriptViteReact
Flaky tests, be gone: long-lasting relief for chronic CI retry irritation!Flaky tests, be gone: long-lasting relief for chronic CI retry irritation!September 23, 2025Blog PostRailsDXCIRubyJavaScript
OKLCH in CSS: why we moved from RGB and HSLOKLCH in CSS: why we moved from RGB and HSLSeptember 17, 2025Blog PostDeveloper ProductsDesignDXDesign for devtoolsOKLCHCSSPostCSS
Baking with Rails at scale: recipes in Ruby, cookware from Go, C, and RustBaking with Rails at scale: recipes in Ruby, cookware from Go, C, and RustSeptember 15, 2025Blog PostRailsGoRust
Exploring Active Agent, or can we build AI features the Rails way?Exploring Active Agent, or can we build AI features the Rails way?September 10, 2025Blog PostAIRailsOpen SourceAI integrationLLMs
The Whop chop: how we cut a Rails test suite and CI time in halfThe Whop chop: how we cut a Rails test suite and CI time in halfSeptember 3, 2025Blog PostDeveloper CommunityRails
The scenic route: lessons building an IntelliJ IDEA plugin for LuauThe scenic route: lessons building an IntelliJ IDEA plugin for LuauAugust 26, 2025Blog PostDeveloper ProductsSDKs, extensions & plugins
Circuit breakers and Ruby in 2025: don't break your launchCircuit breakers and Ruby in 2025: don't break your launchAugust 13, 2025Blog PostOpen SourceRuby
Redprints CFP: an open source CFP management app built with Rails + Inertia.jsRedprints CFP: an open source CFP management app built with Rails + Inertia.jsAugust 6, 2025Blog PostOpen SourceDeveloper CommunityRailsJavaScriptTailwind CSSVibe coding
What we learned from creating PostCSSWhat we learned from creating PostCSSAugust 5, 2025Blog PostOpen SourceA11yCSSJavaScript
Simplicity, vanished?! Solving the mystery with Inertia.js + RailsSimplicity, vanished?! Solving the mystery with Inertia.js + RailsJuly 29, 2025Blog PostRailsReact
API contracts and everything I wish I knew: a frontend survival guideAPI contracts and everything I wish I knew: a frontend survival guideJuly 23, 2025Blog PostDXTypeScript
We studied 100 dev tool landing pages—here’s what really works in 2025We studied 100 dev tool landing pages—here’s what really works in 2025July 8, 2025