<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Meridian Build</title><description>Technical writing about Rails, AI, indie hacking, and building digital products as a solo developer.</description><link>https://meridianbuild.dev/</link><item><title>PWA Over Native for a Fashion App</title><link>https://meridianbuild.dev/blog/pwa-over-native-for-a-fashion-app/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/pwa-over-native-for-a-fashion-app/</guid><description>Why I chose a Progressive Web App over native iOS/Android for OutfitMaker. Camera access works, installation works, and I don&apos;t need Apple&apos;s permission.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>SEO for Indie Hackers: What Actually Worked</title><link>https://meridianbuild.dev/blog/seo-for-indie-hackers-what-actually-worked/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/seo-for-indie-hackers-what-actually-worked/</guid><description>Real data from 4 months of SEO effort on OutfitMaker. The strategies that moved the needle and the ones that wasted my time.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Rails 8 Migration on a Live Product</title><link>https://meridianbuild.dev/blog/rails-8-migration-on-a-live-product/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/rails-8-migration-on-a-live-product/</guid><description>Upgrading from Rails 7.1.5 to 8.1 with paying users. The strategy, the gotchas, and why I fixed 103 test failures before touching the Gemfile.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>From Zero to First Paying Customer</title><link>https://meridianbuild.dev/blog/from-zero-to-first-paying-customer/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/from-zero-to-first-paying-customer/</guid><description>First commit to first €7.99. The timeline, the numbers, what worked and what didn&apos;t on the path to revenue.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Hotwire Over React for a Solo Dev</title><link>https://meridianbuild.dev/blog/hotwire-over-react-for-a-solo-dev/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/hotwire-over-react-for-a-solo-dev/</guid><description>Real-time features without a JavaScript framework. How Turbo Streams and Stimulus gave OutfitMaker everything it needed with a fraction of the complexity.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Multimodal AI for Outfit Suggestions</title><link>https://meridianbuild.dev/blog/multimodal-ai-for-outfit-suggestions/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/multimodal-ai-for-outfit-suggestions/</guid><description>How sending actual photos to Gemini instead of text descriptions transformed OutfitMaker&apos;s suggestions from generic to genuinely useful.</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>How I Got ChatGPT to Recommend My Product</title><link>https://meridianbuild.dev/blog/how-i-got-chatgpt-to-recommend-my-product/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/how-i-got-chatgpt-to-recommend-my-product/</guid><description>Traffic from chatgpt.com appeared in my analytics. Here&apos;s what GEO means for indie products, and the specific steps that worked.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Building in Public While Still Learning</title><link>https://meridianbuild.dev/blog/building-in-public-while-still-learning/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/building-in-public-while-still-learning/</guid><description>The tension between sharing your work and not feeling like an expert. How one Reddit post brought 40 users in 24 hours.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item><item><title>My First State Machine in Rails</title><link>https://meridianbuild.dev/blog/my-first-state-machine-in-rails/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/my-first-state-machine-in-rails/</guid><description>How OutfitMaker&apos;s outfit suggestion flow evolved from nested if/else into a proper state machine. The gem, the gotchas, and why it clarified everything.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Why I Switched from RSpec to Minitest</title><link>https://meridianbuild.dev/blog/why-i-switched-from-rspec-to-minitest/</link><guid isPermaLink="true">https://meridianbuild.dev/blog/why-i-switched-from-rspec-to-minitest/</guid><description>RSpec felt like too much ceremony for a solo project. Here&apos;s how I migrated 341 tests, what broke, and why simpler was better.</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate></item></channel></rss>