Coding

Building a Custom SSO: Why We Chose OAuth2 Over Devise

Building a Custom SSO: Why We Chose OAuth2 Over Devise

In 2021, we made a decision that seemed crazy: build our own OAuth2 Single Sign-On system instead of using Devise. Three years and three Rails upgrades later, that “crazy” decision looks like strategic foresight.

This is the story of Heis Soma—our custom authentication service powering Prayer Nook and positioning us to serve the broader Christian ministry ecosystem. It’s about architectural decisions, technical tradeoffs, and the surprising ways that following standards can future-proof your applications.

We built ~2,000 lines of OAuth2-compliant code. Survived Rails 6.1 → 8.0 with minimal changes. Achieved 10x performance improvements through Rails 7’s multiple database connections. Served 1,000+ users with zero security incidents.

Was it worth the 200-hour investment? Yes—but not for everyone. Here’s when custom authentication makes sense, when it doesn’t, and what we learned from three years in production.

Claude AI as Your Coding Partner: Real Integration Lessons

Claude AI as Your Coding Partner: Real Integration Lessons

“Your AI wrote that response?” The message came from a Prayer Nook user amazed by an AI-assisted prayer guide. That’s when I knew we’d gotten the Claude integration right.

But getting there took six months of experimentation, three major refactors, and $487 in wasted API calls during testing. This is the real story of integrating Claude Sonnet 4.5 into a production Rails 8 application serving 1,000+ users.

This isn’t another “how to call the OpenAI API” tutorial. This is production AI integration: real code, actual costs ($83/month for 24,850 requests), failures we encountered, and lessons learned the hard way.

I’ll show you why we chose Claude over GPT-4 (50% cost savings, better tone for sensitive content), our complete architecture with service objects and background jobs, cost optimization strategies that saved 70%, the four major failures we survived, and the ethics of AI in faith-tech.

After six months: Content moderation is 5x faster, we caught 12 urgent crisis situations, and user satisfaction increased. But it required careful planning, robust error handling, and constant human oversight.

Installing Ruby 3.4.1 and Rails 8.0.1 on Apple Silicon

Installing Ruby 3.4.1 and Rails 8.0.1 on Apple Silicon

Struggling with Ruby 3.4.1 installation on your M1/M2 Mac? You’re not alone! This guide turns the frustrating OpenSSL dance into a smooth development setup. Learn how to properly configure your Apple Silicon environment for Ruby on Rails 8 development, complete with troubleshooting tips and clean configuration templates. No more version manager tangles – just pure coding joy!

From Rails 6.1 to 7.0 to 8.0: A Three-Generation Migration Journey

From Rails 6.1 to 7.0 to 8.0: A Three-Generation Migration Journey

Six years after deploying on Rails 6.1, upgrading to Rails 8.0 proved a challenging yet educational journey. Each release brought technical hurdles like Webpacker transitions and gem issues, but also improvements like asynchronous queries and better database support, turning maintenance into valuable learning about Rails’ evolution.

Stay Updated with Topher Codes