What we’ve shipped
Every meaningful update to ScriptRun, in reverse order. For the story behind the product, see the About page.
Billing visibility + launch hardening
- Shipped
Accruing overage now visible before the cycle closes
Billing and dashboard now show how many deliveries you’re over your plan limit, and what the upcoming invoice line item will be. No more month-end surprises.
- Shipped
Public About + Changelog pages
Who builds ScriptRun, how it’s funded, and everything we’ve shipped. No more invisible progress.
Pharmacy data controls
- Shipped
Tenant-wide data export (ZIP of CSVs)
Pharmacy admins can download a full export of packages, patients, drivers, routes, and events from Settings → Data.
- Shipped
Account deletion flow
Typed-confirmation soft-delete that revokes access immediately, preserves audit records for the HIPAA retention window, and hard-purges on schedule.
- Shipped
Pharmacy audit log viewer
Admin-only audit page with filters for actor, action, date range, and pagination. Uses the delivery_events log that already backs every tenant action.
Compliance + credibility pages
- Shipped
Public BAA, Trust Center, and Developer Docs
/baa publishes our Business Associate Agreement. /security lists compliance posture, subprocessors, and roadmap. /docs covers the API, signed webhooks, and CSV import spec.
- Shipped
Status page
/status shows real-time component health and 90-day uptime across 8 subsystems — web, API, driver app, SMS, email, database, storage, payments.
- Shipped
Blog
Short, specific posts on FLSA-safe delivery, HIPAA BAA requirements, and why we publish pricing.
TCPA compliance + realtime GPS
- Shipped
SMS opt-out enforcement
Every patient-facing SMS checks the platform-wide opt-out list first. Twilio inbound webhook recognizes STOP, UNSUBSCRIBE, CANCEL, END, QUIT, and REVOKE. Campaigns auto-append STOP footer.
- Shipped
Live driver GPS on the dispatcher map
Driver locations now stream to the web dashboard via Supabase Realtime. Dispatchers see positions update every 10 seconds without refreshing.
- Shipped
Delivery feedback end-to-end
Delivered SMS now includes a Rate-it link. New /dashboard/feedback page shows average rating, 5★/1★ percentages, and recent comments.
Per-driver depots
- Shipped
Driver ↔ pharmacy (depot) assignment
Drivers are now assigned to a default pickup depot. Mobile app fetches the assigned depot, falls back to the tenant’s first pharmacy, then to env.
- Improved
Full pharmacy CRUD on /dashboard/pharmacies
Add, edit, and delete depots with automatic geocoding. Previously read-only.
Overage billing wired to Stripe
- Shipped
Automatic overage invoicing
When you exceed your plan’s delivery cap, Stripe’s invoice.upcoming webhook adds a single idempotent line item to the draft invoice. No double-charges, graceful skips on errors.
- Fixed
Stripe webhook signature verification is now mandatory in production
Both webhook routes fail closed when STRIPE_WEBHOOK_SECRET is unset. Previously optional in prod.
Route optimization upgrade
- Shipped
Mapbox Optimization API replaces OSRM
Faster, more consistent route optimization with real road distances and ETAs. OSRM remains a fallback.
- Improved
SEO basics across the marketing site
Per-page metadata, OpenGraph tags, sitemap.xml, robots.txt.
V2 platform features
- Shipped
Patient CRM
Per-patient timeline, notes, and tags. Tag assignments can filter campaigns and automations.
- Shipped
Config snapshots + templates
Save a tenant’s operational config and apply it to a new tenant in one click.
- Shipped
Workflow / automation builder
Triggers, conditions, and actions for common flows — e.g., auto-SMS on arrival, auto-reassign on shift end.
- Shipped
Usage-based overage billing
Deliveries past your cap are now invoiced, not blocked. No more hard-stops mid-day.
- Shipped
Advanced reporting with CSV export
Pivot-style reports for deliveries, drivers, patients, and copays — all exportable.
- Shipped
Patient campaigns
Draft and send SMS or email campaigns to filtered patient segments. Opt-outs are automatically excluded.
V2: Realtime, analytics, and polish
- Shipped
Analytics dashboard
Six summary cards, trend charts, driver performance table, and copay report.
- Shipped
CSV import/export + bulk ops
Upload a CSV of packages; bulk-edit status, assignment, and priority.
- Shipped
Driver redistribution
Rebalance stops across drivers mid-shift without rebuilding the route.
- Shipped
AI label scanner
Point your phone at a prescription label; Claude reads patient name, address, and Rx details into a draft package.
- Shipped
Driver shifts, geofence auto-arrive, return handling
Clock-in/out tracking, automatic stop-arrival detection when the driver enters the delivery geofence, and workflows for returns and failed deliveries.
- Shipped
Dark mode + mobile-responsive dashboard
The full dispatcher portal is now usable on phones and tablets.
We don’t publish a roadmap — but we do ship fast. Book a demo to see what’s in flight.