
Gallery










The challenge
A GPS tracking platform is two products. Customers log in to a portal to see their vehicles, alerts and scores. The operator needs something else: a place to onboard clients, register and assign trackers, sell and renew subscriptions, bill, watch risk across every customer, and see who changed what. GeoLox runs on Traccar, the open-source GPS server. Traccar handles positions, devices and events well. It doesn't know about clients as paying customers, subscription plans, add-ons, invoices, or a risk score that spans every fleet on the platform. Without a back office, those jobs end up in spreadsheets, the payment provider's dashboard and the raw Traccar web UI.
Architecture
- Trackers → Traccar server. Devices report positions and events to Traccar. - GeoLox Admin (Laravel 12, MySQL, Bootstrap 5) ↔ Traccar. Our Traccar sync keeps the admin's users and devices in step with the Traccar server: every user row shows its sync status, every device carries its Traccar ID, and Settings has a connection check plus user and device sync. - GeoLox Admin ↔ Stripe. Our billing layer links each plan to a Stripe price and tracks Stripe customer IDs in payment history. - Scoring engine and incident extraction. Driving events feed our scoring engine (global, category and per-vehicle scores) and suspicious-event detection, which can be extracted into incident packages. Versioned scoring policies govern how drivers are scored. - Customer portal. GeoLox's client-facing portal (covered in earlier TechMania posts) is the other side of the same platform. We also built the risk-scoring engine behind that portal, so the Risk & Safety scores customers see there come from GeoLox Admin.
Solution
What the operator gets in GeoLox Admin: - Dashboard. Clients, total / online / offline devices, and active, expired, suspended and expiring-soon subscriptions at a glance, with recent alerts and a subscription overview. - Users. Roles (client, super admin), a company per client, per-client device and sub-user limits, account status and Traccar sync status. - Devices. Inventory with CSV import, auto-refresh, filters by status and client, and assignment to a client. Each device page shows category, model, battery, last online and Traccar ID alongside its subscriptions and recent alerts. - Subscriptions. Per-device subscriptions grouped by client, each with a plan, add-ons, status, expiry date and a days-remaining countdown, with actions to view, edit, pause or delete. - Risk Scoring and Incident Extraction as add-ons. Risk features are switched on per device as part of the subscription, so they can be offered as an upgrade. - Plans & Pricing and Payment History (Stripe). Plans with features and a billing cycle, such as a Basic plan at €18/month and an annual plan at €150/year, each linked to a Stripe price. Payment history shows billing cycle, payment method, Stripe customer ID and amount. - Driving Scores (scoring engine). A Risk & Safety dashboard filtered by period, client and vehicle: a global score out of 100, a breakdown for acceleration, braking, speed, fatigue and idling, a daily score trend, and a fleet table with each vehicle's score, risk index, risk multiplier, data confidence and risk level. - Suspicious Events and Incident Packages (incident extraction). Harsh-driving events listed with severity, speed change, time and location, each with an Extract action. Incident packages record the vehicle, period, positions and events of each extraction. - Scoring Policies. Scoring rules kept as versioned policies with an activation date, so a change to how drivers are scored becomes a new version, not an untraceable edit. - Mileage Reports. Monthly mileage per client and device, generated on demand and exported to CSV. - Alerts. Unread, device-offline, low-battery and expired counters, with type and status filters and mark-all-read. - Activity Log. Every admin action (plan updated, device created, user updated) with message, account, IP and time.
Results
- Client onboarding, device assignment and Traccar sync run from one panel instead of the raw Traccar UI. - Risk Scoring and Incident Extraction are per-device add-ons the operator can sell, not hidden features. - Plans, subscriptions and Stripe payment history sit next to the fleet data they bill for. - Driving risk is visible across every client in one view, down to each vehicle's risk index and data confidence. - Changes to scoring rules and admin actions leave a trail: versioned policies and an activity log. Tech stack - Laravel 12 (backend), MySQL (database), Bootstrap 5 (admin UI) - Traccar (open-source GPS tracking server): user and device sync, Traccar IDs, connection check - Stripe: plan prices, customer IDs, payment history - EN language switch and light/dark theme Next step Running a tracking or telematics platform where the back office still lives in spreadsheets and the Traccar web UI? https://techmania.solutions
Related project
GeoLox Admin
Super-admin panel for GeoLox: client onboarding, Traccar device provisioning, subscription lifecycle, alerts, and mileage exports.
View project in portfolio