Why startups choose React (and when you shouldn't)Why startups choose React (and when you shouldn't)October 29, 2025Developer CommunityJavaScriptReactAngular
Devs in mind 2025: how to design interfaces for developer toolsDevs in mind 2025: how to design interfaces for developer toolsEditors’ choiceDesignDeveloper ProductsDeveloper CommunityDesign for devtools
Railing against time: tools and techniques that got us 5X faster testsRailing against time: tools and techniques that got us 5X faster testsEditors’ choiceCase StudyRubyRailsCI
Migrating Whop from PostgreSQL to PlanetScale MySQL with 0 downtimeMigrating Whop from PostgreSQL to PlanetScale MySQL with 0 downtimeOctober 28, 2025RailsPostgreSQL
Why we're excited about the SF Ruby conferenceWhy we're excited about the SF Ruby conferenceOctober 22, 2025Developer Community
How to make complex Chrome extensions: a zero gravity guideHow to make complex Chrome extensions: a zero gravity guideEditors’ choiceDeveloper ProductsSDKs and PluginsSDKs, extensions & pluginsJavaScriptTypeScriptReact
Join our email newsletterGet all the new posts delivered directly to your inbox. Unsubscribe anytime.Your emailSubscribeOr subscribe to a feed
Debug AI fast with this open source library to visualize agent tracesDebug AI fast with this open source library to visualize agent tracesOctober 15, 2025AIAI integration
How to add fast, client-side search to Astro static sitesHow to add fast, client-side search to Astro static sitesOctober 8, 2025Astro.js
Don't just slap on a chatbot: building AI that works before you askDon't just slap on a chatbot: building AI that works before you askEditors’ choiceDesignAIDeveloper ProductsLLMsMLDeep Learning
Martian Summer: blog, talks, open source, and ready for SFRuby in NovMartian Summer: blog, talks, open source, and ready for SFRuby in NovOctober 7, 2025Developer Community
Contract shock therapy: the way to API-first documentation blissContract shock therapy: the way to API-first documentation blissOctober 1, 2025DXTypeScriptViteReact
PostCSS creator shares how to make your open source popularPostCSS creator shares how to make your open source popularEditors’ choiceOpen SourceDeveloper Community
How to detect Safari and iOS versions with ease in 2025How to detect Safari and iOS versions with ease in 2025September 30, 2025iOSJavaScriptCSS
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, 2025RailsDXCIRubyJavaScript
Inertia.js in Rails: a new era of effortless integrationInertia.js in Rails: a new era of effortless integrationEditors’ choiceRailsReactJavaScriptTailwind CSS
OKLCH in CSS: why we moved from RGB and HSLOKLCH in CSS: why we moved from RGB and HSLSeptember 17, 2025Developer 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, 2025RailsGoRust
Hey, AnyCable speaking! Needing help with a Twilio-OpenAI connection?Hey, AnyCable speaking! Needing help with a Twilio-OpenAI connection?Editors’ choiceAIRailsOpen SourceReal-timeAI integrationLLMsMLTwilio
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, 2025AIRailsOpen 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, 2025Developer CommunityRails
5 best practices for preventing chaos in Tailwind CSS5 best practices for preventing chaos in Tailwind CSSEditors’ choiceTailwind CSSCSSJavaScript
The scenic route: lessons building an IntelliJ IDEA plugin for LuauThe scenic route: lessons building an IntelliJ IDEA plugin for LuauAugust 26, 2025Developer ProductsSDKs, extensions & plugins
The Long Game: why Rails survived the hype cycle and what it means for your startupThe Long Game: why Rails survived the hype cycle and what it means for your startupAugust 18, 2025RailsDeveloper Community
Ruby on Whales: Dockerizing Ruby and Rails developmentRuby on Whales: Dockerizing Ruby and Rails developmentEditors’ choicePerformanceRailsDXPerformance & scalabilityRubyDockerPostgreSQL
Circuit breakers and Ruby in 2025: don't break your launchCircuit breakers and Ruby in 2025: don't break your launchAugust 13, 2025Open 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, 2025Open SourceDeveloper CommunityRailsJavaScriptTailwind CSSVibe coding
Gemfile of dreams: the libraries we use to build Rails appsGemfile of dreams: the libraries we use to build Rails appsEditors’ choiceRailsPerformanceOpen SourcePerformance & scalabilityInfrastructureRubyPostgreSQLGraphQL
AnyCable for Laravel: reliable WebSocket infrastructureAnyCable for Laravel: reliable WebSocket infrastructureJuly 29, 2025Real-timeOpen SourceDXReal-time features
Simplicity, vanished?! Solving the mystery with Inertia.js + RailsSimplicity, vanished?! Solving the mystery with Inertia.js + RailsJuly 29, 2025RailsReact
What we learned from creating PostCSSWhat we learned from creating PostCSSEditors’ choiceOpen SourceA11yCSSJavaScript
API contracts and everything I wish I knew: a frontend survival guideAPI contracts and everything I wish I knew: a frontend survival guideJuly 23, 2025DXTypeScript
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, 2025Developer ProductsDesignDesign engineering
How to Favicon in 2025: Three files that fit most needsHow to Favicon in 2025: Three files that fit most needsFebruary 4, 2025CSS
PostCSS 8.0: Plugin migration guidePostCSS 8.0: Plugin migration guideSeptember 14, 2020PostCSSCSSJavaScript
Phone inputs and you: the designer's essential UI guidePhone inputs and you: the designer's essential UI guideAugust 3, 2022DesignDesign for devtools
Exploring the OKLCH ecosystem and its toolsExploring the OKLCH ecosystem and its toolsMay 28, 2025Developer ProductsDesignDXDesign for devtoolsOKLCHCSS
How to quickly (and weightlessly) convert Chrome extensions to SafariHow to quickly (and weightlessly) convert Chrome extensions to SafariAugust 28, 2024Developer ProductsSDKs and PluginsSDKs, extensions & pluginsJavaScriptTypeScriptSwift
TestProf: a good doctor for slow Ruby testsTestProf: a good doctor for slow Ruby testsAugust 11, 2024PerformanceOpen SourceRailsPerformance & scalabilityRubyCI
TestProf II: Factory therapy for your Ruby testsTestProf II: Factory therapy for your Ruby testsAugust 12, 2024PerformanceOpen SourceRailsPerformance & scalabilityRubyCI
Lefthook: knock your team’s code back into shapeLefthook: knock your team’s code back into shapeJuly 30, 2019PerformancePerformance & scalabilityCIGoJavaScript
Better dynamic themes in Tailwind with OKLCH color magicBetter dynamic themes in Tailwind with OKLCH color magicOctober 31, 2023DesignDXTailwind CSSOKLCHCSS
imgproxy: Resize your images instantly and securelyimgproxy: Resize your images instantly and securelySeptember 26, 2017Developer ProductsGoDockerHeroku
11 HTML best practices for login & sign-up forms11 HTML best practices for login & sign-up formsOctober 23, 2024Open SourceA11yCSSJavaScript
The Hotwire-Rails summit, or interactive multi-step forms at peak UXThe Hotwire-Rails summit, or interactive multi-step forms at peak UXJune 24, 2025RailsHotwireRubyJavaScript
5 cool (and surprising) ways to configure Lefthook for automation joy5 cool (and surprising) ways to configure Lefthook for automation joyJanuary 18, 2024Open SourcePerformancePerformance & scalabilityGoRubyJavaScript
ViewComponent in the Wild II: supercharging your componentsViewComponent in the Wild II: supercharging your componentsOctober 18, 2022RailsRubyCSS
OK, OKLCH: a color picker made to help think perceptivelyOK, OKLCH: a color picker made to help think perceptivelyFebruary 7, 2023Developer ProductsDesignDXDesign for devtoolsOKLCHCSS
Soft deletion with PostgreSQL: but with logic on the database!Soft deletion with PostgreSQL: but with logic on the database!May 16, 2022PerformancePostgreSQLRailsRuby
How to make next-level Figma plugins: auth, routing, storage, and moreHow to make next-level Figma plugins: auth, routing, storage, and moreAugust 22, 2023Developer ProductsDXSDKs and PluginsSDKs, extensions & pluginsFigmaJavaScriptTypeScript
The art of Turbo Mount: Hotwire meets modern JS frameworksThe art of Turbo Mount: Hotwire meets modern JS frameworksJune 11, 2024RailsHotwireReactJavaScript
How to make web videos way smaller in 2025 using the AV1 codecHow to make web videos way smaller in 2025 using the AV1 codecMarch 4, 2025Design for devtools
A taste of Go code generator magic: a quick guide to getting startedA taste of Go code generator magic: a quick guide to getting startedOctober 15, 2024Open SourcePerformanceDXGo
ViewComponent in the Wild I: building modern Rails frontendsViewComponent in the Wild I: building modern Rails frontendsOctober 12, 2022RailsRuby
Keeping Rails cool: the modern frontend toolkitKeeping Rails cool: the modern frontend toolkitDecember 10, 2024Open SourceRailsGo
git push --force and how to deal with itgit push --force and how to deal with itJuly 30, 2024DXGitHeroku
Let there be docs! Generating an OpenAPI schema across the Rails stackLet there be docs! Generating an OpenAPI schema across the Rails stackApril 8, 2025RailsRuby
System of a test: Proper browser testing in Ruby on RailsSystem of a test: Proper browser testing in Ruby on RailsJuly 14, 2020RailsRubyWebpackDocker
Designing Tegon: a signature vision for the AI-driven issue trackerDesigning Tegon: a signature vision for the AI-driven issue trackerSeptember 25, 2024Developer ProductsDesignAICase StudyDesign for devtoolsDesign engineeringLLMsMLDeep Learning
Let there be docs! A documentation-first approach to Rails API developmentLet there be docs! A documentation-first approach to Rails API developmentApril 9, 2024RailsRubyMicroservices
RuboCoping with legacy: Bring your Ruby code up to StandardRuboCoping with legacy: Bring your Ruby code up to StandardMarch 28, 2023DXRubyRailsCI
Woah, opacity! A full guide to this badass hero of efficient UI designWoah, opacity! A full guide to this badass hero of efficient UI designOctober 29, 2024DesignDXDesign for devtools
TestProf III: guided and automated Ruby test profilingTestProf III: guided and automated Ruby test profilingAugust 13, 2024PerformanceOpen SourcePerformance & scalabilityRubyRailsCI
Making desktop apps with revved-up potential: Rust + Tauri + sidecarMaking desktop apps with revved-up potential: Rust + Tauri + sidecarApril 22, 2025RustTypeScript
It deserved its own tome: Layered Design and the Extended Rails WayIt deserved its own tome: Layered Design and the Extended Rails WayAugust 29, 2023RailsDeveloper CommunityHotwireRuby
The future of full-stack Rails: Turbo Morph DriveThe future of full-stack Rails: Turbo Morph DriveOctober 16, 2023RailsHotwireRubyJavaScript
CLI UX best practices: 3 patterns for improving progress displaysCLI UX best practices: 3 patterns for improving progress displaysApril 15, 2024DesignDXDesign engineeringDesign for devtoolsLean Software DevelopmentGoRust
Ruby on Rails on WebAssembly: a guide to full-stack in‑browser actionRuby on Rails on WebAssembly: a guide to full-stack in‑browser actionFebruary 18, 2025RailsLocal-firstOpen SourceWasmRubyJavaScript
Meet Yabeda: A Ruby instrumentation frameworkMeet Yabeda: A Ruby instrumentation frameworkOctober 22, 2018InfrastructureRubyRailsPrometheus
The lion's den: NestJS and authentication with AWS CognitoThe lion's den: NestJS and authentication with AWS CognitoJune 10, 2024TypeScriptNode.jsAWS
ViewComponent in the Wild III: TailwindCSS classes & HTML attributesViewComponent in the Wild III: TailwindCSS classes & HTML attributesJanuary 23, 2024RailsRubyCSS
The 16 most active developer tool investors and VCs going into 2025The 16 most active developer tool investors and VCs going into 2025January 7, 2025Developer ProductsAI
Dev tools AI‑fication 101: lessons from Martian robotsDev tools AI‑fication 101: lessons from Martian robotsAugust 20, 2024AIPerformanceDXAI integrationPerformance & scalabilityLLMsMLRails
Vite-lizing Rails: get live reload and hot replacement with Vite RubyVite-lizing Rails: get live reload and hot replacement with Vite RubyJune 28, 2022RailsDXViteWebpackRuby
Object Detection with Create ML: images and datasetObject Detection with Create ML: images and datasetFebruary 9, 2022AIAI integrationiOSML
Real-time stress: AnyCable, k6, WebSockets, and YabedaReal-time stress: AnyCable, k6, WebSockets, and YabedaSeptember 7, 2021PerformanceReal-timeRailsRubyPrometheus
Wrapping JSON-based ActiveRecord attributes with classesWrapping JSON-based ActiveRecord attributes with classesFebruary 26, 2019RailsRubyPostgreSQL
Asynchronous adventures: Aborting queries and mutations in react-apolloAsynchronous adventures: Aborting queries and mutations in react-apolloJuly 9, 2019ReactApolloGraphQL
How a month without computers changed meHow a month without computers changed meOctober 31, 2018Developer Marketing
Icon transcendence: customizing icons to complement fontsIcon transcendence: customizing icons to complement fontsMay 3, 2023DesignDesign for devtools
Hire better, 10X faster: how we screen 50 engineers weekly with no HRHire better, 10X faster: how we screen 50 engineers weekly with no HRFebruary 19, 2025Developer ProductsDeveloper Community
Fighting the Hydra of N+1 queriesFighting the Hydra of N+1 queriesMay 16, 2017PerformancePerformance & scalabilityRailsRubyPostgreSQL
Care beyond code: 7 best design practices for frontend developersCare beyond code: 7 best design practices for frontend developersNovember 28, 2023DesignCSSJavaScript
Variable fonts in real life: how to use and love themVariable fonts in real life: how to use and love themMarch 24, 2022DesignDesign for devtoolsFonts
Object Detection with Create ML: training and demo appObject Detection with Create ML: training and demo appFebruary 17, 2022AIAI integrationiOSTLML
Figma plugin API: diving into advanced algorithms & data structuresFigma plugin API: diving into advanced algorithms & data structuresNovember 13, 2023SDKs and PluginsDXSDKs, extensions & pluginsFigmaTypeScriptReact
Weeks → days: a case for expert-led, AI-driven design engineeringWeeks → days: a case for expert-led, AI-driven design engineeringJune 17, 2025Developer ProductsDesignCase StudyAIDesign engineeringAI integration
Kamal: hot deployment tool to watch—or a total game changer?Kamal: hot deployment tool to watch—or a total game changer?April 2, 2024InfrastructureKamalKubernetesAWS
Recapping the first Local‑First conference in 15 minutesRecapping the first Local‑First conference in 15 minutesJuly 8, 2024Local-firstDeveloper CommunityCRDTJavaScript
A slice of life: table partitioning in PostgreSQL databasesA slice of life: table partitioning in PostgreSQL databasesApril 12, 2022PerformanceRailsPerformance & scalabilityPostgreSQLRuby
How to GraphQL with Ruby, Rails, Active Record, and no N+1How to GraphQL with Ruby, Rails, Active Record, and no N+1November 9, 2020RailsRubyGraphQL
What I learned as a developer from accidents in spaceWhat I learned as a developer from accidents in spaceJanuary 21, 2020Developer Marketing
Faster WebGL/Three.js 3D graphics with OffscreenCanvas and Web WorkersFaster WebGL/Three.js 3D graphics with OffscreenCanvas and Web WorkersApril 2, 2019PerformancePerformance & scalabilityWebGLJavaScript
How to make an AI clone of your CEO for the world's biggest hackathonHow to make an AI clone of your CEO for the world's biggest hackathonJune 23, 2025Developer ProductsDesignCase StudyAIDesign engineeringAI integration
Anyway Config: Keep your Ruby configuration saneAnyway Config: Keep your Ruby configuration saneApril 14, 2020RailsOpen SourceDXRubyHerokuAWS
Level up for UX: Design lessons from video gamesLevel up for UX: Design lessons from video gamesJune 28, 2018DesignDesign for devtools
Accessible design from the get-goAccessible design from the get-goJuly 26, 2021DesignDXDesign for devtoolsA11yFigmaSketch
Keep it together: 5 essential design patterns for dev tool UIsKeep it together: 5 essential design patterns for dev tool UIsMay 7, 2024DesignDesign for devtoolsA11y
SPA hexagon: Robust app architecture for mobile and webSPA hexagon: Robust app architecture for mobile and webAugust 23, 2021React NativeTypeScriptGraphQL
One row, many threads: How to avoid database duplicates in Rails applicationsOne row, many threads: How to avoid database duplicates in Rails applicationsAugust 18, 2021RailsRubyPostgreSQL
System of a test II: Robust Rails browser testing with SitePrismSystem of a test II: Robust Rails browser testing with SitePrismAugust 31, 2020RailsRuby
UI for Quotient AI: the developer tool for prompt engineersUI for Quotient AI: the developer tool for prompt engineersApril 23, 2025DesignAICase StudyDesign engineeringFigmaLLMs
AnyCable: Action Cable on steroidsAnyCable: Action Cable on steroidsDecember 20, 2016PerformancePerformance & scalabilityWebSocketRubyRails
Demo app design for Medplum, open source healthcare developer platformDemo app design for Medplum, open source healthcare developer platformMay 15, 2025Developer ProductsDesignCase StudyDesign for devtoolsDesign engineering
3 smart ways to highlight features for landing pages or launch weeks3 smart ways to highlight features for landing pages or launch weeksJanuary 28, 2025DesignDeveloper ProductsDesign for devtoolsDesign engineering
Optimizing React: Virtual DOM explainedOptimizing React: Virtual DOM explainedMarch 28, 2018PerformancePerformance & scalabilityReactReduxJavaScript
Martian Kubernetes Kit: unboxing our toolkit's technical secretsMartian Kubernetes Kit: unboxing our toolkit's technical secretsMarch 12, 2024InfrastructureKubernetesPrometheusDocker
GraphQL on Rails: From zero to the first queryGraphQL on Rails: From zero to the first queryJune 4, 2019RailsGraphQLApollo
Images done right: Web graphics, good to the last byteImages done right: Web graphics, good to the last byteOctober 7, 2019PerformancePerformance & scalabilityCSSSketch
Custom "cops" for RuboCop: an emergency service for your Ruby codeCustom "cops" for RuboCop: an emergency service for your Ruby codeJune 22, 2021DXRubyGraphQLRails
Lefthook, Crystalball, and git magic for smooth development experienceLefthook, Crystalball, and git magic for smooth development experienceJuly 10, 2019GitCIGo
bolt.new from StackBlitz: how they surfed the AI wave—with no wipeoutsbolt.new from StackBlitz: how they surfed the AI wave—with no wipeoutsDecember 2, 2024Developer ProductsAIRailsDeveloper CommunityDeveloper MarketingCase Study
Railsmas on Mars: 12 Days of Mandatory Developer Joy and ChallengeRailsmas on Mars: 12 Days of Mandatory Developer Joy and ChallengeDecember 31, 2024RailsOpen SourceRuby
Cool frontend arts of local-first: storage, sync, conflictsCool frontend arts of local-first: storage, sync, conflictsMarch 15, 2023DesignDeveloper ProductsLocal-firstDesign for devtoolsCRDTJavaScriptLean Software Development
How to make absolutely any app look like a macOS appHow to make absolutely any app look like a macOS appJune 16, 2022DesignDesign for devtools
Evil Front Part 1: Modern Frontend in RailsEvil Front Part 1: Modern Frontend in RailsDecember 5, 2017RailsWebpackPostCSS
Don’t wait, let’s use the browser Contact Picker API nowDon’t wait, let’s use the browser Contact Picker API nowApril 13, 2023JavaScriptTypeScriptReact
Serverless TypeScript: A complete setup for AWS SAM LambdasServerless TypeScript: A complete setup for AWS SAM LambdasFebruary 17, 2021InfrastructureDXServerlessTypeScriptAWS
Climbing Steep hills, or adopting Ruby 3 types with RBSClimbing Steep hills, or adopting Ruby 3 types with RBSDecember 10, 2020DXRuby
“Fair” multi-tenant prioritization of Sidekiq jobs—and our gem for it!“Fair” multi-tenant prioritization of Sidekiq jobs—and our gem for it!February 14, 2024RailsPerformanceRubyRedis
Build images on GitHub Actions with Docker layer cachingBuild images on GitHub Actions with Docker layer cachingMarch 11, 2021InfrastructureCIDockerKubernetes
The future of full-stack Rails II: Turbo View TransitionsThe future of full-stack Rails II: Turbo View TransitionsOctober 23, 2023RailsHotwireRubyJavaScript
Enter AnyCable v1.4: reliable real-time features for apps of any sizeEnter AnyCable v1.4: reliable real-time features for apps of any sizeJuly 14, 2023Real-timeRailsHotwireWebSocket
Hotwire: Reactive Rails with no JavaScript?Hotwire: Reactive Rails with no JavaScript?April 12, 2021RailsHotwireRubyJavaScript
A Tea Break: building sfruby.com with Bolt.newA Tea Break: building sfruby.com with Bolt.newJune 9, 2025Developer ProductsAIRailsDeveloper CommunityCase Study
How a year-long LeetCode habit upped my professional gameHow a year-long LeetCode habit upped my professional gameJuly 5, 2023Developer MarketingJavaScript
Decoding AVIF: Deep dive with cats and imgproxyDecoding AVIF: Deep dive with cats and imgproxyAugust 13, 2021
First steps with ruby.wasm: or how we built Ruby Next PlaygroundFirst steps with ruby.wasm: or how we built Ruby Next PlaygroundFebruary 6, 2024Open SourceLocal-firstWasmRubyJavaScript
Hands-on WebAssembly: Try the basicsHands-on WebAssembly: Try the basicsAugust 25, 2020WasmRustWebpack
TimescaleDB: integrating time-series data with Ruby on RailsTimescaleDB: integrating time-series data with Ruby on RailsNovember 16, 2021RailsTimescaleDBPostgreSQLRuby
What could Go wrong with a mutex, or the Go profiling storyWhat could Go wrong with a mutex, or the Go profiling storyOctober 27, 2021PerformancePerformance & scalabilityGoWebSocketGrafana
Beyond monospace: the search for the perfect coding fontBeyond monospace: the search for the perfect coding fontJune 25, 2024DesignDesign for devtoolsFonts
How to manifest streamlined authentication: AWS Cognito in a React appHow to manifest streamlined authentication: AWS Cognito in a React appApril 22, 2024ReactTypeScriptAWS
Before your next frontend pull request, use this checklistBefore your next frontend pull request, use this checklistJune 7, 2023A11yCSSJavaScript
Figma DIY: Building a color system pluginFigma DIY: Building a color system pluginJune 2, 2022DesignDXDeveloper ProductsSDKs and PluginsDesign for devtoolsSDKs, extensions & pluginsFigmaTypeScriptCSS
A broader picture: A guide on imgproxy for businessesA broader picture: A guide on imgproxy for businessesMay 24, 2021Developer ProductsGoAWSDocker
UI design for HTTPie: macOS vibes for the API testing clientUI design for HTTPie: macOS vibes for the API testing clientJanuary 30, 2023Developer ProductsAIDesignCase StudyDesign for devtoolsFigmaAgileElectron
Pulling the trigger: How to update counter caches in your Rails app without Active Record callbacksPulling the trigger: How to update counter caches in your Rails app without Active Record callbacksNovember 19, 2019PerformancePerformance & scalabilityRailsPostgreSQLElasticsearch
The early validation lesson: designing Quotient’s prompt sandboxThe early validation lesson: designing Quotient’s prompt sandboxJuly 2, 2025Developer ProductsDesignCase StudyAIDesign engineeringAI integration
Martian Kubernetes Kit: a smooth-sailing toolkit from our SRE teamMartian Kubernetes Kit: a smooth-sailing toolkit from our SRE teamDecember 20, 2023InfrastructureKubernetesPrometheusDocker
How AI startups use changelogs to win developer trustHow AI startups use changelogs to win developer trustJune 4, 2025Developer ProductsDesign for devtoolsDesign engineering
Squash N+1 queries early with n_plus_one_control test matchers for Ruby and RailsSquash N+1 queries early with n_plus_one_control test matchers for Ruby and RailsOctober 27, 2020PerformanceRailsPerformance & scalabilityRuby
It’s dangerous to go alone: take our guide to the “IDEAL” HTTP client!It’s dangerous to go alone: take our guide to the “IDEAL” HTTP client!September 12, 2023PerformanceMicroservicesRubyRails
Stick with security: YubiKey, SSH, GnuPG, macOSStick with security: YubiKey, SSH, GnuPG, macOSJune 11, 2018Infrastructure
Martian Kubernetes Kit: running apps—and running them wellMartian Kubernetes Kit: running apps—and running them wellJanuary 22, 2025InfrastructureKubernetesPrometheusDocker
Reusable development containers with Docker Compose and DipReusable development containers with Docker Compose and DipNovember 17, 2020DXDockerRubyRails
GraphQL on Rails: On the way to perfectionGraphQL on Rails: On the way to perfectionJuly 16, 2019RailsGraphQLApollo
Collaborative real-time security: Logux for AkeeroCollaborative real-time security: Logux for AkeeroJune 23, 2022Developer ProductsDesignReal-timeDesign for devtoolsTypeScriptWebSocketAWS
Keeping OSS documentation in check with docsify, Lefthook, and friendsKeeping OSS documentation in check with docsify, Lefthook, and friendsAugust 28, 2019Open SourceCIReactGo
GMI Cloud meets Webflow and speeds ahead in the AI compute raceGMI Cloud meets Webflow and speeds ahead in the AI compute raceApril 30, 2025Developer ProductsDesignAICase StudyDesign engineering
How to avoid tricky async state manager pitfalls in ReactHow to avoid tricky async state manager pitfalls in ReactFebruary 21, 2023ReactJavaScript
Down the caching‑hole: adventures in 'HTTP caching and Faraday' landDown the caching‑hole: adventures in 'HTTP caching and Faraday' landJuly 15, 2022PerformancePerformance & scalabilityRailsRuby
The joy of Variable Fonts: getting started on the FrontendThe joy of Variable Fonts: getting started on the FrontendJuly 6, 2022DesignDesign for devtoolsFontsCSS
Product design that sells: the smart UX for TinesProduct design that sells: the smart UX for TinesMay 26, 2020Developer ProductsDesignPerformanceCase StudyDesign for devtoolsDesign engineeringReactMobXGraphQL
Ruby Next: Make all Rubies quack alikeRuby Next: Make all Rubies quack alikeMay 4, 2020Open SourceDXRuby
Rails, hacking, and Stripe as a scoreboard: Marc Köhlbrugge’s playbookRails, hacking, and Stripe as a scoreboard: Marc Köhlbrugge’s playbookApril 29, 2025Developer CommunityRails
GraphQL on Rails: Updating the dataGraphQL on Rails: Updating the dataJune 19, 2019RailsGraphQLApollo
Freezolite: the magic gem for keeping Ruby literals safely frozenFreezolite: the magic gem for keeping Ruby literals safely frozenNovember 14, 2023PerformanceDXPerformance & scalabilityRubyRails
How to build a better React map with Pigeon Maps and MapboxHow to build a better React map with Pigeon Maps and MapboxJanuary 24, 2023DesignDeveloper ProductsDesign for devtoolsJavaScriptReactGatsby
Midjourney vs. human illustrators: has AI already won?Midjourney vs. human illustrators: has AI already won?December 13, 2022DesignAIDesign for devtoolsAI integrationNeural Networks
eBaymag magic: under the hood of the international eBay spinoffeBaymag magic: under the hood of the international eBay spinoffMay 12, 2022Developer ProductsDesignPerformanceInfrastructureDesign for devtoolsPerformance & scalabilityGrowth HackingLean Software DevelopmentRails
Logidze 1.0: Active Record, Postgres, Rails, and time travelLogidze 1.0: Active Record, Postgres, Rails, and time travelJanuary 27, 2021RailsPerformanceOpen SourceRubyPostgreSQL
Size Limit: Make the Web lighterSize Limit: Make the Web lighterSeptember 5, 2017PerformancePerformance & scalabilityJavaScriptNode.jsCI
Logidze: for all those tired of versioning dataLogidze: for all those tired of versioning dataJune 28, 2016RailsRubyPostgreSQL
How Doximity brought real-time Go power to their Rails appHow Doximity brought real-time Go power to their Rails appFebruary 25, 2025Real-timeCase StudyRailsPerformanceGo
How to turn an open source project into a profitable businessHow to turn an open source project into a profitable businessMay 31, 2023Developer ProductsOpen SourceHiring & training
AnyCable Goes Pro: Fast WebSockets for Ruby, at scaleAnyCable Goes Pro: Fast WebSockets for Ruby, at scaleJune 16, 2021Real-timeOpen SourceWebSocketRubyGo
Want to make a great developer tool UI? Follow this fundamental rule!Want to make a great developer tool UI? Follow this fundamental rule!August 5, 2024DesignDesign for devtools
Figma Auto Layout: Practical tips for dynamic designsFigma Auto Layout: Practical tips for dynamic designsJune 15, 2020DesignDesign for devtoolsFigmaCSS
Crafting user notifications in Rails with Active DeliveryCrafting user notifications in Rails with Active DeliveryJanuary 15, 2019RubyRails
Learning how to learn deep learningLearning how to learn deep learningSeptember 27, 2018AIAI integrationDeep LearningComputer VisionNeural Networks
Active Storage meets GraphQL: Direct UploadsActive Storage meets GraphQL: Direct UploadsApril 2, 2019RailsRubyGraphQL
The silence of the Ruby exceptions: a Rails/PostgreSQL database transaction thrillerThe silence of the Ruby exceptions: a Rails/PostgreSQL database transaction thrillerJuly 24, 2018PerformancePerformance & scalabilityRailsRubyPostgreSQL
Simple Declarative Presence for Hotwire apps with AnyCableSimple Declarative Presence for Hotwire apps with AnyCableMarch 18, 2025Real-timeRailsWebSocketHotwire
The journey from CircleCI to GitHub ActionsThe journey from CircleCI to GitHub ActionsSeptember 15, 2022InfrastructureCIDockerRails
5 signs your project needs a design system5 signs your project needs a design systemSeptember 8, 2022DesignDeveloper ProductsDesign for devtools
Ease and epiphany: 4 ways to stop misguided dev tools user onboardingEase and epiphany: 4 ways to stop misguided dev tools user onboardingDecember 17, 2024DesignDeveloper ProductsDXDesign for devtools
Our slice of the metaverse: 7 key AR features for iOS devsOur slice of the metaverse: 7 key AR features for iOS devsJanuary 5, 2022AIAI integrationiOSARML
Designing Machine Learning for DVC StudioDesigning Machine Learning for DVC StudioJuly 5, 2021Developer ProductsDesignAICase StudyDesign for devtoolsAI integrationReactNext.jsGatsby
Speeding up Go Modules for Docker and CISpeeding up Go Modules for Docker and CIAugust 5, 2019PerformanceGoCIDocker
New feature in Rails 5: Render views outside of actionsNew feature in Rails 5: Render views outside of actionsJuly 7, 2015RailsRuby
How to do launch weeks for developer tools, startups, and small teamsHow to do launch weeks for developer tools, startups, and small teamsNovember 5, 2024Developer ProductsDeveloper MarketingDeveloper Community
Smartly contracted: UI design and frontend for CertoraSmartly contracted: UI design and frontend for CertoraJuly 21, 2022Developer ProductsDesignSDKs and PluginsDesign for devtoolsSDKs, extensions & pluginsBlockchainRustSolidity
AnyCable off Rails: connecting Twilio streams with HanamiAnyCable off Rails: connecting Twilio streams with HanamiMarch 21, 2023Real-timeGoWebSocketTwilio
Danger on Rails: make robots do some code review for you!Danger on Rails: make robots do some code review for you!July 2, 2019PerformancePerformance & scalabilityRubyRailsCI
Partition and conquerPartition and conquerNovember 7, 2017PerformancePerformance & scalabilityPostgreSQLRailsRuby
Taking off the Heroku training wheels: the Rails preflight checklistTaking off the Heroku training wheels: the Rails preflight checklistAugust 9, 2022InfrastructureRailsHerokuRubyAWS
UX research for dev tools must not be neglected: our quick-start guideUX research for dev tools must not be neglected: our quick-start guideDecember 27, 2023DesignDeveloper ProductsDesign for devtoolsDesign engineering
A no-go fantasy: writing Go in Ruby with Ruby NextA no-go fantasy: writing Go in Ruby with Ruby NextNovember 9, 2021GoRuby
Premium design: Building a mobile app for LoewePremium design: Building a mobile app for LoeweJune 3, 2021DesignDesign engineeringDesign for devtoolsReact NativeiOSAndroid
Easy multi-language, multi-version documentation with Docsify, Git, and GitHub ActionsEasy multi-language, multi-version documentation with Docsify, Git, and GitHub ActionsOctober 7, 2020Open SourceGitCIJavaScript
How to make complex serverless file processing a piece of cakeHow to make complex serverless file processing a piece of cakeMarch 6, 2024InfrastructureServerlessGoogle CloudTypeScript
Realtime text analysis with Word Tagger: pro computer vision, part 1Realtime text analysis with Word Tagger: pro computer vision, part 1April 27, 2022AIAI integrationiOSSwiftComputer Vision
Cloud Teleport: Building access plugins for GravitationalCloud Teleport: Building access plugins for GravitationalAugust 27, 2020Developer ProductsSDKs and PluginsOpen SourceInfrastructureGoKubernetesgRPC
Why should developers write? 3 reasons and 3 common blocksWhy should developers write? 3 reasons and 3 common blocksMarch 20, 2024Developer Marketing
Figma plugin magic tricks: mixing colors with SVG and Canvas APIFigma plugin magic tricks: mixing colors with SVG and Canvas APIDecember 12, 2023SDKs and PluginsDXSDKs, extensions & pluginsFigmaTypeScriptReact
Decentralized app design: first aid for common dApp UI painsDecentralized app design: first aid for common dApp UI painsDecember 19, 2022DesignDesign for devtoolsBlockchainEthereum
The Martian Design Sprint: starting and running projects fasterThe Martian Design Sprint: starting and running projects fasterNovember 24, 2021DesignDeveloper ProductsDesign engineeringDesign for devtoolsCJMFigma
How Recraft's lean team is challenging the AI image generation giantsHow Recraft's lean team is challenging the AI image generation giantsMay 20, 2025Developer ProductsDesign for devtoolsDesign engineering
Realtime text analysis with Word Tagger: recipe reader, part 2Realtime text analysis with Word Tagger: recipe reader, part 2November 22, 2022AIAI integrationiOSSwiftComputer Vision
Keep up with the Tines: Rails frontend revampKeep up with the Tines: Rails frontend revampJune 3, 2020DesignPerformanceDeveloper ProductsCase StudyRailsOpen SourceDesign for devtoolsPerformance & scalabilityRubyReactMobX
Handling errors in a non-geek interfaceHandling errors in a non-geek interfaceOctober 31, 2016DesignDesign for devtools
Hey developer tool teams, don’t copy these copywriting clichés!Hey developer tool teams, don’t copy these copywriting clichés!March 26, 2025Developer ProductsDeveloper MarketingDeveloper Community
The complete guide to multi-tenant SaaS, part 1: collaborationThe complete guide to multi-tenant SaaS, part 1: collaborationFebruary 28, 2024Developer ProductsDesignDesign for devtools
Hiring a product designer: 1 hard skill and 3 soft skills to look forHiring a product designer: 1 hard skill and 3 soft skills to look forJanuary 30, 2024DesignDeveloper ProductsDesign for devtoolsLean Software Development
Pro becomes smart: imgproxy Pro engages machine learningPro becomes smart: imgproxy Pro engages machine learningOctober 5, 2021Developer ProductsAIAI integrationGoML
Introducing JavaScript and TypeScript client for AnyCableIntroducing JavaScript and TypeScript client for AnyCableJuly 28, 2021Real-timeOpen SourceJavaScriptTypeScriptNode.js
AnyCable 1.0: Four years of real-time web with Ruby and GoAnyCable 1.0: Four years of real-time web with Ruby and GoJuly 1, 2020InfrastructureWebSocketRailsGo
Desktop frontier: Video app optimization for LowkeyDesktop frontier: Video app optimization for LowkeyJune 11, 2020Developer ProductsPerformancePerformance & scalabilityElectronJavaScript
Catch a batch: Making Mayhem 5 times more responsiveCatch a batch: Making Mayhem 5 times more responsiveMay 11, 2020Developer ProductsPerformanceRailsCase StudyPerformance & scalabilityHiring & training
Fullstaq Ruby: First impressions, and how to migrate your Docker/Kubernetes Ruby apps todayFullstaq Ruby: First impressions, and how to migrate your Docker/Kubernetes Ruby apps todayAugust 10, 2019InfrastructurePerformancePerformance & scalabilityRubyDockerKubernetes
Big on Heroku: Scaling Fountain without losing a dropBig on Heroku: Scaling Fountain without losing a dropDecember 4, 2018Developer ProductsPerformanceInfrastructurePerformance & scalabilityRailsHerokuPostgreSQL