RSS.Social

Evil Martians

follow: @[email protected]

Posts

The secure way to release an npm package in 2026

Which AI actually reads your site? Two months of LLM traffic, measured

The joy of Inertia Rails: painting your own with 50 happy little lines

Storybook Workbench: audit vibe-coded UIs and find hidden bugs in hours

AI vs. human illustrators? AI + human illustrators!

Most MCP servers don't need to exist. Your case might be an exception.

Choose your fighter: benchmarking 5 WebSocket servers for Node.js

Building a design system specced for engineers and agents

2 Martians, greenfield to MVP in 4 weeks: agentic coding on Rails

Stop writing rules in AGENTS.md: use agent hooks and nano-staged instead

AI-assisted engineers are burning out, is this fine?

600+ million people write right-to-left: 2 fixes your app needs

From React to native web with nanotags: a migration that saved 100 KB

From 0 signal to 128 cold signups: product validation on a $2K budget

3 rules for getting AI agents to find, use—and not exploit—your devtool

Making your site visible to LLMs: 6 techniques that work, 8 that don't

Now you see it: Vite on Rails without the proxy

Gemfile of dreams: the libraries we use to build Rails apps

Migrating an event pipeline from NATS to Kafka with zero downtime

TestProf Digest 2026.4: surprising finds from 30k specs

We analyzed 1,140 devtools funding rounds—here's who's writing checks and why

OpenAPI + NestJS: type-safe controllers from the contract

Tutorialkit.rb: interactive Ruby tutorials entirely in the browser

TestProf Digest 2026: new beasts discovered and tools invented

The Devtools PMF Compass

Product-market fit methodology for early-stage devtool companies

Web slides are web apps: live interactivity for Reveal.js and Slidev

Why devtools startups hire Evil Martians

OpenAPI + Fastify: let the contract build your server

The Flipper gem is amazing, here's how we extended it the Martian way

Solving the Nebraska problem with the Open Source Endowment

Life's too short to hand-write API types: OpenAPI-driven React

Ruby on Whales: Dockerizing Ruby and Rails development

Writing custom RuboCop rules in 2026

PostCSS creator shares how to make your open source popular

The 4 most common security risks when vibe coding your app

Tutorialkit.rb: the ruby.wasm journey goes onward

Super speed, super quality: lessons from the Aptos Network site launch

So, your developers use AI now—here's what to know

Building dev tools with AI: the product decisions that need to be yours

Optimistic UI in Rails with optimism... and Inertia

How to Favicon in 2026: Three files that fit most needs

What devtools founders making $100M+ ARR told me in San Francisco

6 things developer tools must have in 2026 to earn trust and adoption

Inertia.js in Rails: a new era of effortless integration

AnyCable, Rails, and the pitfalls of LLM-streaming

Why your vibe-coded project needs a developer

Why Evil Martians hosted a Ruby conference in San Francisco

Vibe coding in style.md

Unparser: real life lessons migrating Ruby tools from Parser to Prism

Vibecoding tools can learn from design UX and win over everyone

Payment form best coding practices that don't drop sales

Why startups choose React (and when you shouldn't)

Migrating Whop from PostgreSQL to PlanetScale MySQL with 0 downtime

Why we're excited about the SF Ruby conference

Debug AI fast with this open source library to visualize agent traces

How to add fast, client-side search to Astro static sites

Martian Summer: blog, talks, open source, and ready for SFRuby in Nov

Contract shock therapy: the way to API-first documentation bliss

How to detect Safari and iOS versions with ease in 2025

Flaky tests, be gone: long-lasting relief for chronic CI retry irritation!

OKLCH in CSS: why we moved from RGB and HSL

Baking with Rails at scale: recipes in Ruby, cookware from Go, C, and Rust

Exploring Active Agent, or can we build AI features the Rails way?

The Whop chop: how we cut a Rails test suite and CI time in half

The scenic route: lessons building an IntelliJ IDEA plugin for Luau

The Long Game: why Rails survived the hype cycle and what it means for your startup

Circuit breakers and Ruby in 2025: don't break your launch

Redprints CFP: an open source CFP management app built with Rails + Inertia.js

What we learned from creating PostCSS

AnyCable for Laravel: reliable WebSocket infrastructure

Simplicity, vanished?! Solving the mystery with Inertia.js + Rails

API contracts and everything I wish I knew: a frontend survival guide

We studied 100 dev tool landing pages—here’s what really works in 2025

The early validation lesson: designing Quotient’s prompt sandbox

The Hotwire-Rails summit, or interactive multi-step forms at peak UX

How to make an AI clone of your CEO for the world's biggest hackathon

Weeks → days: a case for expert-led, AI-driven design engineering