Intelligent Carrier Matching
- Location (0-30p): Service area and route corridor
- Capacity (0-25p): Ample/good/limited
- Service (0-20p): Express, heavy, hazmat, refrigerated
- Rating (0-15p): Stars, experience, verification
- Price (0-10p): Budget utilization
- Min. 40 point cutoff · 15 parallel scorings
Carrier Marketplace PRO+
- 5 views: Discover, Map, Analytics, Compare, Saved
- Favorites, proximity matching, saved searches
- PostgreSQL FTS with relevance scoring
- Carrier profile: specialization, insurance, pricing config
- Quote request to multiple carriers
Marketplace Intelligence ADMIN
Temperatur
bids/job × fill_rate / time_to_first_bid
Match Efficiency
Final matches / candidates. 48-cyklus rolling.
Carrier Liquidity
Active carriers / active jobs. Healthy ≥ 2.0
Utilization
Carriers with matches / active. Target > 50%
Korridorprofit
Rute-specifikke margins og volumener
Bid Velocity
Time from job to first bid
Demand Heatmap
Geographic demand, cell-based analysis
Win-Rate
Accepted / placed bids per carrier
Fleet Management
- Registration, VIN, make, model, Euro class
- Capacity: weight, volume, dimensions, axles
- ADR hazmat certification, compliance expiry
- 5 statuses: Active, Inactive, Maintenance, Repair, Sold
Real-Time GPS & Geofencing
- Live position via SignalR (1 sec throttle)
- Admin control room with live map
- Geofence: pickup, delivery, restricted
- GeoJSON polygons, ray-casting detection
- Entry/exit events with auto-alerts
Route Optimization PRO+
- Multi-stop, cost or time optimization
- Cost breakdown: fuel, driver, tolls
- ETA: traffic (+15% rush hour), vehicle type
- Multi-job: up to 20 jobs per route
- HERE Maps + Haversine fallback
Vehicle Lookup — License Plate & VIN
MotorAPI.dk (Denmark)
- Lookup via license plate or VIN (ISO 3779)
- 20+ fields: make, model, Euro class, GVW
- Polly circuit breaker, Redis 24h cache
Global Readiness
- VIN er international (ISO 3779) — virker globalt
- Normaliseret output, provider-agnostisk resilience
- Udvidelse: GIBDD (RU), KBA (DE), eNaTIS (ZA), NHTSA (US)
AI Computer Vision
Driver photographs cargo. llama3.2-vision:11b analyzes:
- Volume estimation from photo
- Weight assessment per cargo category
- Cargo classification (type, condition)
- 100% local — zero data to cloud
ENTERPRISE
Intelligent Matching
100-point scoring i 5 dimensioner:
- Geospatial Proximity (30p)
- Kapacitetsanalyse (25p)
- Specialiseringsmatch (20p)
- Rating & Erfaring (15p)
- Prisoptimering (10p)
Predictive Analytics
- ETA Prediction — traffic, weather, vehicle
- Fuel Forecast — Brent/WTI → DKK
- Demand Heatmap — geographic forecast
- Marketplace Temperature
- Corridor Profitability
Komplet AI/ML Capability Map
1. Computer Vision
Godsanalyse, Ollama lokal
2. Multi-Faktor Matching
100p scoring, parallel
3. Route Corridor
Geografisk korridormatch
4. Candidate Reduction
Pre-filtrering
5. ETA Prediction
Traffic, weather, vehicle
6. Cost Optimization
Fuel, driver, CO2
7. Demand Heatmap
Cellebaseret analyse
8. Fuel Forecast
Brent/WTI prognose
9. Behavioral Analysis
Cold/Warm/Hot konvertering
10. A/B Experiments
Upgrade prompt-varianter
11. Marketplace Intel
8 health metrics
12. GreenScore
11 vehicle types × CO2
13. Proximity Match
Geo-proximity, capacity
14. Full-Text Search
FTS, relevansscore
15. Anomaly Detection
Misbrug-detektion
16. Geofence Detection
Ray-casting realtid
All AI runs locally via Ollama. No data sent to OpenAI, Google or other cloud services. Full data control, EU compliance, zero vendor lock-in.
Hetzner Dedicated Server — Faktisk Hardware
64 GB
RAM
AMD Ryzen 5 3600 · 55 GB ledig
12
CPU Threads
6-Core @ 3.6 GHz
464 GB
NVMe SSD
291 GB ledig (35% brugt)
Current Usage vs. Capacity
| Container | RAM Allokeret | RAM Brugt | Udnyttelse |
| Backend (prod) | 8 GB | 249 MB | 3% |
| Frontend (prod) | 4 GB | 107 MB | 3% |
| PostgreSQL | 8 GB | 252 MB | 3% |
| PostgreSQL Replica | 4 GB | 53 MB | 1% |
| PgBouncer | 256 MB | 3 MB | 1% |
| Redis | 1 GB | 10 MB | 1% |
| Supabase GoTrue | 2 GB | 20 MB | 1% |
| Supabase PostgREST | 2 GB | 171 MB | 8% |
| Kong API Gateway | 2 GB | 1.2 GB | 60% |
| Prometheus | 2 GB | 158 MB | 8% |
| Grafana | 1 GB | 111 MB | 11% |
| Loki + Tempo | 4 GB | 119 MB | 3% |
| Fuel Scraper | 1 GB | 113 MB | 11% |
| Staging (backend+frontend) | 6 GB | 269 MB | 4% |
| Total allokeret | ~46 GB af 64 GB | ~4% gns. |
Opskaleringsmuligheder
Vertical Scaling (Current Server)
- 55 GB RAM available — backend can scale from 8→32 GB without hardware change
- 291 GB disk ledig — plads til yderligere databaser og logs
- Gennemsnitlig container-udnyttelse: ~4% — massiv headroom
- Hetzner AX41-NVMe kan opgraderes til 128 GB RAM
- Backend container uses 249 MB of 8 GB — can handle 10-20x current load
- PostgreSQL uses 252 MB of 8 GB — ready for millions of rows
- Redis uses 10 MB of 1 GB — 99% capacity available
Horisontal Skalering (Fremtidig)
- Docker Swarm / Kubernetes — containere kan replikeres
- PostgreSQL read replicas — already configured (replica running)
- PgBouncer connection pooling — allerede aktiv
- Redis cluster — kan opgraderes fra standalone
- CDN / Cloudflare — frontend allerede CDN-klar (static export)
- Flere Hetzner servere — Tailscale VPN til cluster
- Load balancer — Caddy supports upstream balancing
Application-Level Limits (Code)
Kestrel Server
- Max forbindelser: 1.000
- Max brugere: 10.000
- Max req/s: 1.000
- Thread pool: 50–500
- Emergency throttle: 95%
Database Pools
- DB pool: 2–50 conn.
- Observability pool: 2–20
- Redis: 1 GB max (LRU)
- Timeout: 30s std, 300s GDPR
All Limits Are Configurable
- Kestrel: via appsettings.json
- DB pool: via connection string
- Rate limits: via Redis config
- Docker: via compose limits
- Zero code changes for scaling
1.677 Tests
1.133
Backend Unit
50 filer · xUnit
506
E2E Playwright
52 filer · 14 kat.
20
Integration
Auth, Search, Stripe
22 Background Jobs
Real-Time (5–15 min)
- Bid velocity: 5 min
- Job escalation: 5 min
- Dashboard refresh: 5 min
- Marketplace temp.: 10 min
- Match efficiency: 10 min
- GreenScore: 15 min
Periodic (30 min–24h)
- Carrier liquidity: 30 min
- Demand heatmap: 30 min
- Session cleanup: 1 hour
- Credit top-up: daily 03:00 UTC
- GDPR cleanup: daily
Public Pages

Landing PageMarketing site with pricing and features

AuthenticationGlassmorphism design with gradient CTA
Administrator — Core

DashboardKPIs, charts, volume, user distribution

Platform Analytics248 jobs, DKK 4.5M value, performance metrics

Transport Jobs530 jobs, DKK 8M total value, status filtering

Bid AdministrationTotal bids, value, acceptance/rejection rates
Administrator — User Management

User Management24 users, 4 roles, CRUD, export

User VerificationPending registrations, approval workflow

Audit LogsImmutable activity trail and compliance
Administrator — Finance & Fees

Payments & BillingDKK 9,700 revenue, fee per transaction

Invoice ManagementDKK 16,500, tax, status, PDF export

Fee ManagementCarrier 5%, FF 3%, Driver 2%, calculator

Credit AdministrationPer-user credit balance management

Subscription ManagementMRR, tier distribution, Stripe integration

Fee DashboardFee overview from admin dashboard
Administrator — System

System Settings9 tabs: settings, fees, notifications, health

SustainabilityCO2 tracking and GreenScore overview
Carrier Role

Carrier Dashboard487 transports, fuel prices, Brent/WTI

Fleet ManagementScania R 500, MAN TGX, ADR certified, APK/insurance

Driver ManagementAssign drivers to vehicles and tasks

Carrier AnalyticsPerformance, distance, earnings
Driver Role

Driver DashboardActive task with complete delivery flow

GPS NavigationFullscreen cockpit with live map and route

Driver TasksTask list with status and actions
Freight Forwarder Role

FF Dashboard34 jobs, Black Channel transport, DKK budgets
Feature Gating & Subscription

Feature Gating — BidsLocked overlay: Required Starter to access

Feature Gating — RoutesLocked overlay: Required Pro with blur effect

Feature Gating — MarketplaceLocked overlay: Required Pro with blur effect
Profile

User ProfilePersonal info, documents, subscription tabs