---
title: "Food Truck & Mobile Concept Platform - French manufacturer (alias MCR)"
description: "Complete redesign of a WordPress site into a modern Next.js 16 + Payload CMS v3 platform for a French food truck manufacturer - 129K lines of code, 78 pages, 1,383 SEO contents, delivered in 41 days."
locale: "en"
canonical: "https://portfolio.josedacosta.net/en/achievements/plateforme-food-truck-concepts-mobiles"
source: "https://portfolio.josedacosta.net/en/achievements/plateforme-food-truck-concepts-mobiles.md"
html_source: "https://portfolio.josedacosta.net/en/achievements/plateforme-food-truck-concepts-mobiles"
author: "José DA COSTA"
date: "2026"
type: "achievement"
slug: "plateforme-food-truck-concepts-mobiles"
tags: ["Next.js 16", "TypeScript", "Payload CMS v3", "PostgreSQL", "Tailwind CSS 4", "Stripe", "Terraform", "GitHub Actions", "4 AI APIs"]
generated_at: "2026-06-02T15:37:40.304Z"
---

# Food Truck & Mobile Concept Platform - French manufacturer (alias MCR)

Complete redesign of a WordPress site into a modern Next.js 16 + Payload CMS v3 platform for a French food truck manufacturer - 129K lines of code, 78 pages, 1,383 SEO contents, delivered in 41 days.

**Date:** February - March 2026  
**Duration:** 41 days  
**Role:** Founder & CTO - Solo Developer  
**Technologies:** Next.js 16, TypeScript, Payload CMS v3, PostgreSQL, Tailwind CSS 4, Stripe, Terraform, GitHub Actions, 4 AI APIs

### Key Metrics

- Lines of Code: **-** - TypeScript (strict mode)
- Pages: **-** - Next.js App Router
- SEO Contents: **-** - Indexable contents
- Database Tables: **-** - Including 46 versioning

## Presentation

_Project definition and scope_

### Domain

Food-service vehicles, B2B events, custom vehicle conversions, mobile concept rentals

### Target Users

B2B: event agencies, brands, food-service professionals - B2C: entrepreneurs starting a mobile food business

### Expertise - Workshops & Skills

- Expertise - Workshops & Skills
- Concepts - Vehicles & Containers
- Realizations - Project Portfolio
- Pre-owned - Marketplace + Stripe
- Rentals - B2B Event Fleet
- Resources - Blog, Guides, Glossary, FAQ
- Contact & Quotes - Multi-step Forms
- Admin - CMS + AI Tools

**Mon Camion Resto** (MCR) is the **complete redesign** of a French company's showcase website, specialized in **designing, manufacturing, and customizing food trucks, trailers, converted containers, and mobile concepts** for the food-service and events industry. The project replaces an outdated WordPress site with a modern application built on Next.js 16 and Payload CMS v3.

The company operates in a niche market at the crossroads of several sectors: vehicle bodywork and conversion, professional food-service, corporate events, and mobile concept rentals. It serves prestigious clients such as Futuroscope, Sodexo, IKEA, France TV, Elior, Charal, and Ralph Lauren, with 3 physical agencies across France (Bordeaux, Paris, Metz).

A significant part of the project involved developing **numerous custom Payload CMS extensions** - particularly tools dedicated to **AI-powered content generation** (articles, product descriptions, image creation) using 4 integrated AI providers. This custom development work on the CMS layer proved to be one of the most technically enriching aspects of the project.

### Functional Scope

## Objectives, Context, Stakes & Risks

_Strategic vision and constraints_

### Context

The existing WordPress site suffered from **broken navigation, poor SEO, outdated visuals**, and generic contact forms. The company was transitioning from "Mon Camion Resto" to the "MCR" acronym while managing **6 domains** (moncamionresto.com/fr, labeglaise.fr, location-foodtruck.fr, food-trucks.fr, mountain-egg.com). A database migration from WordPress (42 existing articles) was also required.

### SEO Visibility

The website is the primary acquisition channel - the redesign must maintain or improve existing rankings while massively creating new content

### Lead Conversion

Quote and contact forms are the commercial backbone - every lead must be correctly routed to the right agency (Bordeaux, Paris, Metz)

### Brand Image

The company works with clients like IKEA, France TV, and Ralph Lauren - the site must reflect this level of quality

### SEO Migration Risk

Potential loss of search rankings during migration - mitigated by implementing redirections and preserving legacy URLs via Nginx.

### AI Content Quality

Massive volume of AI-generated content (664 guides, 471 terms) requiring human verification - a status system was implemented (not-verified, ai-verified, human-verified).

### Infrastructure Constraints

Hosting on a single OVH VPS with 3 environments, limited to 8 GB RAM for the entire stack.

### Multi-API Complexity

Integration of 4 different AI APIs with varying billing models and rate limits.

### Objectives

- Completely redesign the WordPress site into a modern stack (Next.js + Payload CMS) with autonomous content management
- Multiply SEO visibility through a massive content strategy: 112 blog articles, 664 guides, 471 glossary terms
- Professionalize brand image with a cohesive design system (shadcn/ui, 59 components) and quality visuals
- Automate content generation via 4 AI APIs integration
- Structure the sales funnel with multi-step quote forms routed by agency and Stripe checkout for pre-owned vehicles
- Industrialize deployment with complete CI/CD infrastructure (GitHub Actions, Terraform, OVH VPS, 3 environments)

### Business Stakes

### Identified Risks

## The Steps - What I Did

_Chronological phases and personal contributions_

### Foundations (Feb 10-12)

- I arbitrated the stack for a Next.js 16 + Payload CMS v3 monolith: zero CMS-to-front latency, reduced attack surface, a single typed model
- I modeled the CMS domain as 15 collections + 24 content blocks, isolating structuring entities from compositional blocks
- On the DB side, I laid down a PostgreSQL schema typed through Drizzle ORM, anticipating SEO constraints upfront (canonical URLs, versioning, verification)
- I locked down the dev foundation: TypeScript strict + noUncheckedIndexedAccess, Docker Compose for dev/prod parity, deterministic seed CLI

### Content & SEO (Feb 14-27)

- I industrialized a design system of 24 content blocks as Server Components: LCP under the Core Web Vitals target, free composition for the marketing team
- On the SEO side, I delivered semantic coverage (articles, guides, glossary, FAQ) with canonical URLs, auto-generated internal linking and calibrated ISR at 1,383 contents scale
- I built a multi-provider AI abstraction layer (4 APIs): fallback, circuit breaker, quota tracking
- I modeled an editorial verification workflow (not-verified → ai-verified → human-verified) to trace governance
- On the back-office side, I extended Payload CMS: custom Lexical fields, AI plugins (generation, rewrite, translation) via Server Actions, granular permissions

### Infrastructure & Migration (Mar 2-9)

- I codified DNS management for 6 domains in Terraform (OVH provider): reusable modules, encrypted remote state, zero-downtime cutover, rollback ready
- On the WordPress migration, I wrote an idempotent importer: 42 articles normalized, 301 redirects and a permalink mapping to preserve SEO authority
- I designed a 4-level information architecture for B2B exploration: server-rendered breadcrumbs, schema.org, 24 rental/event pages templated
- Across 3 environments (test, staging, prod), I scripted environment promotion with health checks, interactive confirmations and auditable logging

### CI/CD & Production (Mar 12-22)

- I assembled a GitHub Actions pipeline in 5 jobs (lint, typecheck, build, tests, deploy) with remote cache and gated auto-deploy: lead time under 8 min
- On observability, I instrumented GA4 + GTM with an event schema aligned with business KPIs (product views, quotes, marketplace funnels)
- For the pre-owned marketplace, I integrated Stripe Checkout: signed webhooks, idempotent payments, server-side reconciliation, isolated blast radius
- I secured contact and quote forms with server-side Turnstile, per-IP rate limiting and honeypots - without CAPTCHA friction
- On the visual side, I built an AI product-image pipeline: manual validation, static fallback, WebP/AVIF post-processing at canonical dimensions

Project timeline

## Actors & Interactions

_How I collaborated with the stakeholders and orchestrated AI_

### Development Team

### External stakeholders I interacted with

- Pierre-Olivier P. - My main counterpart - company owner and CMS admin, with whom I framed the requirements and validated each release
- Geoffroy - I engaged with him on the sales side for the Bordeaux agency
- Stripe - I integrated their checkout for marketplace payments
- Cloudflare - I relied on Turnstile for anti-spam
- AI providers - I orchestrated them in multi-provider mode for content and image generation
- OVH - I operated their VPS, SMTP and DNS resolution day in, day out

**Important nuance**: while AI generated ~75% of code volume (mega-commits >10K insertions = 79% of total), I carried ~70% of the project's intellectual output - I made every architectural decision, every technical stack choice, the data modeling (15 collections, 133 tables), the infrastructure design, the SEO strategy, the client relationship, the prompt engineering and the final validation.

### Code Volume Distribution (Lines Produced)

### Intellectual & Decision-Making Value

## Results

_Impact for myself and for the company_

### SEO Content Distribution (1,383 Contents)

### Technical skills I gained through this project

- **Next.js 16 + Payload CMS v3**: I shipped a full-stack application at production scale (129K lines)
- **Custom Payload CMS extensions**: I developed dedicated tools for AI-driven content generation
- **PostgreSQL modeling**: I designed a 133-table schema driven through Drizzle ORM
- **Multi-provider AI integration**: I plugged and orchestrated 4 APIs from different vendors
- **Terraform IaC**: I codified DNS management across 6 domains
- **CI/CD**: I built the GitHub Actions pipeline with 5 jobs covering 3 environments
- **SEO architecture**: I structured 1,383 indexable contents with ISR rendering

### Functional & human skills strengthened through this project

- I translated client voice recordings into executable specifications
- On the content side, I defined the SEO strategy and internal linking
- I drove AI-assisted development and refined the prompt engineering
- Finally, I ran end-to-end project management solo, from analysis to final delivery. This project changed the way I work: I now combine AI and human decisions from day one, sustaining x3-x4 velocities while keeping full ownership of the architecture.

- 1,383 - SEO contents - Indexable pages created (vs. 42 on WordPress)
- 78 - Pages - Complete site with 7 layouts and 4-level navigation
- 15 - CMS collections - Autonomous content management via Payload CMS admin
- 3 - Environments - Test (auto-deploy), Staging, Production

### Codebase Metrics

### WordPress vs Next.js+Payload CMS

### Design System Composition (203 Components)

### Development Velocity (Commits per Week)

### For Me - Skills I gained and reinforced through this project

### For the Company - Business Impact

### CMS Content Volume by Collection

## Project Aftermath

_What happened after delivery and current state_

**Immediate Future**: The platform was deployed to a production environment (production.moncamionresto.com) with two additional environments (test, staging). The test environment is auto-deployed on every push to main via GitHub Actions CI/CD. The CMS admin is accessible and operational for the team.

**Medium-Term**: The site is live under a temporary subdomain while the final DNS migration from the old WordPress site is pending. The massive SEO content (1,383 items) needs progressive human verification - the verification status system (not-verified / ai-verified / human-verified) is already in place. Business-critical collections (realizations, pre-owned vehicles, rental fleet) are structured and ready to be populated with real data.

**Current State**: The platform represents a **33x increase in indexable content** compared to the original WordPress site (1,383 vs. 42 items). The infrastructure is production-ready with SSL, automated backups, CI/CD, and monitoring. The n8n automation platform is deployed for workflow automation.

## My Critical Perspective

_How I judge this project with hindsight_

### Strengths

- Exceptional development velocity - With hindsight, I remain stunned by the velocity - 3,000+ lines/day sustained over 6 weeks, a productivity multiplier of x3-x4 I held through AI-assisted dev.
- Modern and coherent tech stack - I stand behind the architectural call: I committed to a full-stack monolith with CMS embedded in Next.js and end-to-end TypeScript typing.
- Ambitious SEO strategy, well executed - I pushed the strategy far: dense internal linking across guides, articles and glossary to saturate topical coverage.
- Professional infrastructure - On the infrastructure side, I delivered an industrial pipeline: IaC, robust scripts, safety confirmations before production.
- Complete design system - With my 24 content block types, I gave the marketing team real composition freedom without ever breaking visual consistency.

### Areas for Improvement

- Insufficient test coverage - I only produced 8 test files for 129K lines. Critical API routes (contact, quotes, Stripe) deserve better - I identify this clearly as my weak spot.
- No semantic versioning - I did not set up any git tags or releases - with hindsight, I regret this gap that makes it hard to trace the versions deployed in production.

### What I Would Do Differently

With today's standards and hindsight, here are the choices I would make differently:
- **Content strategy in batches**: rather than generating 664 guides at once, I would validate by batches to guarantee quality
- **Feature flags**: I would roll out progressively to production rather than all-or-nothing

### The lasting lessons this project brought me

- AI as a force multiplier - I take away that AI absorbs the volume, but the human - me in this case - must keep control of architecture and structural decisions.
- Integrated headless CMS > decoupled CMS - I experienced that at this scale, CMS inside the app beats decoupled: less latency, one deploy, one typed model.
- Infrastructure as Code from day 1 - I take away that DNS, deploy and environments must be coded from day one - the effort pays off from the very first change to push.
- SEO content is a strategic asset - I measured that each new indexable content durably widens the organic acquisition surface - it is an asset that keeps working over time.

## Skills applied

_Technical and soft skills applied_

- **[Project Piloting & Agile Methodologies](https://portfolio.josedacosta.net/en/skills/project-piloting-agile.md)** - Delivered the entire platform in 41 days solo - from voice-recording briefs to production, with client follow-up, prioritisation and scope control
- **[Problem Solving & Adaptability](https://portfolio.josedacosta.net/en/skills/problem-solving-adaptability.md)** - Pioneered AI-assisted development at production scale - x3 to x4 productivity multiplier sustained over 41 days, first full solo mobilisation of this workflow
- **[Software & System Architecture](https://portfolio.josedacosta.net/en/skills/system-architecture-design.md)** - Designed the monolithic full-stack architecture: Next.js App Router + Payload CMS v3 + PostgreSQL, 15 collections, 24 content blocks - every structural decision owned end-to-end
- **[Fullstack Development](https://portfolio.josedacosta.net/en/skills/fullstack-development.md)** - Shipped 129K lines across frontend, backend, admin, CMS extensions and AI tooling - 78 pages, 54 API endpoints, 133 database tables
- **[DevOps, Cloud & Production Industrialization](https://portfolio.josedacosta.net/en/skills/devops-cloud-production.md)** - Built an industrial-grade GitHub Actions pipeline (5 jobs), Terraform DNS for 6 domains, PM2 across 3 environments with safety confirmations before production
- **[Data, AI & Machine Learning](https://portfolio.josedacosta.net/en/skills/data-ai-machine-learning.md)** - Shaped a 133-table PostgreSQL schema through Payload CMS collections and Drizzle ORM, including 46 versioning tables

## Related journey

_Professional experience linked to this achievement_

- **ACCENSEO - CTO & Founder** - IT consulting and software company providing comprehensive services: custom software development, system integration, cloud infrastructure, database hosting, and technical advisory. Helping SMEs and mid-cap companies transform their IT systems into competitive advantages.

## Image gallery

_Project screenshots and visuals_

## Need a tailor-made React platform?

I design Next.js + React platforms with a fully custom CMS and AI-powered content generation tooling (articles, product descriptions, images) wired straight into your back-office. Let’s talk about your project.

**Contact me**
