Overview
95 open items on the roadmap
196 items shipped to date
Last updated
5:33:50 PM EDT 9/30/2026
1 week ago
Currently being worked on.
not sending a success message for password change
Queued and ready to pick up next — this is what the team is set to work on after current items wrap.
Backup strategy + restore drill
User preference: email / SMS / push / all
Audit `#f9b104` orange usage; consolidate to CSS variables
Reusable button component library (`.btn-primary`, `.btn-secondary`, `.btn-danger`)
Mobile pass: test all views at 320 / 375 / 768 px
"Restore" buttons on all soft-deleted records
"Show Deleted" filter on index views
Confirm-before-delete modal for every destructive action
User docs / training walkthrough
Decide on PDF library (dompdf vs browsershot)
Install library, generate from existing print template
Queue PDF generation (async, store URL)
Flip `FEATURE_INVOICE_PDF_DOWNLOADS=true` in production after acceptance test
Recent activity feed
Calendar view for upcoming maintenance
Real Brevo SMS API (replace gateway-address-via-email workaround)
PWA manifest (installable app)
"Permanently Delete" (admin-only) action
Build out Step 5 "Preferences" (currently a placeholder per `OnboardingWizard.php:70`)
Shipped and confirmed working in production.
[PROD] WebPush triggers GMP/BCMath PHP warning that converts to a fatal error on landing-page hit
Production MySQL setup + `.env.production`
Queue worker setup (Windows Task Scheduler or supervisor)
SSL certificate + domain
Rate values not saving on `PilotCarJob` edit form
`LoginCode` model + migration (code, user_id, expires_at, used_at)
`LoginCodeController`: generate, validate, consume
Customer-facing login code entry form
Customer dashboard (invoice list scoped to customer)
Customer invoice detail (read-only)
InvoiceReadyNotification — wire to invoice creation
Surface job status badge prominently on jobs index + job show
Verify cancellation flat-rates (`cancellation_24hr`, `show_no_go`, `cancel_without_billing` per `PilotCarJob::determineCancellationType()`) actually flow into invoice generation
Form fields not saving on job creation + driver field updates
Customers cannot update their password
BUG: Sms notification overfllow 160 char limit
Main contact tag missing on customer contacts
Push notification listener: VAPID key generation can fail (`Unable to create the key`)
Config key for code expiry (default 24h)
Invoice commenting (Livewire component, persists per-invoice)
"Flag for Attention" button + manager notification
Email invitation flow for new customer accounts
Proof-materials visibility toggle (staff-only vs public) on attachments
Status badges on dashboard job cards (pending/in-progress/completed/invoiced/paid)
Summary stats cards (total jobs, revenue, unpaid invoices)
Quick filters (unpaid, pending, flagged)
Add maintenance-due notifications/reminders
Vehicle "in garage" boolean + UI surface
InvoiceFlaggedNotification — wire to customer flag action
WelcomeNotification — wire to user account creation
Sticky save buttons on mobile forms
Toast notification system (Alpine.js or library)
`QuickBooksExportController` + route
Map invoice fields → QuickBooks CSV columns
"Export to CSV" button on invoices index
Date/currency formatting for QB import
`clock_in` / `clock_out` fields display & save on log edit
Job log approval workflow (pending/confirmed/denied)
Wait time / trailer # / truck # / extra stops / `is_deadhead` all persist
Jobs table sort: unpaid first, then `scheduled_pickup_at` asc
Mobile layout on jobs index (`job_no`, `scheduled_pickup_at`, `load_no`, pickup_address)
Order summary `summary_items` populated on multi-job invoices
Vehicle name normalization on import (Car 06 / Car 006 / Car 6 → same vehicle)
Pricing config overrides actually win over defaults
Customer `/my/customers/{id}` access control hides Transaction Register for non-admin staff
Vehicle maintenance: overdue / upcoming / history sections render correctly
`ManagePricing` UI exposes the full pricing matrix (rates, charges, cancellations, payment terms)
Add eager loading where N+1 queries exist on jobs index
Add DB index on `pilot_car_jobs.scheduled_pickup_at` (sort performance)
Unit tests: `tests/Unit/InvoiceCalculationTest.php` (mini charge, deadhead, rate codes)
Feature tests: multi-tenant isolation, permission boundaries
On job show page: compare flat-rate vs. mini billing and surface whichever is greater
Fire events on status transitions (active→completed, →cancelled, →no-go) and notify assigned drivers
`tel:` call-driver links on driver / customer-contact / truck-driver phone numbers (job show + log edit)
Rewrite `README.md` — currently the generic Laravel boilerplate. Should describe Rupkeep specifically: what it does (pilot-car job tracking + invoicing), stack, local dev setup, link to TASKS.md / docs/ROADMAP.md
One-time email login links (passwordless sign-in)
Default manager landing → Jobs view (not generic dashboard)
Remove "future feature" copy from onboarding docs page (line 359)
Improved 404/403 pages w/ branding
Remove or finish onboarding wizard "Preferences coming soon" copy (`resources/views/livewire/onboarding-wizard.blade.php:288`)
Clean up Brevo OAuth example code in email controller (per `.cursorrules` line 116)
SMS text notification to drivers on status change (rides on TASK-053 real SMS, or existing gateway)
Implementation is complete and live — we are confirming it solved the underlying issue before marking it shipped.
Data migration from Google Sheets (final export → import)
Move `LOG MEMO (INTERNAL)` field up into "Driver and Vehicle" section
Surface & edit `JOB MEMO (EXTERNAL)` from log edit page (placed in Load Information section)
Rename "Mileage Stops" → "Job Details" and add `JOB START TIME` / `JOB END TIME`
Move `START DAY`/`END DAY` + `START MILEAGE`/`END MILEAGE` out of "Mileage Stops"
Auto-create invoices on import (checkbox in dashboard)
Push notifications deliver end-to-end
`Clear all invoices` super-user action on profile page
Allow "mini" charge to stack onto flat-rate jobs (currently treated as alternatives)
Display job miles (calculated + billable) more prominently on job show
Missing "Show" link on some jobs index views
Reviewed and intentionally not being pursued.
`Class "App\Livewire\User" not found` when loading `/dashboard`
`Unable to create the key` on guest hit to `/`