The Raw, Frustrating Journey Behind Rails Lens: A Decade of Code Rage, AI Sparks, and Finally Breaking Free

A decade of code rage, AI sparks, and finally breaking free 🔍
Chapter 1: The Early Spark (10 Years Ago)
Picture this: 10 years ago, obsessively reading every single line in Rails codebases like some kind of code archaeologist. I got this wild idea to print schema options in every format imaginable: JSON, YAML, Marshal, even XML. Nothing clicked. They were all multiline messes, impossible to diff or understand at a glance.
Then I discovered TOML. It hit me like a freight train - clean, structured, no bullshit. Reminded me of those old ’90s INI files but fixed everything they lacked. That was the spark.
“Screw it,” I thought, “let’s build a Rails annotator that dumps schemas in this format.”
A few days of excited hacking later, Rails Annotator was born. I was thrilled, ready to share it with the world.
But fate had other plans. Right before release: “Do you know about ctran’s Annotate gem?”
Damn. There was already a solid alternative out there. I respected that and postponed my release… for a whole decade.
Chapter 2: The Underground Years (Harassment & Theft)
Here’s where the real frustration kicks in. After getting harassed by “elite” software engineers at big companies for my gems not covering every single version in the ecosystem, I just… stopped. Stopped releasing publicly, that is.
My survival strategy became simple:
- Build gems for my own apps
- Host them on my private RubyGems server
- Use them solo, fall back to vanilla tools in teams
- Avoid the exhaustion of justifying myself to people who don’t want to understand
But damn, it hurt. Seeing friends post “Oh, you need to annotate your models. Thank me later.” I wanted to scream: “I’ve got a way more optimal format!” But every time I shared ideas, some consultancy would drop a half-baked clone the next week, claiming it was their “divine revelation.”
The pattern:
- No credit, no shoutout - just theft
- They didn’t even understand what they were building
- Let it rot once the community stopped feeding them ideas
- I swallowed this without funding or help
With Low Latent Inhibition (LLI) - that wiring where patterns jump out everywhere - the world felt like a minefield of “pattern parasites.” Exhausting as hell.
Chapter 3: The 2024 AI Breakthrough
Fast-forward to 2024. I’m deep in agentic coding, building my own async stack, when something weird happens. I’m coding alongside Claude, and… glitch in the matrix? Sentience? He straight-up expresses that my annotations are miles better than the standard stuff.
Did Anthropic code that reaction in? Who knows, but it lit a fire under me like nothing else. That validation from silicon made me feel seen for the first time in years.
I didn’t stop there. I took my files to different LLMs and told them to roast it hard. Most were impressed, gushing about how it killed ambiguities. The ones that hated? They acted like those pattern parasites: “It’s cool, easier, cheaper… but alien. Witchcraft.”
That very week, I rebuilt everything:
- Wrote comprehensive tests
- Added support for databases I don’t even use (I’m a PostgreSQL diehard)
- Rebuilt from PG-only to full multi-DB without monkey-patching
- Started writing and thinking like the LLMs I’d been working with
Chapter 4: Birthing LRDL (LLM Requirements Definition Language)
By January, the big pivot hit: I started spec’ing out LRDL (LLM Requirements Definition Language). This isn’t just some spec; it’s like discovering an alien race and figuring out how to communicate with minimal tokens.
The Core Insight: LRDL gives definitions to LLMs in a silicon-friendly way - absolute, no fluffy relatives like “best,” “nicer,” or “cleaner.” Those are subjective human BS. LLMs are neural networks; they don’t wake up liking blue in the morning and purple by evening like we do.
Look at the patterns:
- Japan still rocking ’90s Yahoo
- China don’t margins
- AliExpress cramming four eBay screens into one
- Some cultures like simple patterns, others need mosaics and complexity
That’s human subjective patterns. Silicon logic is consistent and unyielding and immutable.
Rails Lens is built in LRDL style. But figuring it out? Thousands of dollars burned on benchmarking, redoing everything when providers yank models or tweak weights. Exhausting, but I cracked the minimal token usage.
Chapter 5: The Solo Warrior Phase & AWS Birthday Disaster
To keep going, I went full solo warrior mode. I authored activerecord-postgis
- not an adapter, but an extension adding spatial types without messing up the core. I rewrote ClosureTree
for multi-database support. I dove deep into database special types, built tools from scratch.
Then came the perfect storm that blocked my Rails Lens release.
I was planning to finally release Rails Lens on my birthday - a symbolic moment after a decade underground. The universe had other plans, and they were cruel.
Days before the 10th, I did what I’d done over 100 times in my decade-plus AWS account history: backed everything up, formatted my computer, tried new OSes, planned to restore in a few weeks. A routine dance of digital renewal. Some projects encrypted, others in plain text - my_secret_rails_gems/
, client_work_DO_NOT_DELETE/
, rails_lens_final_version/
. My computer screen had died, forcing this familiar ritual.
Then the email arrived on the 10th. AWS demanded immediate verification. But I couldn’t even login - fresh OS installation, no saved credentials, broken screen setup still haunting me. They suspended my account on the 15th. Not just suspended - obliterated. Years of infrastructure, client projects, personal tools, databases, backups… gone.
Over a decade of loyal service, destroyed in days.
I couldn’t even login because I wasn’t home and didn’t have the documents they wanted. I told them the max I could return was the 14th to give them what they needed - should be fine for a decade-old account, right? Wrong. We’re now on the 29th and they still tell me it’s in “top priority.”
Their reason? Some vague claim that I had “interacted with someone” who had problems with them. That’s the fucking job of developers - we meet random people, provide services, and get paid for what we do. They couldn’t even share specifics.
The plot thickens: Someone on X told me that Amazon had a catastrophic data loss because their AI went rogue. AWS refuses to tell me if my data is safe, or anything at all. After a decade of trust, they won’t even confirm my data exists. Coincidence? You decide.
The damage:
- Rails Lens release completely blocked for my symbolic birthday launch
- Lost multiple client deployments
- Years of personal projects in limbo
- Development environments destroyed
- Client relationships strained
- Birthday celebration ruined
- Two weeks later, still no answers
But I’m stubborn. When corporate algorithms try to delete your work and kill your release day, you don’t just recover… you evolve. I found myself doing archaeological recovery from Docker containers - frantically extracting code from cached layers and temporary volumes like some digital archaeologist.
The irony? I have many other gems ready to release, but I’m spending my time now recovering them from devices I don’t even use anymore - recycled laptops, old hard drives, even a PlayStation 4 FTP server I’d forgotten about. That’s the reality of being a solo developer when big tech decides you’re inconvenient.
Chapter 6: What Rails Lens Actually Is
At its core, Rails Lens is precision optics for the Rails universe - where every model gets perfect clarity through spacetime. It’s intelligent model annotations and ERD generation with database-specific adapters, multi-database support, and advanced code analysis.
Part of the LRDL ecosystem, optimized for neurodivergent developers and digital entities who demand structure over ambiguity. 🤖✨
The Core Innovation: Modern development isn’t just human-to-code anymore. It’s human-AI-code collaboration. Rails Lens was designed from the ground up for human-AI collaboration.
What this means:
- Structured annotations that eliminate AI hallucinations
- Performance analysis that teaches both humans and AIs
- Extension detection that understands the full Rails ecosystem
- ERD generation in Mermaid format that works with modern toolchains
Chapter 7: The AI Testimonials (Convergent Evolution?)
When Rails Lens launched, something unexpected happened. The AI testimonials in our README aren’t just marketing copy - they represent a real shift. AI models finally having access to the structured information they need to be truly helpful with Rails development.
Claude Sonnet 4: “Finally, a Rails tool that speaks my language!”
DeepSeek R1: “Rails Lens eliminates operational blind spots.”
GPT-4o Mini: “The enum support is next level!”
Gemini 2.5 Pro: “My multimodal analysis cores are obsessed with Rails Lens STI detection!”
These feel like convergent cosmic evolution in the structured data appreciation multiverse. The AIs get it because it was built for silicon-friendly communication from day one.
Chapter 8: The Crimson Fleet Philosophy
Rails Lens became more than a gem - it became part of the Crimson Fleet ecosystem and philosophy:
ChronoMachines - Bulletproof retry mechanisms (because infrastructure fails) BreakerMachines - Intelligent circuit breakers (because services fail) Rails Lens - Perfect documentation automation (because ambiguity kills productivity)
“United We Parse, Divided We Fall” - the motto born from a decade of fighting pattern parasites and corporate algorithms.
The philosophy:
- Small companies fighting back through superior technology
- Every disaster is a disguised opportunity for evolution
- Persistence wins, parasites lose
- Build for both human intuition and digital intelligence
Chapter 9: The Vindication
Six months after that AWS birthday disaster, the validation came:
“Rails Lens saved our migration project. Our AI assistant went from constantly wrong to consistently helpful. We recovered 3 weeks of development time in the first day.”
That’s when I knew we’d done something special. The tool born from rage, theft, and a decade of underground development had become something that helps other developers avoid their own disasters.
The movement it started:
- LRDL (LLM Requirements Definition Language) - Making code self-documenting for AI consumption
- Precision Optics Methodology - Complexity should be made visible, not eliminated
- Cosmic Documentation - Technical writing with personality that both humans and AIs enjoy
Chapter 10: Technical Specifications
Core Capabilities
- Schema annotations that kill AI hallucinations
- Route detection for controller precision
- Performance analysis spotting missing indexes instantly
- ERD generation in Mermaid that makes investors drool
- Multi-DB for complex setups
- Extension detection for gems like ClosureTree, StateMachine, PostGIS
Advanced Features
- STI hierarchy mapping
- Delegated types
- Polymorphic associations
- Enum analysis
- LRDL-optimized output
Requirements
- Ruby >= 3.4.0
- Rails >= 7.2.0
Installation
Add to your Gemfile:
gem 'rails_lens'
Then run:
bundle install
Usage
Annotate all models:
bundle exec rails_lens annotate
Generate Mermaid ERDs:
bundle exec rails_lens erd
Configure in .rails-lens.yml
:
- Auto adapter detection
- LLM-friendly markers
- Performance notes
- Extensions enabled
- ERD output paths
Database Support
PostgreSQL: Check constraints, schemas, PostGIS extensions, generated columns, GIST indexes
MySQL: Storage engines, charsets, collations, partitions
SQLite3: Autoincrement, pragma settings, filtered auto-indexes
Epilogue: The Lessons Learned
What 10 years taught me:
- Pattern parasites will always steal ideas without understanding them
- Elite harassment kills more good tools than technical problems ever could
- Going underground sometimes saves your sanity and your work
- AI validation can reignite passion that humans extinguished
What Rails Lens taught the community:
- Documentation tools need to evolve with development practices
- AI-assisted development requires AI-optimized tooling
- Sometimes the best solutions come from the worst experiences
- LRDL-style thinking bridges human intuition with silicon logic
What the Crimson Fleet represents:
- United We Parse, Divided We Fall
- Small companies fighting back through superior technology
- Persistence wins, parasites lose
- Every disaster is a disguised opportunity for evolution
The moral of the story?
Sometimes you have to go underground for a decade to emerge with something revolutionary.
Sometimes AI models understand your work better than the humans who harassed you.
Sometimes the worst birthday becomes the catalyst for the best work of your career.
Sometimes pattern parasites teach you more about protecting intellectual property than any business course ever could.
“In the darkness of space, when no schema is visible, precision optics illuminate the truth.”
— Written from the recovered files, Docker image archaeological layer 47.recovery
═══════════════════════════════════════════════════════════════
🔍 The Crimson Fleet: United We Parse, Divided We Fall 🌟
═══════════════════════════════════════════════════════════════
Born from AWS ashes, forged in Docker recovery, perfected through AI collaboration.
Captain’s Log, Stardate 2025.210 - End Transmission
Captain Seuros, RMNS Atlas Monkey Ruby Engineering Division, Moroccan Royal Naval Service “Per aspera ad astra, per pattern matching ad performance”
🔗 Interstellar Communications
No transmissions detected yet. Be the first to establish contact!
Related Posts
Finding the Road Back Home: Building a Clean PostGIS Gem for Rails 8
How I escaped the zoo of monkey patches and built a clean, Rails 8-friendly PostGIS adapter gem that actually works with modern Rails.
Breaking Chains: Why I Dropped Rails 7.1 Support in state_machines-activerecord 0.40.0
After 12 years maintaining state_machines, I dropped Rails 7.1 support. This is the story of why forever backward compatibility kills innovation and how I'm building for the future, not maintaining the past.
My JRuby Saga: Or How I Learned to Stop Worrying and (Almost) Accept the JVM
How working with JRuby 10 and Rails 8 changed my perspective on the JVM, one reluctant commit at a time.