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.
- 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
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
- 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
2. Your Error Data Lives on Their Servers
Every error contains sensitive information:
- User IDs and session data
- Request parameters (potentially PII)
- Stack traces showing your business logic
- Accidentally logged secrets
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:
- Remember Heroku’s free tier? Gone.
- Remember MongoDB Atlas’s free tier changes? Painful.
- What happens when they decide free isn’t sustainable?
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.
Core Features (What It Does Today)
Error Tracking:
- 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)
Dashboard:
- 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
Analytics:
- 7-day error trend charts
- Severity breakdowns (critical, high, medium, low)
- Platform health monitoring
- Automatic spike detection
- Affected users tracking
Workflow Management:
- Assign errors to team members
- Set priority levels
- Add comment threads
- Mark as resolved with references
- Batch operations (resolve/delete multiple errors)
Optional Features (Opt-in During Install):
- 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
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
Who this is NOT for:
- Large teams (50+ developers)
- Complex distributed architectures
- Teams that want fully managed infrastructure
- Companies needing enterprise support contracts
Who this IS for:
- 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
The Technical Reality (No Exaggeration)
I built this with clean architecture because I hate messy code:
CQRS Pattern:
- 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
Testing:
- 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
Current Version: v0.3.1
- 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
Supports:
- Ruby 3.2, 3.3, 3.4, 4.0
- Rails 7.0, 7.1, 7.2, 8.0, 8.1
- PostgreSQL (recommended), MySQL, SQLite
Installation: Actually 5 Minutes
# Gemfile
gem ‘rails_error_dashboard’
bundle install
rails generate rails_error_dashboard:install
rails db:migrate
The interactive installer asks which optional features you want:
? Enable Slack notifications? (y/N)
? Enable advanced analytics? (y/N)
? Enable async logging for performance? (y/N)
Choose what you need. Everything works out of the box without configuration.
Then visit http://localhost:3000/error_dashboard and log in:
- Username:
gandalf - Password:
youshallnotpass
(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:
Solid Errors is for:
- Absolute simplicity (bare-bones logging)
- No frills, no complexity
- Just store errors in your database
Rails Error Dashboard is for:
- Professional monitoring features
- Analytics, trends, spike detection
- Team workflows (assign, prioritize, comment)
- Multi-channel notifications
- Advanced features (fuzzy matching, cascade detection)
Both are self-hosted and free. Choose based on your needs:
- Solid Errors: You want the simplest possible solution
- Rails Error Dashboard: You want feature-complete monitoring
The Cost Comparison (Being Realistic)
Sentry Free Tier:
- Cost: $0
- Limits: 5,000 errors/month, 7-day retention
- When you outgrow it: $26–80/month
Rails Error Dashboard:
- Cost: $0 (forever)
- Limits: None (unlimited errors, unlimited retention)
- Infrastructure: Runs on your existing Rails server
- Maintenance: ~1 hour/month (responding to updates, issues)
The real savings isn’t about avoiding $26/month.
The real value is:
- 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
The Audio Intelli Connection
Rails Error Dashboard started as an internal tool for Audio Intelli.
When you’re managing errors across:
- iOS app (Swift)
- Android app (Kotlin)
- Web dashboard (Rails + Turbo)
- Background AI processing (Queues + OpenAI/Whisper)
When you need unified error tracking. I could have used Sentry’s free tier, but I wanted:
- Complete privacy for voice data
- Unlimited errors without worrying about quotas
- Full control over the monitoring stack
- Long-term data retention
I built it for myself. Then I realized other indie Rails developers might value the same things.
So I:
- Cleaned up the code
- Wrote comprehensive tests
- Added extensive documentation (25+ guides)
- Made it fully configurable
- Open-sourced it under MIT license
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.
Why I Open-Sourced It
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:
- 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)
Reason 2: Rails Deserves Better Self-Hosted Options
The Rails ecosystem is moving toward eliminating unnecessary SaaS dependencies:
- Kamal → replaces Heroku
- Solid Queue → replaces Sidekiq Enterprise
- Solid Cache → replaces Redis Cloud
- Rails Error Dashboard → alternative to Sentry/Rollbar
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:
- 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.
Final Thoughts
This isn’t about saving money. Sentry’s free tier is generous, and if you’re just starting out, use it!
This is about:
- 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
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.
Links
- Live Demo: rails-error-dashboard.anjan.dev (gandalf / youshallnotpass)
- GitHub: github.com/AnjanJ/rails_error_dashboard
- Audio Intelli: audiointelli.com



Top comments (0)