Marcin Ostrowski
Kept hiring the same people at every company he built, then stopped pretending that was a coincidence and made it a company. fryga is the band he always wanted: small, handpicked, no bench. Too many ideas on a normal day, the anchor when something's on fire. Answers for the result, not the scope of the task. Writes about Rails and AI-assisted coding at rubyonai.com. Mentors at 42 Warsaw.
Your team stopped shipping. The code is probably why.
A founder's guide to reading the symptoms when delivery slows to a crawl: what they mean, what makes it worse, and what to do before hiring more developers.
Read storyKilling react-on-rails: moving a unicorn's views back to Rails
We removed react-on-rails from a 13-year-old codebase serving millions and converted the views to Stimulus. What it cost, what it paid, and what stayed React.
Read storyAI agents flail on legacy codebases. The codebase is why.
Agents fly on greenfield demos and faceplant on ten-year-old apps. The difference is what the repo teaches them, and you can fix what it teaches.
Read storyA CPO we worked with shipped production code daily. Here's the system that made it safe.
A product person with zero engineering background shipping to production sounds reckless. What makes it work is the system around the model.
Read storyWhen should your Rails app go multi-tenant? A decision framework for CTOs
Multi-tenancy is a business decision wearing an architecture costume. A framework for when to make the move, which isolation level to pick, and what it really costs.
Read story11 months inside a 13-year-old Rails codebase: the Domestika rescue
What a Rails rescue actually looks like from the inside: the audit, the kills, the rebuild, and the deploy pipeline that got 40% faster on the way out.
Read storyRewrite or rescue? Deciding what to do with a legacy Rails app
We spent 11 months inside 13 years of Rails at Domestika and still didn't rewrite it. The rewrite question is usually the wrong question to ask.
Read storyWhy your team's AI coding adoption didn't stick
Ninety percent of firms told NBER that AI changed nothing for them. The tools work; what fails is treating an organizational change as a tooling rollout.
Read storyThe review gap: your team now writes more code than it can review
AI didn't remove your bottleneck. It moved it to code review. The fix isn't reading faster: machines check the code, humans review the intent.
Read storyYou need an AI brain.
Your agent is only as good as the context it can reach. How I turned markdown files in a git repository into one brain my agents and I both read and write — across clients, initiatives, decisions, and research.
Read storyMy Harness: How I stopped babysitting AI and went kitesurfing.
I built a system that builds the system. 4 hours from idea to production. Here's my full AI coding workflow for Rails.
Read storyYour AI has no memory. Your Rails codebase does.
AI wakes up every session like Leonard in Memento — no memory, trusting only the tattoos. Your conventions are those tattoos. Here are the Rails rules I'd ink first: business logic in models, boring controllers, views that contain the mess.
Read storyHow do you know the software is working?
You don’t know software works because you read it. You know it works because automated checks, strict constraints, and structured review make it hard for it to fail silently.
Read storyThe single most important thing that made me believe AI coding could work
AI coding didn’t start working when prompts improved, but when rules became enforceable. Loading and applying coding conventions upfront fundamentally changed how reliable AI-generated code was.
Read storyHow I learned to brainstorm effectively with AI: A structured approach using Claude
Brainstorm effectively with AI using a structured approach. Learn how with Claude you can turn unstructured chat into a focused, collaborative process for designing ideas, products, and code
Read story