How to Favicon in 2025: Three files that fit most needsHow to Favicon in 2025: Three files that fit most needsFebruary 4, 2025FrontendCSS
3 smart ways to highlight features for landing pages or launch weeks3 smart ways to highlight features for landing pages or launch weeksJanuary 28, 2025DesignDesign SprintProduct Launch
Martian Kubernetes Kit: running apps—and running them wellMartian Kubernetes Kit: running apps—and running them wellJanuary 22, 2025OpsSRESoftware DevelopmentKubernetesPrometheusDocker
Devs in mind 2025: how to design interfaces for developer toolsDevs in mind 2025: how to design interfaces for developer toolsJanuary 14, 2025Design
The 16 most active developer tool investors and VCs going into 2025The 16 most active developer tool investors and VCs going into 2025January 7, 2025Business
Railsmas on Mars: 12 Days of Mandatory Developer Joy and ChallengeRailsmas on Mars: 12 Days of Mandatory Developer Joy and ChallengeDecember 31, 2024BackendRailsRuby
Join our email newsletterGet all the new posts delivered directly to your inbox. Unsubscribe anytime.Your emailSubscribeOr subscribe to a feed
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 askDecember 30, 2024DesignLLMsMLDeep Learning
Ease and epiphany: 4 ways to stop misguided dev tools user onboardingEase and epiphany: 4 ways to stop misguided dev tools user onboardingDecember 17, 2024DesignUI Audit
Keeping Rails cool: the modern frontend toolkitKeeping Rails cool: the modern frontend toolkitDecember 10, 2024BusinessGoRails
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, 2024Business
Founders, if you want A+ startup success, do the homework first!Founders, if you want A+ startup success, do the homework first!November 19, 2024Business
Hey, AnyCable speaking! Needing help with a Twilio-OpenAI connection?Hey, AnyCable speaking! Needing help with a Twilio-OpenAI connection?November 12, 2024BackendAIAI-Native DevelopmentLLMsMLTwilio
Growing pains and a dose of Go: real-time features for this Rails appGrowing pains and a dose of Go: real-time features for this Rails appNovember 11, 2024BusinessGoRails
How to do launch weeks for developer tools, startups, and small teamsHow to do launch weeks for developer tools, startups, and small teamsNovember 5, 2024Business
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, 2024Design
11 HTML best practices for login & sign-up forms11 HTML best practices for login & sign-up formsOctober 23, 2024FrontendA11yCSSJavaScript
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, 2024BackendGo
Designing Tegon: a signature vision for the AI-driven issue trackerDesigning Tegon: a signature vision for the AI-driven issue trackerSeptember 25, 2024Case StudyDesignDesign SprintMachine LearningLLMsDeep LearningNeural Networks
Creating a winning sales flow with authentic writing from engineersCreating a winning sales flow with authentic writing from engineersSeptember 18, 2024Business
A letter to founders: join the local-first movement!A letter to founders: join the local-first movement!September 10, 2024Business
How to quickly (and weightlessly) convert Chrome extensions to SafariHow to quickly (and weightlessly) convert Chrome extensions to SafariAugust 28, 2024Case StudyFrontendPluginsJavaScriptTypeScriptSwift
Dev tools AI‑fication 101: lessons from Martian robotsDev tools AI‑fication 101: lessons from Martian robotsAugust 20, 2024AIBackendAI-Native DevelopmentPerformanceLLMsMLRails
Railing against time: tools and techniques that got us 5X faster testsRailing against time: tools and techniques that got us 5X faster testsAugust 14, 2024BackendRubyRailsCI
TestProf III: guided and automated Ruby test profilingTestProf III: guided and automated Ruby test profilingAugust 13, 2024BackendPerformanceRubyRailsCI
TestProf II: Factory therapy for your Ruby testsTestProf II: Factory therapy for your Ruby testsAugust 12, 2024BackendPerformanceRubyRailsCI
TestProf: a good doctor for slow Ruby testsTestProf: a good doctor for slow Ruby testsAugust 11, 2024BackendPerformanceRubyRailsCI
The SDK Imperative: why developer tools live or die by their SDKsThe SDK Imperative: why developer tools live or die by their SDKsAugust 10, 2024ToolsSoftware DevelopmentBackendGitHeroku
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, 2024DesignUI Audit
git push --force and how to deal with itgit push --force and how to deal with itJuly 30, 2024ToolsSoftware DevelopmentBackendGitHeroku
Engineering connections: a conference talk primer for humansEngineering connections: a conference talk primer for humansJuly 29, 2024Events
Flying free: a tale of partitioning with canaries in PostgreSQLFlying free: a tale of partitioning with canaries in PostgreSQLJuly 23, 2024BackendPostgreSQL
OKLCH in CSS: why we moved from RGB and HSLOKLCH in CSS: why we moved from RGB and HSLJuly 18, 2024FrontendDesignOKLCHCSSPostCSS
How to make complex Chrome extensions: a zero gravity guideHow to make complex Chrome extensions: a zero gravity guideJuly 16, 2024Case StudyFrontendPluginsJavaScriptTypeScriptReact
Startups on Rails in 2024: my keynote at RailsConfStartups on Rails in 2024: my keynote at RailsConfJuly 15, 2024BusinessSoftware Development
Connection avalanche safety tips and prepping for real-time applicationsConnection avalanche safety tips and prepping for real-time applicationsJuly 9, 2024BackendOpsPerformanceSREWebSocketHotwireRails
Recapping the first Local‑First conference in 15 minutesRecapping the first Local‑First conference in 15 minutesJuly 8, 2024FrontendCRDTJavaScript
Realtime diagnostic logging, or how to really spy on your Go web appsRealtime diagnostic logging, or how to really spy on your Go web appsJuly 2, 2024BackendSoftware DevelopmentGo
Beyond monospace: the search for the perfect coding fontBeyond monospace: the search for the perfect coding fontJune 25, 2024DesignFonts
Inertia.js in Rails: a new era of effortless integrationInertia.js in Rails: a new era of effortless integrationJune 18, 2024BackendSoftware DevelopmentRailsReactJavaScript
The art of Turbo Mount: Hotwire meets modern JS frameworksThe art of Turbo Mount: Hotwire meets modern JS frameworksJune 11, 2024BackendSoftware DevelopmentHotwireRailsReact
The lion's den: NestJS and authentication with AWS CognitoThe lion's den: NestJS and authentication with AWS CognitoJune 10, 2024FrontendSoftware DevelopmentBackendTypeScriptNode.jsAWS
Gemfile of dreams: the libraries we use to build Rails appsGemfile of dreams: the libraries we use to build Rails appsMay 28, 2024BackendSoftware DevelopmentPerformanceRailsRubyPostgreSQL
How does your chatbot UX size up? The 5 laws of ChatRoboticsHow does your chatbot UX size up? The 5 laws of ChatRoboticsMay 22, 2024FrontendSoftware DevelopmentBackendJavaScriptNode.js
Keep it together: 5 essential design patterns for dev tool UIsKeep it together: 5 essential design patterns for dev tool UIsMay 7, 2024DesignUI AuditA11y
Let's have more tech meetups! A quick-start guide to holding your ownLet's have more tech meetups! A quick-start guide to holding your ownApril 30, 2024EventsRuby
Next-level docs with Next.js: Teleport’s new customer acquisition channelNext-level docs with Next.js: Teleport’s new customer acquisition channelApril 24, 2024Case StudyFrontendNext.js
How to manifest streamlined authentication: AWS Cognito in a React appHow to manifest streamlined authentication: AWS Cognito in a React appApril 22, 2024FrontendSoftware DevelopmentReactTypeScriptAWS
CLI UX best practices: 3 patterns for improving progress displaysCLI UX best practices: 3 patterns for improving progress displaysApril 15, 2024DesignCLI UX DesignLean Software DevelopmentGoRust
Let there be docs! A documentation-first approach to Rails API developmentLet there be docs! A documentation-first approach to Rails API developmentApril 9, 2024BackendRailsRubyMicroservices
MVPs, prototypes, results: how to win with a Martian Design SprintMVPs, prototypes, results: how to win with a Martian Design SprintApril 8, 2024DesignDesign SprintSprints to SolutionsCJMFigma
Kamal: hot deployment tool to watch—or a total game changer?Kamal: hot deployment tool to watch—or a total game changer?April 2, 2024OpsToolsSRESoftware DevelopmentKamalKubernetesAWS
Beyond bars and lines: 7 cool ways to visualize data in your dev toolBeyond bars and lines: 7 cool ways to visualize data in your dev toolMarch 26, 2024DesignUI AuditA11y
Why should developers write? 3 reasons and 3 common blocksWhy should developers write? 3 reasons and 3 common blocksMarch 20, 2024Lifestyle
Martian Kubernetes Kit: unboxing our toolkit's technical secretsMartian Kubernetes Kit: unboxing our toolkit's technical secretsMarch 12, 2024OpsSRESoftware DevelopmentKubernetesPrometheusDocker
How to make complex serverless file processing a piece of cakeHow to make complex serverless file processing a piece of cakeMarch 6, 2024BackendServerlessGoogle CloudTypeScript
The complete guide to multi-tenant SaaS, part 1: collaborationThe complete guide to multi-tenant SaaS, part 1: collaborationFebruary 28, 2024BusinessSoftware DevelopmentDesign
“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, 2024BackendRubyRedis
First steps with ruby.wasm: or how we built Ruby Next PlaygroundFirst steps with ruby.wasm: or how we built Ruby Next PlaygroundFebruary 6, 2024BackendFrontendSoftware DevelopmentWasmRubyJavaScript
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, 2024DesignProduct LaunchLean Software Development
Value pricing for Dev Tools: a strategy beneficial for both sidesValue pricing for Dev Tools: a strategy beneficial for both sidesJanuary 24, 2024BusinessSoftware Development
ViewComponent in the Wild III: TailwindCSS classes & HTML attributesViewComponent in the Wild III: TailwindCSS classes & HTML attributesJanuary 23, 2024FrontendBackendSoftware DevelopmentRailsRubyCSS
5 cool (and surprising) ways to configure Lefthook for automation joy5 cool (and surprising) ways to configure Lefthook for automation joyJanuary 18, 2024ToolsSoftware DevelopmentBackendGoRubyJavaScript
How to cultivate capital: 6 tips from developer tools founders and VCsHow to cultivate capital: 6 tips from developer tools founders and VCsJanuary 10, 2024Business
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, 2023DesignProduct LaunchUI Audit
Martian Kubernetes Kit: a smooth-sailing toolkit from our SRE teamMartian Kubernetes Kit: a smooth-sailing toolkit from our SRE teamDecember 20, 2023OpsSRESoftware DevelopmentKubernetesPrometheusDocker
Figma plugin magic tricks: mixing colors with SVG and Canvas APIFigma plugin magic tricks: mixing colors with SVG and Canvas APIDecember 12, 2023FrontendSoftware DevelopmentPluginsFigmaTypeScriptReact
Pen, paper, IDE: a DevTool Founder’s early-stage product design guidePen, paper, IDE: a DevTool Founder’s early-stage product design guideDecember 4, 2023DesignProduct LaunchLean Software Development
Care beyond code: 7 best design practices for frontend developersCare beyond code: 7 best design practices for frontend developersNovember 28, 2023FrontendCSSJavaScript
Extremely open and incredibly close: should you go open source?Extremely open and incredibly close: should you go open source?November 20, 2023BusinessSoftware Development
Freezolite: the magic gem for keeping Ruby literals safely frozenFreezolite: the magic gem for keeping Ruby literals safely frozenNovember 14, 2023BackendPerformanceRubyRails
Figma plugin API: diving into advanced algorithms & data structuresFigma plugin API: diving into advanced algorithms & data structuresNovember 13, 2023FrontendSoftware DevelopmentPluginsFigmaTypeScriptReact
DIY PaaS: serverless real-time with one commandDIY PaaS: serverless real-time with one commandNovember 8, 2023BackendFrontendSoftware DevelopmentServerlessWebSocketNode.js
Midjourney vs. human illustrators II: more Martians join the battle!Midjourney vs. human illustrators II: more Martians join the battle!November 6, 2023DesignMachine LearningNeural Networks
Better dynamic themes in Tailwind with OKLCH color magicBetter dynamic themes in Tailwind with OKLCH color magicOctober 31, 2023FrontendDesignTailwind CSSOKLCHCSS
The future of full-stack Rails II: Turbo View TransitionsThe future of full-stack Rails II: Turbo View TransitionsOctober 23, 2023BackendFrontendSoftware DevelopmentHotwireRailsRuby
The future of full-stack Rails: Turbo Morph DriveThe future of full-stack Rails: Turbo Morph DriveOctober 16, 2023BackendFrontendSoftware DevelopmentHotwireRailsRuby
5 best practices for preventing chaos in Tailwind CSS5 best practices for preventing chaos in Tailwind CSSOctober 10, 2023FrontendTailwind CSSCSSJavaScript
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, 2023BackendSoftware DevelopmentMicroservicesRubyRails
It deserved its own tome: Layered Design and the Extended Rails WayIt deserved its own tome: Layered Design and the Extended Rails WayAugust 29, 2023BackendSoftware DevelopmentRailsHotwireRuby
Successful balance: gracefully and tactfully raising a dev tool priceSuccessful balance: gracefully and tactfully raising a dev tool priceAugust 23, 2023BusinessProduct LaunchUI Audit
How to make next-level Figma plugins: auth, routing, storage, and moreHow to make next-level Figma plugins: auth, routing, storage, and moreAugust 22, 2023Case StudyFrontendBackendPluginsFigmaJavaScriptTypeScript
Super GitHub Pages: budget frontend staging, with Storybook and moreSuper GitHub Pages: budget frontend staging, with Storybook and moreAugust 4, 2023FrontendSoftware DevelopmentGit
imgproxy goes solo: unveiling a bold future for this new companyimgproxy goes solo: unveiling a bold future for this new companyJuly 20, 2023BusinessProduct LaunchSoftware DevelopmentML
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, 2023BackendSoftware DevelopmentRailsHotwireWebSocket
How a year-long LeetCode habit upped my professional gameHow a year-long LeetCode habit upped my professional gameJuly 5, 2023LifestyleSoftware DevelopmentFrontendJavaScript
“AI” marks the spot: a quick AI treasure map for businesses“AI” marks the spot: a quick AI treasure map for businessesJune 28, 2023BusinessAIDesignProduct Launch
Before your next frontend pull request, use this checklistBefore your next frontend pull request, use this checklistJune 7, 2023FrontendA11yCSSJavaScript
How to turn an open source project into a profitable businessHow to turn an open source project into a profitable businessMay 31, 2023BusinessProduct LaunchSoftware Development
From Ruby to Crystal? Writing and distributing a CLI toolFrom Ruby to Crystal? Writing and distributing a CLI toolMay 16, 2023BackendSoftware DevelopmentCrystalRuby
Icon transcendence: customizing icons to complement fontsIcon transcendence: customizing icons to complement fontsMay 3, 2023DesignFrontend
Go integration testing with courage and coverageGo integration testing with courage and coverageApril 19, 2023BackendSoftware DevelopmentGoWebSocket
Don’t wait, let’s use the browser Contact Picker API nowDon’t wait, let’s use the browser Contact Picker API nowApril 13, 2023FrontendJavaScriptTypeScriptReact
Ruby Bytes, or generating standalone generatorsRuby Bytes, or generating standalone generatorsApril 4, 2023BackendSoftware DevelopmentRubyRails
RuboCoping with legacy: Bring your Ruby code up to StandardRuboCoping with legacy: Bring your Ruby code up to StandardMarch 28, 2023BackendRubyRailsCI
AnyCable off Rails: connecting Twilio streams with HanamiAnyCable off Rails: connecting Twilio streams with HanamiMarch 21, 2023BackendSoftware DevelopmentGoWebSocketTwilio
Cool frontend arts of local-first: storage, sync, conflictsCool frontend arts of local-first: storage, sync, conflictsMarch 15, 2023FrontendDesignSoftware DevelopmentProduct LaunchCRDTJavaScriptLean Software Development
“Design first, then build”: let’s bury this myth forevermore“Design first, then build”: let’s bury this myth forevermoreMarch 10, 2023DesignFrontendProduct LaunchLean Software Development
Real-time magic, no elixirs: optimizing Sera with AnyCableReal-time magic, no elixirs: optimizing Sera with AnyCableMarch 1, 2023BackendOpsSREWebSocketgRPCAWS
How to avoid tricky async state manager pitfalls in ReactHow to avoid tricky async state manager pitfalls in ReactFebruary 21, 2023FrontendReactJavaScript
OK, OKLCH: a color picker made to help think perceptivelyOK, OKLCH: a color picker made to help think perceptivelyFebruary 7, 2023DesignFrontendOKLCHCSS
UI design for HTTPie: macOS vibes for the API testing clientUI design for HTTPie: macOS vibes for the API testing clientJanuary 30, 2023Case StudyDesignProduct LaunchFrontendFigmaAgileElectron
How to build a better React map with Pigeon Maps and MapboxHow to build a better React map with Pigeon Maps and MapboxJanuary 24, 2023FrontendDesignCase StudyJavaScriptReactGatsby
Decentralized app design: first aid for common dApp UI painsDecentralized app design: first aid for common dApp UI painsDecember 19, 2022DesignBlockchainEthereum
Midjourney vs. human illustrators: has AI already won?Midjourney vs. human illustrators: has AI already won?December 13, 2022DesignMachine LearningNeural Networks
Blend to my will! Fonts on cylinder objects in BlenderBlend to my will! Fonts on cylinder objects in BlenderDecember 5, 2022DesignFrontendFontsBlender
Realtime text analysis with Word Tagger: recipe reader, part 2Realtime text analysis with Word Tagger: recipe reader, part 2November 22, 2022MobileMachine LearningiOSSwiftComputer Vision
One does not simply design: designers as product ownersOne does not simply design: designers as product ownersNovember 17, 2022DesignDesign SprintProduct LaunchLean Software Development
Web Summit 2022: what you missed and how to be ready for next yearWeb Summit 2022: what you missed and how to be ready for next yearNovember 14, 2022EventsProduct LaunchSoftware Development
ViewComponent in the Wild II: supercharging your componentsViewComponent in the Wild II: supercharging your componentsOctober 18, 2022FrontendBackendSoftware DevelopmentRailsRubyCSS
ViewComponent in the Wild I: building modern Rails frontendsViewComponent in the Wild I: building modern Rails frontendsOctober 12, 2022FrontendBackendSoftware DevelopmentRailsRuby
RubyKaigi 2022: a report from an Evil Martian in JapanRubyKaigi 2022: a report from an Evil Martian in JapanOctober 3, 2022EventsBackendRailsRuby
WebSocket Director: scenario-based integration tests for realtime appsWebSocket Director: scenario-based integration tests for realtime appsSeptember 20, 2022BackendSoftware DevelopmentSREWebSocketRailsRuby
The journey from CircleCI to GitHub ActionsThe journey from CircleCI to GitHub ActionsSeptember 15, 2022BackendSRECIDockerRails
5 signs your project needs a design system5 signs your project needs a design systemSeptember 8, 2022DesignProduct LaunchFrontend
Martians unveiled: infusing a new site with extraterrestrial tech and soulMartians unveiled: infusing a new site with extraterrestrial tech and soulSeptember 5, 2022DesignProduct LaunchFrontendFontsOKLCHJamstack
The sword is yours: transferring projects to another team unscathedThe sword is yours: transferring projects to another team unscathedAugust 19, 2022BackendOpsSoftware DevelopmentSREGoogle CloudCI
Lefthook: refactoring the Git Hooks automation tool back into shapeLefthook: refactoring the Git Hooks automation tool back into shapeAugust 18, 2022BackendSoftware DevelopmentCLI UX DesignGoCIGit
Taking off the Heroku training wheels: the Rails preflight checklistTaking off the Heroku training wheels: the Rails preflight checklistAugust 9, 2022BackendSoftware DevelopmentSREHerokuRailsRuby
Phone inputs and you: the designer's essential UI guidePhone inputs and you: the designer's essential UI guideAugust 3, 2022DesignFrontend
And they lived happily ever after… the M&AAnd they lived happily ever after… the M&AJuly 27, 2022BusinessProduct LaunchLean Software Development
Smartly contracted: UI design and frontend for CertoraSmartly contracted: UI design and frontend for CertoraJuly 21, 2022Case StudySprints to SolutionsDesignBlockchainRustSolidity
Down the caching‑hole: adventures in 'HTTP caching and Faraday' landDown the caching‑hole: adventures in 'HTTP caching and Faraday' landJuly 15, 2022