How to give Claude (or Cursor) access to your Rails app's activity logs
Ask Claude this, today, with no setup: "What did user 4421 do in our app yesterday?" You will get an answer. It will be confident, specific, and compl…
Latest AI & ML news from Tech News
Ask Claude this, today, with no setup: "What did user 4421 do in our app yesterday?" You will get an answer. It will be confident, specific, and compl…
Hey folks 👋 Welcome back. In Part 3 we built all five auth endpoints, added Rack-Attack rate limiting, hardened the HTTP headers with secure_headers ,…
Every blog post, product page, and profile in a Rails app deserves its own Open Graph image, the picture that shows up when someone shares the link on…
Originally published on Hashnode: https://railswithyashika.hashnode.dev/rails-performance-n-plus-one-queries When working with associations in Rails, …
Rails GuardDog: Advanced Security Scanner for Rails Introduction Today I'm excited to announce Rails GuardDog v0.1.0 — an open-source security scanner…
(Originally published as this blog post: https://andymaleh.blogspot.com/2026/06/rubyconf-has-joined-railsconfrailsworld.html ) RubyConf has joined Rai…
My Previous Deployment Choices Since I mostly do web development using Ruby on Rails, these were my go-to options for deployment: PaaS like Heroku, Re…
Anyone who works with Ruby on Rails knows that, despite the framework being incredible for productivity, there are some classic workflow deficiencies …
When you cannot put Varnish in front of your application, the edge is no longer yours. You have to handle rate limiting from inside the app itself to …
Ruby Reactor 0.4.0 introduces interrupts — the first native saga pause/resume mechanism in the Ruby ecosystem. You've built a checkout flow. The user …
My talk “Frontend Ruby on Rails with Glimmer DSL for Web” went well at RubyConf Austria 2026 . Especially given that after the talk, Chad Fowler (the …
The problem Every SaaS app eventually needs to answer the same questions: Which features do my users actually use? Who are my most active users? When …
In modern web applications, keeping the Request-Response cycle fast is crucial for user experience. If a user registers on your Rails 8 app and you tr…
The Rails maintenance policy is lean by design: only the most recent minor version of the most recent two major versions receives security patches . E…
SOLID Principles in Ruby on Rails SOLID is not a Rails or Ruby concept. It's a set of five object-oriented design principles that apply to any languag…
Spin up from FirstDraft Co-pilot. It's been a while since I've done this, so I'll outline the process. Include devise gem on gemfile bundle install de…
A Rails engine that allows you to query the database using natural language, with RAG and LLMs. No need to write any code. Every Rails project reaches…
Turbo Frames are a great way to build interactive pages without writing custom JavaScript. But how do you test them properly? You can reach for system…
Rails X XCode Tips When reading commands from a textbook, the \ in the command instruction line is usually just a line continuation in instructions. I…
flag_shih_tzu stores many boolean attributes in one integer column. Each boolean gets one bit 〰️ well that used to be true 〰️ v1.0.0 supports multi-bi…
I am developing a boilerplate called SuperRails. Super Rails | Rails Boilerplate for Solopreneurs A production-ready Rails boilerplate with Devise, Av…
In the world of startups, there is a dangerous myth. People think that to build a "real" application, you need a team of five: a frontend expert, a ba…
Nearly every project I've worked on has, at some point, had to answer the question of inlining SVGs into HTML. I've been refining my approach to this …
I always liked tracking my income and expenses. There was an app called Spendee that I used a lot. I liked it. But it felt too complicated for me, so …
Hey folks 👋 Welcome back. In Part 1 we walked through the 11 attack vectors that shape every decision in this series. If you skipped it, please go rea…
When deleting a database column, I ran grep "\.html\b" across a Django codebase to check for references. It returned 1,202 hits. The column had 10 act…
I once inherited a background job to deactivate stale users. In production, a job processing 50,000 users that should have taken a minute was taking o…
I see developers make a mistake that can ruin their entire month. They are building a new Rails SaaS. They get their Stripe secret key, their OpenAI k…
If you've reached for acts_as_tenant or apartment without really understanding what's happening underneath, this tutorial is the correction. We're bui…
👋 Introduction When I was building a gym management system for a real gym in New Delhi, one of the most interesting challenges was connecting a physic…