Track expenses the moment they happen, and see at a glance how you're tracking against your weekly and monthly budgets. A Rails app that ships as an iOS app with Ruby Native.
- Log fast. Tap +, type a whole-dollar amount (no cents), pick a category, done.
- See where you stand. The Home tab shows this week and this month vs. budget, plus a per-category breakdown.
- Shared budgets. Invite a partner with a 6-character code so you both log into the same household.
- History. The History tab summarizes the last several weeks and months against budget.
- 5pm reminder. If you haven't logged anything by 5pm, you get a push notification (once the native app is installed and notifications are allowed).
- Rails 8.1, Ruby 4.0.1
- SQLite (primary + Solid Queue / Cache / Cable), no external services
- Propshaft + import maps + Hotwire, plain CSS (no build step)
- Rails 8 built-in authentication
ruby_nativefor the native shell andaction_push_nativefor APNs- Background jobs via Solid Queue; the 5pm reminder is a recurring task
bin/setup # installs gems, prepares the db
bin/rails db:seed # demo data (development only)
bin/dev # or: bin/rails serverSign in with the seeded accounts:
joe@example.com/passwordage@example.com/password(shares the same budget)
bundle exec ruby_native previewScan the QR code with the Ruby Native preview app. Tabs, colors, and the app name come from config/ruby_native.yml.
bin/rails test # 34 tests
bin/ci # tests + rubocop + brakeman + auditsSee DEPLOY.md for the Hatchbox + Hetzner setup, push notification credentials, and shipping the native build to TestFlight.
Userbelongs to households throughMembership, and has acurrent_household.Householdhas aninvite_code,Categoryrecords, andExpenserecords.Categoryhas an emoji, color, whole-dollarbudget_amount, and aperiod(weeklyormonthly).Expensehas a whole-dollaramount, optionalnote, andspent_ondate.
BudgetSummary powers the Home tab; SpendingHistory powers the History tab.