Tools
Tools: Why I Built Rails Error Dashboard (And Why You Might Want to Self-Host Too)
2026-03-07
0 views
admin
Core Features (What It Does Today) ## Why I Open-Sourced It I needed error tracking for my side project but wanted complete control over my data and monitoring stack. So I built Rails Error Dashboard — a self-hosted, open-source alternative to commercial services. It’s in beta (v0.1.20), production-ready with 850+ tests, and completely free. Try the live demo → The Real Problem: It’s Not About the Money
Let me be honest upfront: Most error tracking services have generous free tiers. For a small side project, these free tiers work fine. I could have used any of them for $0. So why did I build my own?
What Actually Bothered Me
I run Audio Intelli — an AI platform that transforms audio into searchable intelligence — on a Raspberry Pi 5 for testing. My entire server costs $80 one-time. When I looked at error tracking options, the free tiers seemed great at first. But then I noticed: When I looked at error tracking options, the free tiers seemed great at first. But then I noticed: 1. Free Tiers Have Real Limitations 2. Your Error Data Lives on Their Servers
Every error contains sensitive information: With Audio Intelli handling voice conversations and transcriptions, I wanted complete control over every piece of data. 3. You’re Dependent on SaaS Pricing
Free tiers can change or disappear: Once you’re locked in with 6 months of historical error data on their platform, moving is painful. 4. I Wanted to Learn
I’m a Rails developer. Error tracking is fundamentally storing exceptions in a database with some analytics. How hard could it be? Turns out: not that hard. But incredibly educational. What I Built
Rails Error Dashboard is a Rails Engine that mounts into your existing Rails app. No external services, no APIs to configure, no data leaving your server. Optional Features (Opt-in During Install): What It Doesn’t Do (Being Honest)
This isn’t a Sentry replacement for everyone: ❌ No distributed tracing — If you’re debugging microservices across 20 services, Sentry is better
❌ No session replay — I don’t capture user sessions (yet)
❌ No advanced source maps — JavaScript error mapping is basic (planned)
❌ Limited integrations — 5 built-in vs Sentry’s 50+
❌ Self-hosted only — You manage your own infrastructure The Technical Reality (No Exaggeration)
I built this with clean architecture because I hate messy code: Current Version: v0.3.1 Installation: Actually 5 Minutes The interactive installer asks which optional features you want: Choose what you need. Everything works out of the box without configuration. Then visit http://localhost:3000/error_dashboard and log in: (Yes, LOTR-themed defaults. Change them in config/initializers/rails_error_dashboard.rb before production!) Try Before You Install: Live Demo
I’m running a live demo with 250+ sample errors from fictional scenarios: Demo URL: https://rails-error-dashboard.anjan.dev
Username: gandalf
Password: youshallnotpass Click around. Test search. Try filters. Check out the analytics. See if it fits your needs. No signup, no credit card, no tracking. Honest Comparison: When to Use What
Use Sentry/Rollbar Free Tier If: ✅ You’re just starting out (5K errors/month is plenty)
✅ You’re okay with 7–30 day data retention
✅ You don’t mind data on their servers
✅ You want zero ops work (managed infrastructure)
✅ You need their extensive integrations (Sentry has 50+)
✅ You might scale to a large team eventually For most solo devs starting their first side project, Sentry’s free tier is completely fine. Use Rails Error Dashboard If: ✅ You want unlimited errors with no ceiling
✅ You need long-term data retention (years, not days)
✅ You’re privacy-conscious (GDPR, HIPAA, data sovereignty)
✅ You want to own your monitoring stack completely
✅ You enjoy self-hosting and learning
✅ You’re worried about SaaS pricing changes long-term
✅ You want full customization (access to source code)
✅ You’re running on constrained infrastructure (Raspberry Pi, home server) The honest truth: If you value independence, privacy, unlimited usage, and learning, Rails Error Dashboard is better. If you just want to ship fast and don’t care about the above, use Sentry’s free tier. What About Rails 8 and Solid Errors?
You might be thinking:
”Doesn’t Solid Errors suffice, which also does error tracking now?” Solid Errors exists but is intentionally minimalist: Rails Error Dashboard is for: Both are self-hosted and free. Choose based on your needs: The Cost Comparison (Being Realistic)
Sentry Free Tier: Rails Error Dashboard: The real savings isn’t about avoiding $26/month. The Audio Intelli Connection
Rails Error Dashboard started as an internal tool for Audio Intelli. When you’re managing errors across: When you need unified error tracking. I could have used Sentry’s free tier, but I wanted: I built it for myself. Then I realized other indie Rails developers might value the same things. If you’re working with audio: Audio Intelli transforms podcasts, meetings, and voice recordings into searchable, actionable intelligence. We’re in private beta. Join the waitlist → Same philosophy: build tools you own, not tools that own you. Reason 1: I’m Not Building a SaaS I don’t want to run error monitoring as a business. I built this to solve my own problem. Open-sourcing it means: Reason 2: Rails Deserves Better Self-Hosted Options The Rails ecosystem is moving toward eliminating unnecessary SaaS dependencies: This is the indie hacker way: own your tools, control your costs, stay independent. Reason 3: I Believe in Data Sovereignty Your error data contains your business logic, user behavior patterns, and potentially sensitive information. You should own it. Not rent access to it. The Long-Term Plan
I’m committed to maintaining this project long-term because: Final Thoughts
This isn’t about saving money. Sentry’s free tier is generous, and if you’re just starting out, use it! If those values resonate with you, give Rails Error Dashboard a try. It’s not perfect. It’s not as feature-rich as Sentry. But it’s free, it’s open-source, you own your data, and it works. That’s good enough for me and might be for other indie Rails developers who value independence. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse COMMAND_BLOCK:
# Gemfile
gem ‘rails_error_dashboard’ Enter fullscreen mode Exit fullscreen mode COMMAND_BLOCK:
# Gemfile
gem ‘rails_error_dashboard’ COMMAND_BLOCK:
# Gemfile
gem ‘rails_error_dashboard’ CODE_BLOCK:
bundle install
rails generate rails_error_dashboard:install
rails db:migrate Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
bundle install
rails generate rails_error_dashboard:install
rails db:migrate CODE_BLOCK:
bundle install
rails generate rails_error_dashboard:install
rails db:migrate CODE_BLOCK:
? Enable Slack notifications? (y/N)
? Enable advanced analytics? (y/N)
? Enable async logging for performance? (y/N) Enter fullscreen mode Exit fullscreen mode CODE_BLOCK:
? Enable Slack notifications? (y/N)
? Enable advanced analytics? (y/N)
? Enable async logging for performance? (y/N) CODE_BLOCK:
? Enable Slack notifications? (y/N)
? Enable advanced analytics? (y/N)
? Enable async logging for performance? (y/N) - Sentry: Free up to 5,000 errors/month
- Rollbar: Free up to 5,000 events/month
- Bugsnag: Free tier available
- Honeybadger: Free for solo developers - Sentry’s free tier: Only 7 days of data retention
- One bad deploy could burn through 5,000 errors.
- Limited to basic features (no custom dashboards, advanced workflows)
- You’ll eventually outgrow it as your app grows - User IDs and session data
- Request parameters (potentially PII)
- Stack traces showing your business logic
- Accidentally logged secrets - Remember Heroku’s free tier? Gone.
- Remember MongoDB Atlas’s free tier changes? Painful.
- What happens when they decide free isn’t sustainable? - Automatic capture from controllers, background jobs, and Rack middleware
- Platform detection (iOS, Android, Web, API) from user agents
- Manual error reporting API for frontend/mobile apps
- Smart deduplication (groups similar errors automatically)
- Full stack traces with context (user, params, URL, IP) - Clean interface with dark/light mode
- Real-time updates via Turbo Streams (no polling needed)
- Search and filtering with PostgreSQL full-text search
- Error detail views with occurrence history
- Works in both full Rails and API-only apps - 7-day error trend charts
- Severity breakdowns (critical, high, medium, low)
- Platform health monitoring
- Automatic spike detection
- Affected users tracking - Assign errors to team members
- Set priority levels
- Add comment threads
- Mark as resolved with references
- Batch operations (resolve/delete multiple errors) - Notifications: Slack, Discord, Email, PagerDuty, Custom Webhooks
- Advanced Analytics: Fuzzy error matching, cascade detection, co-occurring errors, pattern recognition
- Performance: Async logging, error sampling, separate database support
- Plugins: Jira integration, custom extensions via event hooks - Large teams (50+ developers)
- Complex distributed architectures
- Teams that want fully managed infrastructure
- Companies needing enterprise support contracts - Solo developers running side projects
- Indie hackers bootstrapping SaaS
- Small teams (2–5 people) who value independence
- Privacy-conscious applications (GDPR, healthcare, finance)
- Developers who enjoy self-hosting
- Anyone learning how error tracking works - Commands for write operations: LogError, ResolveError, BatchOperations
- Queries for read operations: ErrorsList, DashboardStats, AnalyticsStats
- Services for business logic: PlatformDetector, SimilarityCalculator, BaselineCalculator
- Value Objects for immutable data: ErrorContext - 137 RSpec files
- 2,615 individual test cases
- Tests across Ruby 3.2–4.0 and Rails 7.0–8.1
- All passing consistently in CI - Pre-1.0 means the API might change before v1.0
- Pre-1.0 doesn't mean unstable — I use it in production
- I'm gathering feedback before locking the public API - Ruby 3.2, 3.3, 3.4, 4.0
- Rails 7.0, 7.1, 7.2, 8.0, 8.1
- PostgreSQL (recommended), MySQL, SQLite - Username: gandalf
- Password: youshallnotpass - Absolute simplicity (bare-bones logging)
- No frills, no complexity
- Just store errors in your database - Professional monitoring features
- Analytics, trends, spike detection
- Team workflows (assign, prioritize, comment)
- Multi-channel notifications
- Advanced features (fuzzy matching, cascade detection) - Solid Errors: You want the simplest possible solution
- Rails Error Dashboard: You want feature-complete monitoring - Limits: 5,000 errors/month, 7-day retention
- When you outgrow it: $26–80/month - Cost: $0 (forever)
- Limits: None (unlimited errors, unlimited retention)
- Infrastructure: Runs on your existing Rails server
- Maintenance: ~1 hour/month (responding to updates, issues) - No artificial limits — Deploy a bug that generates 50K errors? No problem.
- Keep data forever — Historical trends over years, not days
- Independence — Never worry about pricing changes
- Privacy — Complete data sovereignty
- Learning — Understand how error tracking actually works - iOS app (Swift)
- Android app (Kotlin)
- Web dashboard (Rails + Turbo)
- Background AI processing (Queues + OpenAI/Whisper) - Complete privacy for voice data
- Unlimited errors without worrying about quotas
- Full control over the monitoring stack
- Long-term data retention - Cleaned up the code
- Wrote comprehensive tests
- Added extensive documentation (25+ guides)
- Made it fully configurable
- Open-sourced it under MIT license - Others can maintain it if I get busy
- The Rails community can make it better
- Nobody gets vendor locked-in to me
- It stays free forever (MIT license) - Kamal → replaces Heroku
- Solid Queue → replaces Sidekiq Enterprise
- Solid Cache → replaces Redis Cloud
- Rails Error Dashboard → alternative to Sentry/Rollbar - I use it myself — Dogfooding ensures I care about quality
- The Rails community needs this — Real demand for self-hosted error tracking
- It’s not a business — No pressure to monetize or pivot. - Ownership — Your data, your server, your rules
- Independence — Not at the mercy of pricing changes
- Privacy — Complete data sovereignty
- Learning — Understanding how error tracking works
- Unlimited — No caps, no quotas, no artificial limits - Live Demo: rails-error-dashboard.anjan.dev (gandalf / youshallnotpass)
- GitHub: github.com/AnjanJ/rails_error_dashboard
- Audio Intelli: audiointelli.com
how-totutorialguidedev.toaiopenaiservermysqlpostgresqljavascriptdatabasegitgithub