Every tool. Every map. Every byte.
A full inventory of what INSTATuner ships today. Not a marketing roadmap — every line below is implemented and live in production.
AI File Editor
The headline feature. Browser-based map editor with everything desktop tools have, plus AI on top.
-
Categorised map browser
Maps grouped by torque / boost / injection / lambda / EGR / limiter / timing — collapsible tree.
-
Cell grid editor
Click cells to select, then STEP ±100/±10/±1, MULTIPLY × factor, SET ABSOLUTE, ADD CUSTOM, RESET TO STOCK.
-
Multi-undo (50 levels)
Survives page reload. Drafts auto-save. Ctrl+Z / Ctrl+Shift+Z keyboard shortcuts.
-
Hex viewer with Go + Find
Jump to any address; pattern search across the BIN.
-
DTC editor
Sortable table of detected fault codes, on/off toggles, locked-codes for stage tunes, custom code input.
-
AI map suggestions
Curated deltas per ECU family + map category, with risk classification (safe/moderate/aggressive) and confidence score.
-
Per-map tutorial overlay
Short safe-envelope guidance keyed by category — boost limits, smoke caps, IQ ceilings, SOI safe range.
-
Drafts persistence
Every modification stored as JSON in editor_drafts, scoped per (user, job, map_key).
-
Right-click context menu
13 cell-level actions: copy as TSV, multiply, set, reset, etc.
-
Command palette (Ctrl+K)
17 commands across File / Edit / Mode / View groups.
-
Encoding override bar
LE/BE × u8/u16/u32/i8/i16/i32/f32 × scale factor — manual override when DAMOS is wrong.
-
Real BIN export
EcuEditorService.generateTunedBin() walks every saved draft and writes raw bytes at the address declared by the map. Bosch checksum recompute included.
-
.tune sidecar export
JSON describing every modification (map, cells, deltas, risk) for inspection or external flashing tools.
A/B Compare
Diff two BINs byte-by-byte with risk score, byte-level heatmap, and dyno overlay.
-
Three pickers for slot B
From My Tunes (your uploads), Search Library (central catalog), or fresh upload.
-
Risk score 0-100
Aggregate risk based on bytes changed × map category × delta percentage.
-
Byte-level heatmap
64 blocks × 16 KB per block, colour-coded by change density.
-
Per-region delta table
Bytes changed, maps affected, regions touched, plain-English summary.
-
Dyno overlay
Side-by-side HP/Nm curves overlaid for visual diff of power output.
-
Swap A / B
One-click flip baseline and candidate.
-
Export PDF
Browser print of the entire diff for client reports.
-
Copy as JSON
Clipboard with sha A/B + diff structure for sharing.
Dyno-sheet Generator
Print-ready customer-facing PDFs with HP/Nm curves, branded with the shop name.
-
Auto mode
Pulls vehicle, engine code, stock HP/Nm, ECU family, SW/HW from the file in memory. One-click "Fill typical gains" applies conservative diesel/petrol Stage 1/2/3 deltas.
-
Manual mode (standalone)
Empty form for walk-in customers. Type customer name, car, engine, power numbers — generates the same sheet without a BIN.
-
Live SVG dyno chart
250-rpm grid, diesel/turbo/NA curve shaping (plateau character respected per fuel type), peak markers.
-
Per-stage table
Stock + Stage 1/2/3 with HP gain, Nm gain, peak rpm.
-
Copy buttons (TunerSuite-style)
Per-stage clipboard snippets ready for WhatsApp / email / invoice.
-
Printable A4 view
Browser-print or Save-as-PDF, branded with shop name.
-
Sheet-ID watermark
Each generated sheet gets a unique DS-XXXXXX reference for re-issue.
Library + ECU Detection
Drop a BIN. We hash it, identify it, and show every published Stage already available.
-
4-pass match cascade
SHA exact → HW+SW lookup → catalog fuzzy → catalog HW-only → engine-code resolution → local seed.
-
EDC15 deep analyzer
Full PHP analyzer on central: detector cascade, map locator, Bosch checksum recompute, 11 features (popcorn / launch / hardcut / NLS / EGR off / DTC off etc.), 12 tuning DTCs. 7 tests / 57 assertions passing.
-
Cross-user dedup
Same BIN uploaded by N users = ONE physical file. SHA-256 fingerprint indexed in bin_fingerprints table.
-
11,500+ vehicles · 2,300+ ECUs
Hierarchical catalog: VehicleMake → VehicleModel → VehicleGeneration → VehicleEngine → EcuType.
-
Bosch family coverage
EDC15 / EDC16 / EDC17, MED9 / MED17, ME7, MEV / MEVD, Continental SID 208/807, Delphi DCM, Denso.
-
Live results table
Click any row → file detail. Tooltip + keyboard navigation + focus ring.
-
URL-bound search filters
Search query persists in URL — bookmark it, share it, link to it.
-
Catalog breakdowns clickable
Top ECUs / brands / vehicles on dashboard → click to filter library.
Account + Stats
Real account data, refreshed on every login, surfaced as 6 cards + 30-day chart.
-
License card
Plan label, days remaining or ∞ for lifetime, expiry date or Upgrade CTA.
-
Uploads (today/7d/30d/lifetime)
Real numbers from file_uploads. Match rate + bytes processed.
-
Downloads (today/7d/30d/lifetime)
Aggregated from audit_log: file.download + editor.export.bin + editor.export.tune + dyno.print.
-
Editor activity
Today/7d/lifetime mutations + saved drafts count. Direct CTA to /editor.
-
Devices card
Confirmed/cap (2 max), pending devices chip, last-seen timestamp.
-
Quota card
Auto-match runs used vs cap, progress bar, monthly reset, ∞ for VIP.
-
30-day uploads area chart
Gradient orange, baseline grid, day markers.
-
Top ECUs / brands / vehicles
Aggregated from match_payload, top 8 ECU families + 5 brands + 5 vehicles, all clickable.
-
7-day sparklines
Inline mini-charts on the original 4-card stat strip.
UX + Polish
The system everyone forgets to build. Every button has feedback. Every action is discoverable.
-
Onboarding tour (5 steps)
Auto-fires on first dashboard visit. Skip / Esc / Replay anytime.
-
Per-page mini tutorials
7 surfaces have 3-5 step contextual tours. Auto-fire on first visit per page; replay from any time.
-
Action System
Every wire:click button auto-receives spinner + disable + busy-cursor while in flight. Zero markup needed in blades.
-
Top page-progress bar
Orange gradient, 5 ticks, fires on Livewire navigation + form submit + plain anchor click.
-
Toast queue
window.toast.ok() / .info() / .warn() / .error() — slide-in spring animation, click to dismiss.
-
Tooltips (4 positions)
data-tooltip attribute, hover delay, disabled on touch.
-
Skeleton + shimmer
For async data loads. Cards, rows, circles, custom heights.
-
Scroll reveal
IntersectionObserver-driven fade+translate entrance. prefers-reduced-motion respected.
-
8 animated SVG empty states
dropzone, library, editor, compare, dyno, search, devices, error.
-
Cookie banner
Slide-up bottom, essential-only notice, dismiss persists in localStorage.
-
Replay tutorial button
Icon-? in navbar restarts the current page tour.
-
Reset all tutorials
Settings → Subscription → reset button clears all localStorage flags.
-
Mobile-responsive
Tables collapse to cards <768px. Tap targets ≥36px on touch. Stat strip 4→2→1 columns.
-
z-index scale
6-token system: dropdown / sticky / fixed / modal-backdrop / modal / popover / tooltip / toast.
-
Focus rings everywhere
2px orange-accent outline on every interactive element. Keyboard navigation works end-to-end.
Auth + Billing + Subscriptions
Single sign-on with WordPress, HMAC-signed, refreshed on every login.
-
WP-SSO via ts-instatuner-hub plugin
HMAC-signed credential verification, IP whitelist, replay protection (5-min skew window, UUID nonces).
-
Subscription auto-sync
LoginController.syncSubscriptionFromSsoPayload materializes Subscription row on every login. No back-fill jobs needed.
-
Webhook dispatcher
WC order_status_completed → POST /api/v1/internal/subscription on Laravel side. HMAC-signed, IP-whitelisted.
-
Tier resolution chain
wp_usermeta._instatuner_tier → product postmeta → filter hooks. 54 buyers backfilled (45 standard + 9 premium).
-
2-device cap per account
Browser fingerprint hash + email confirmation flow. Auto-revoke after 60 days inactive.
-
Settings: Subscription tab
Plan info, days left, Upgrade tier deep-link, Manage on WC, Cancel auto-renewal, Reset all tutorials, Billing contact.
-
NO REFUND policy
EU Consumer Rights Directive Art. 16(m) cooling-off waiver structure + 4 narrow exceptions (duplicate / provisioning / unauthorised / 72h+ outage).
Operations + Trust
Backups, monitoring, audit, GDPR — the operational primitives.
-
Daily MySQL backup cron
03:30 UTC, atomic gzip, 30-day retention, /var/www/_backups/db/
-
Audit log (everything)
Login attempts, uploads, downloads, edits, settings changes, security events. Tied to user_id, IP, timestamp.
-
Page view telemetry
URL, status, response time, IP, UA — 90-day retention then aggregated.
-
Reason banner queue
Every block / skip / limit / failure surfaces a severity-tagged banner via ReasonBus.
-
Security middleware stack
SecurityWatchdog (bruteforce + UA + IP burst + IP-change), TrackDeviceSession (2-cap + email-confirm), SecurityHeaders (HSTS/CSP/X-Frame).
-
Rate limiting
Login (10/min, 5-fail lockout 15min), file detail, manual search.
-
Pre-bilingual UI
11 locales × 1254 keys = 13,794 strings translated. EN, RO, DE, FR, IT, ES, NL, PL, PT, RU, TR.
-
Schema.org JSON-LD
Organization + SoftwareApplication + FAQPage in <head>. Google Rich Results-ready.
-
Custom error pages
404, 403, 419, 429, 500, 503 — branded chrome, animated SVG, request-ID, support email.
-
HTTPS A-grade
Let's Encrypt, auto-renew, HSTS preload-ready.