Europe-Camions
A European classifieds marketplace for used trucks, tractor units, trailers and commercial vehicles, mostly listed by dealers.
The software here is a search form over a database of listings, and yes, an agent can build that in an afternoon. What it cannot build is the several thousand trucks that dealers actually bothered to upload, which is the entire product. A private clone launches with zero inventory and zero buyers, so it answers no queries and sells no trucks. The only honest personal build is a tracker that sits on top of listings you already found: watchlists, price history, diesel of a spreadsheet with better manners. Useful if you are shopping for one truck, worthless as a replacement.
Build verification: not recorded. How we judge buildability
What you give up
- The inventory: thousands of vehicles from dealers across several countries
- The buyer side, so nothing you list gets seen
- Dealer vetting and the loose trust layer that comes with a known marketplace
- Multilingual reach across French, German, Dutch and Spanish speaking buyers
- Cross referencing by make, axle configuration, euro emission class and body type on real data
Why people still pay
Dealers pay because that is where the buyers already look, and buyers show up because that is where the trucks are. Neither side is paying for the search UI, which is unremarkable, they are paying for the aggregation. Personal software cannot manufacture an audience of fleet buyers in Poland or Spain, so the value never transfers to a self-hosted copy.
Your build guide
The stack, security requirements, and agent rules for a focused replacement.
Before you start
- Node 20 and a terminal
- Listings you enter yourself, or feeds you have permission to fetch
- No account or cloud service needed
Use these project rules and optional skill references alongside the prompt. Review each skill before adding it to your agent; the AGENTS.md export includes the same guidance.
Project rule, data: Model the inputs, state transitions, and outputs named in this heavy truck and trailer classifieds marketplace prompt; keep source IDs and timestamps.
Project rule, behavior: vehicle: id, title, make, model, year, mileage_km, engine_power_hp, axle_config, euro_class, body_type, country, dealer_name, source_url, notes, status (watching | contacted | rejected | bought), created_at.
Project rule, recovery: Add and edit a vehicle by hand, including pasting a source URL. Optional: if a URL is given, fetch the page server side and try to prefill title and price from Open Graph tags and JSON-LD only. If that fails, leave fields blank and say so. Respect robots.txt, honour a 5 second timeout, do not crawl beyond the single URL given.
Implementation plan
Phase 1, architecture and data
Stack, no substitutions: Node 20, TypeScript, Express, better-sqlite3, EJS templates, plain CSS. No React, no ORM, no Docker. Model the inputs, state transitions, and outputs named in this heavy truck and trailer classifieds marketplace prompt; keep source IDs and timestamps.
Phase 2, implement
vehicle: id, title, make, model, year, mileage_km, engine_power_hp, axle_config, euro_class, body_type, country, dealer_name, source_url, notes, status (watching | contacted | rejected | bought), created_at.
Phase 3, implement
price_point: id, vehicle_id, amount_cents, currency, seen_on (date).
Phase 4, review and output
alert_event: id, vehicle_id, kind (price_drop | price_rise | stale), message, created_at, seen (bool). CSV import and export of vehicles so a spreadsheet stays the source of truth if I want.
Phase 5, recovery and acceptance
Add and edit a vehicle by hand, including pasting a source URL. Optional: if a URL is given, fetch the page server side and try to prefill title and price from Open Graph tags and JSON-LD only. If that fails, leave fields blank and say so. Respect robots.txt, honour a 5 second timeout, do not crawl beyond the single URL given. Verify this invariant with a saved fixture: An invalid input or interrupted operation must retain the source and show a recoverable state; exported records must reload with the same IDs. State the practical limit: The inventory: thousands of vehicles from dealers across several countries.
Build a local truck shopping tracker called RigWatch. Single user, runs on my laptop, no accounts, no cloud, no telemetry. Stack, no substitutions: Node 20, TypeScript, Express, better-sqlite3, EJS templates, plain CSS. No React, no ORM, no Docker. Data model in SQLite: - vehicle: id, title, make, model, year, mileage_km, engine_power_hp, axle_config, euro_class, body_type, country, dealer_name, source_url, notes, status (watching | contacted | rejected | bought), created_at - price_point: id, vehicle_id, amount_cents, currency, seen_on (date) - alert_event: id, vehicle_id, kind (price_drop | price_rise | stale), message, created_at, seen (bool) Features, all server rendered: 1. Add and edit a vehicle by hand, including pasting a source URL. Optional: if a URL is given, fetch the page server side and try to prefill title and price from Open Graph tags and JSON-LD only. If that fails, leave fields blank and say so. Respect robots.txt, honour a 5 second timeout, do not crawl beyond the single URL given. 2. Record a new price point for a vehicle at any time. Show a sparkline or a simple bar list of price history plus total change since first seen. 3. List view with filters: make, country, euro class, year range, mileage range, status. Sort by price, mileage, price per 1000 km. 4. Compare view: pick two to four vehicles, render a side by side table of every field plus a computed value score (price divided by remaining useful mileage, with the assumed end of life km configurable in .env). 5. A single command, npm run check, that re-fetches every vehicle with a source_url, records a new price_point when the parsed price differs, writes alert_events for changes and for anything untouched in 30 days, and prints a summary. No background scheduler, no email. 6. CSV import and export of vehicles so a spreadsheet stays the source of truth if I want. Out of scope, do not build: messaging sellers, payments, user auth, public listing pages, scraping search result pages, translation, image hosting beyond storing one image URL string. Config in .env: PORT, DB_PATH, DEFAULT_CURRENCY, END_OF_LIFE_KM. Commit a .env.example, never a .env. Deliver: npm install then npm run dev serving on localhost, a seed script with 8 fake trucks, and a README with the three commands and a one paragraph note that this tracks listings found elsewhere and is not a marketplace.
$ open in your agent (prompt prefilled, you press enter), copy the prompt or copy AGENTS.md · generated from this app's build plan
prompt copied. want to know what dies next week?
new verdicts + top votes, weekly. free. one-click out.
No prior-art project is listed yet. Compare the scoped build with the paid product before choosing.
Questions about Europe-Camions
Can you build your own Europe-Camions with AI?
A full replacement is not the recommended project. The software here is a search form over a database of listings, and yes, an agent can build that in an afternoon. What it cannot build is the several thousand trucks that dealers actually bothered to upload, which is the entire product. A private clone launches with zero inventory and zero buyers, so it answers no queries and sells no trucks. The only honest personal build is a tracker that sits on top of listings you already found: watchlists, price history, diesel of a spreadsheet with better manners. Useful if you are shopping for one truck, worthless as a replacement.
What does the Europe-Camions build prompt cover?
The prompt starts with this scope: A local watchlist app where you record trucks you are considering, track asking price changes over time, compare cost per kilometre and mileage, and get flagged when something you saved moves. Full-product capabilities excluded from the comparison include: The inventory: thousands of vehicles from dealers across several countries; The buyer side, so nothing you list gets seen; Dealer vetting and the loose trust layer that comes with a known marketplace. Follow the implementation plan and its prerequisites before expanding the build.
How do I use the prompt, AGENTS.md and agent skills?
Start with the Europe-Camions prerequisites and stack, then copy the prompt into your coding agent. Save the project rules as AGENTS.md in the project root. Linked skills are optional packages or source instructions for specific tasks; review their current contents and install only those matching the chosen stack. A skill does not supply API credentials or verify the finished app.
How long will this Europe-Camions project take?
The catalogue estimate is one sitting for the limited scope. Setup, integration approvals, debugging, deployment and ongoing maintenance can add time. This is an estimate, not a delivery guarantee.
What would I give up by replacing Europe-Camions?
The inventory: thousands of vehicles from dealers across several countries; The buyer side, so nothing you list gets seen; Dealer vetting and the loose trust layer that comes with a known marketplace; Multilingual reach across French, German, Dutch and Spanish speaking buyers; Cross referencing by make, axle configuration, euro emission class and body type on real data. Dealers pay because that is where the buyers already look, and buyers show up because that is where the trucks are. Neither side is paying for the search UI, which is unremarkable, they are paying for the aggregation. Personal software cannot manufacture an audience of fleet buyers in Poland or Spain, so the value never transfers to a self-hosted copy.
What can I use instead of building Europe-Camions?
No alternative is listed in this entry yet. That is a gap in this catalogue, not proof that no suitable product exists. Compare the paid product and the proposed scope before committing to a build.