Skip to content

Roadmap (open items)

What's not done yet. The platform's Phases 0–4 (usability → data depth → admin/ops → buyer accounts → intelligence) have largely shipped; everything below is either structurally in place but waiting on an external provider/infra, an open product decision, or out of scope for this horizon. Each item names the seam to plug into.

The test & hardening suite (seeding · E2E · integration · load · security) is done — see Testing.

Needs an external provider / credentials

  • NL-search LLM provider — implement the NlSearchProvider interface in apps/mcp-server/src/search/nlSearch.ts (alongside HeuristicNlSearchProvider) and select it by env. Open: EU/CH region, budget, query-retention policy. The heuristic parser is the working fallback today.
  • Transactional email + web-push delivery — implement the Notifier interface in apps/mcp-server/src/notify/notifier.ts (a BrevoSmtpNotifier using the Brevo config in Operations; a VAPID web-push notifier). LogNotifier already runs the saved-search alert pass.
  • Schedule the alert pass — call runSavedSearchAlerts on a cron (or hit POST /v1/admin/run-alerts from the host scheduler). Idempotent via each saved search's lastNotifiedAt high-water mark.

Needs Keycloak / infra config

  • Buyer role + email-verified self-registration — re-enable registrationAllowed with email verification and add a buyer role in keycloak/realm-export.json + the live-realm provisioning script. Buyer endpoints already authenticate via listings:read; no code change needed when the role lands.
  • Off-box backup copy (rclone → object storage) + Tailscale no-SSH access — optional infra upgrades (daily on-box Postgres backups already run).
  • External uptime/alerting + slow-query logging/healthz and /readyz exist; wire an external monitor + Postgres log_min_duration_statement.
  • Final legal copy — Impressum / nDSG privacy / ToS pages are scaffolded with placeholders (apps/webapp/src/components/Legal.tsx); drop in counsel-supplied text.

Webapp UI (backend complete; serves any client today)

  • Moderation views/v1/admin/* is ready; the webapp needs the listings:moderate scope wired into its OIDC client + granted to staff first.
  • Recently-viewed rail on the listing detail (the similar-vehicle rail already ships).

Open product decisions

  • Equipment taxonomy — adopt AutoScout24's ~70-attribute set, or keep our own canonical enums (current)?
  • Prod/staging Postgres — keep the shared instance, or split DBs/roles per env?
  • Legal copy — who supplies Impressum / privacy / ToS text?

Out of scope this horizon (Phase 5+)

Financing/leasing + calculator, valuation, promotion/featured listings, billing/subscriptions, PWA, DMS feed import, instant-offer auctions, integrated vehicle-history reports.

A-Market — AI-first marketplace for cars, motorcycles and scooters.