Aurex Motors
A dealership management platform integrating inventory, CRM, service scheduling, and financing workflows into a single system for a multi-location automotive group.
A dealership management platform for a multi-location automotive group. The system replaced four separate tools (inventory management, CRM, service scheduler, and financing calculator) with a single integrated platform.
The platform handles vehicle inventory across five locations, customer relationship tracking, service appointment scheduling with automated reminders, and financing approval workflows. It processes 15,000+ monthly service appointments and tracks 2,000+ vehicles in inventory.
The dealership group operated with four disconnected systems: a legacy inventory system from 2005, a separate CRM for customer data, a scheduling tool for the service department, and spreadsheets for financing. Sales reps had to check three systems to answer a simple customer question. Service appointments were double-booked because the scheduling tool did not sync with inventory.
Evaluated dealership-specific platforms (Dealertrack, CDK Global) but found them expensive, rigid, and poorly integrated with the group's existing workflows. The 6-figure annual licensing cost made custom development economically favourable within an 18-month breakeven window.
Similar to the law firm platform, the domain had moderate complexity (20 entity types) with straightforward CRUD operations. Express provided a simple, maintainable codebase that could be handed off to the client's internal team after launch.
Vehicle inventory search had to be fast — customers browsing the lot expect instant results when filtering by make, model, year, price, and features. We pre-compute searchable vehicle attributes into Redis hashes and search using Redisearch, achieving sub-50ms search responses.
With a single developer and a clear domain boundary, a monolithic Next.js + Express application was the most pragmatic choice. The entire application deploys as two services (frontend + API) on AWS ECS. This kept deployment complexity low while maintaining the ability to split services later if needed.
Vehicle CRUD, image management, inventory search with Redis.
Lead tracking, customer profiles, test drive scheduling.
Appointment booking, automated reminders, service history.
Financing calculator, approval workflow, document generation.
Rollout across five locations, legacy system shutdown.
The manufacturer's inventory API had a rate limit of 60 requests per minute and frequently returned inconsistent data (missing fields, duplicate VINs). We built a caching layer with 5-minute TTL and a reconciliation job that runs every 15 minutes to detect and resolve discrepancies.
15,000+ monthly service appointments processed.
2,000+ vehicles tracked across five locations.
Consolidated four legacy systems into one platform.
Service appointment no-shows reduced by 30% (automated SMS reminders).
The manufacturer API integration should have been abstracted behind a resilient adapter from day one. The inconsistent data from their API caused subtle bugs in inventory counts for the first two months.
I would add a shared customer data layer between the CRM and service modules earlier. The initial design had separate customer tables, which required a merge step when we discovered that the same customer interacted with both sales and service.
Third-party API integrations need defensive coding. Never trust external data — validate, transform, and monitor for regressions.
Monolithic architecture is the right choice for small teams and clear domain boundaries. The cost of microservice complexity is rarely justified at this scale.