OK Car Hire — Technical & Commercial Case Study
Summary: In under two months we delivered an enterprise car-rental platform that combines clean architecture, engineering excellence, high performance and AI acceleration, designed for large development houses and consultancies that demand quality, speed and scalability.
🏗️ Stack & key components 🔧
- Frontend: React 18 + TypeScript (strict)
- Build / Dev: Vite (HMR, tree-shaking, minification)
- Styling: Tailwind CSS + PostCSS
- Backend ERP: Odoo 18 via JSON-RPC 2.0
- Design: Figma with hand-off and plugins (VSCode ↔ Figma sync)
- Typed services & contracts:
vehiclesService,categoriesService,helpdeskServiceand DTOs inodoo-contracts.ts - Image optimization: WebP /
OptimizedImage(lazy,srcset,decoding="async") - E2E tests: Playwright with Page Object Model
🔌 Enterprise integration & architecture
Resilient JSON-RPC client handling authentication, errors and CRUD operations over Odoo models (fleet.vehicle, vehicle.rental.agreement, vehicle.rental.category, etc.). For a deeper technical write-up of the backend and delivery process, see: From zero to production in 8 weeks — Building a vehicle rental system with AI co-pilots.
- Togglable mocks with
VITE_USE_MOCKfor offline development and fast iteration. - Decoupled services and strict contracts for maintainability and scalability.
We also automated PR generation and documentation to keep the workflow reproducible.
🤖 AI as a strategic lever (new & highlighted)
AI agents and automations were used to:
- Generate base components and E2E test templates.
- Create realistic test data and mocks.
- Suggest refactors and code optimizations, and generate PRs/documentation automatically.
Result: significant reduction in implementation and review time without compromising technical quality.
⚡ Performance & code optimization (new & highlighted)
- Lazy loading of images and components to reduce initial bundle and improve LCP.
- Code-splitting & dynamic imports to load only what’s necessary per route.
- Tree-shaking and minification with Vite to remove dead code.
- Image optimization (WebP,
srcset, conversions) and attributesloading="lazy"+decoding="async". - Caching & compression: Nginx configured with Gzip,
Cache-Controland expirations for static assets. - Additional practices: selective prefetching, dependency analysis and TTFB/TTI optimizations.
Impact: measurable improvements in load times, interactive experience and reduced hosting/bandwidth costs.
📱 Fully responsive and SEO-friendly (new & highlighted)
- Mobile-first: design and testing across breakpoints for consistent mobile, tablet and desktop experiences.
- SEO-friendly: semantic HTML, optimized meta tags (
title/description), Open Graph and clean URLs; use ofpreconnect/prefetchto improve crawlability and perceived speed.
Combined with performance and accessibility, this improves indexing, CTR and conversion rates.
🧪 Quality & deployment
- Playwright E2E automates critical flows (forms, bookings, multi-step navigation).
- CI/CD friendly: Docker multi-stage builds (Node → Nginx) with healthchecks and security.
- Best practices: code reviews, integrated documentation and linters/TS to reduce technical debt.
💼 Business value for large dev shops and consultancies
- Rapid, repeatable delivery: complex MVPs on aggressive timelines thanks to AI + automation.
- Reduced risk: strict TypeScript and testing reduce regressions and operational costs.
- Enterprise scalability: ERP integrations and modular architecture ready for growth.
- Differentiation in proposals: pixel-perfect design with Figma + team sync, combined with high-performance engineering.
✅ Conclusion
OK Car Hire is an operational blueprint: robust architecture, high-quality standards, optimized performance, SEO and strategic use of AI agents that speed delivery and improve quality. It’s a replicable, scalable solution for enterprise projects seeking speed, maintainability and high business impact.
Interested in applying this approach? See /en/servicios/ai-driven-development or contact us.
Acknowledgements
Special thanks to Omar Díaz and Jancel Moreno. This project would not have been possible without them.