Transport Jobs
- 3 transport modes: Road, Air, Sea
- 6 job statuses: Open → Assigned → InProgress → Delivered → Completed (+Cancelled)
- 5 cargo types: Standard, Refrigerated, Hazmat, Fragile, Oversized
- Geocoding and address normalization
- Optimistic concurrency (row_version)
Bids & Negotiation
- Real-time bid notifications via SignalR
- Counter offers: send → accepted/rejected
- DB constraint: only one accepted bid per job
- Bid status: Pending → Accepted/Rejected
- Expiration date and rejection reason
Tasks & Proof of Delivery
- 7 task statuses with rollback support
- Proof of Delivery: photos + digital signature
- Role-based state validation
- State machine with rollback
Freight Leads
- Funnel: Viewed → Accepted → Converted
- Auto fee calculation on conversion
- Conversion rates and billing ledger
17 Document Types
- Including CMR (international consignment note)
- PDF, JPEG, PNG, Word, Excel, ZIP
- Approval flow: pending → approved/rejected
- Max 100 MB, RLS-enforced
Reviews & Ratings
- 1-5 stars + 3 categories
- Moderation: pending → approved/rejected/flagged
- One review per job, duplicate protection
Aviation — Air Transport ENTERPRISE
Aircraft Registry & Catalog
- Registration, model, capacity (kg), range (km)
- 5 seeded types: Cessna 206H, 208B Caravan, Piper PA-32, King Air 200, Pilatus PC-12
- CG envelope (JSONB), cargo stations, fuel burn rates
- Pilot licenses and certificates
Flight Management
- ICAO origin/destination, cargo weight, flight number
- State machine: scheduled → preflight → boarding → in_flight → landed → completed
- CoPilot assignment with accept/decline workflow
- SignalR real-time status broadcast
Air Freight Marketplace
- Dedicated pilot marketplace for air cargo jobs
- Forwarder ↔ pilot matching
- Flight map with great-circle route visualization
Pre-Flight Intelligence
METAR/TAF Weather Briefing
- Official NOAA/FAA data via AviationWeather.gov
- METAR (current) + TAF (forecast) per airport
- Flight category badges: VFR/MVFR/IFR/LIFR
- Wind, visibility, icing alerts
- Redis cache (60 min TTL)
Weight & Balance Calculator
- Select aircraft from catalog
- Input fuel, cargo weight + position, crew
- CG calculation with envelope interpolation
- Visual go/no-go indicator
- Copilot has WRITE access
Fuel Planning
- Distance × fuel burn rate = estimated consumption
- VFR reserve (30 min) / IFR reserve (45 min)
- Total needed vs on board → go/no-go
- Range circle on MapLibre map
Crew Workflow
Pre-Flight Checklist
- Configurable per aircraft type (JSON templates)
- Touch-friendly 48px checkboxes
- Dual sign-off: copilot executes → pilot approves
- Progress bar with item counter
Cargo Manifest
- Copilot owns manifest: add cargo, position, weight
- Real-time W&B update on cargo changes
- Status: draft → locked → pilot-signed
- Chain of custody tracking
Position & Map
- "I am here" GPS button (56px touch target)
- SignalR broadcast to copilot/dispatcher
- Terrain hillshade (AWS SRTM tiles)
- Range circle overlay on flight map
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.
Free
0 kr/mo
Free
- 5 jobs, 1 driver, 2 vehicles
- 0 credits/mo
- 0.5 GB
Starter
379 kr/mo
3,790 kr/yr
- 50 jobs, 5 drivers, 10 vehicles
- 50 credits/mo · 5% fee
- 5 GB · 30 days history
Pro
1.129 kr/mo
11,290 kr/yr
- 500 jobs, 20 drivers, 40 vehicles
- 500 credits/mo · 2.5% fee
- Route optimization · Matching · Marketplace
Enterprise
Contact us
Custom
- Unlimited everything
- 9,999 credits/mo · 1% fee
- Black Channel · AI · Air Transport
Credit Packages
| Package | Credits | Price |
|---|
| Small | 10 | 129 kr |
| Medium | 50 | 499 kr |
| Large | 200 | 1,699 kr |
Credit Consumption
| Operation | Credits |
|---|
| Place bid | 1 |
| Send message | 1 |
| Create job | 2 |
| Analytics/day | 5 |
| AI analysis | 5 |
Extras
- Add-ons: Analytics 99 kr, Support 199 kr, Users 49 kr
- Payment: Stripe + MobilePay
- PDF invoicing (immutable)
- 14-day feature trial
Complete Feature Comparison
| Feature | Free | Starter | Pro | Enterprise |
| Core |
| Dashboard | ✓ | ✓ | ✓ | ✓ |
| Profile & Settings | ✓ | ✓ | ✓ | ✓ |
| Basic Transport (5 jobs) | ✓ | ✓ | ✓ | ✓ |
| Basic Messaging | ✓ | ✓ | ✓ | ✓ |
| Communication |
| Messages & Notifications | ✗ | ✓ | ✓ | ✓ |
| Document Management | ✗ | ✓ | ✓ | ✓ |
| Black Channel (encrypted) | ✗ | ✗ | ✗ | ✓ |
| Operations |
| Bids & Bid Management | ✗ | ✓ | ✓ | ✓ |
| Fleet & Drivers | ✗ | ✓ | ✓ | ✓ |
| Tasks & Routes | ✗ | ✓ | ✓ | ✓ |
| Map & Navigation | ✗ | ✓ | ✓ | ✓ |
| Marketplace & Clients | ✗ | ✓ | ✓ | ✓ |
| Real-time Updates (SignalR) | ✗ | ✓ | ✓ | ✓ |
| Control Room (basic) | ✗ | 5 panels | 9 panels | 12 panels |
| Advanced (PRO+) |
| Co-Pilots | ✗ | ✗ | ✓ | ✓ |
| Job Matching (AI 100-point) | ✗ | ✗ | ✓ | ✓ |
| Route Optimization (HERE) | ✗ | ✗ | ✓ | ✓ |
| Fleet Tracking (live GPS) | ✗ | ✗ | ✓ | ✓ |
| Analytics & Advanced Analytics | ✗ | ✗ | ✓ | ✓ |
| Fuel Prices & GreenScore | ✗ | ✗ | ✓ | ✓ |
| Proof of Delivery | ✗ | ✗ | ✓ | ✓ |
| 2FA & Priority Support | ✗ | ✗ | ✓ | ✓ |
| Custom Reporting | ✗ | ✗ | ✓ | ✓ |
| Enterprise Only |
| Air Transport (aviation) | ✗ | ✗ | ✗ | ✓ |
| AI Cargo Analysis (Vision) | ✗ | ✗ | ✗ | ✓ |
| API Access & Webhooks | ✗ | ✗ | ✗ | ✓ |
| White Label & Custom Branding | ✗ | ✗ | ✗ | ✓ |
| Multi-Company & Multi-Carrier | ✗ | ✗ | ✗ | ✓ |
| Offline Maps | ✗ | ✗ | ✗ | ✓ |
| Dedicated Support & SLA | ✗ | ✗ | ✗ | ✓ |
| System Monitoring & Audit Logs | ✗ | ✗ | ✗ | ✓ |
| Custom Integrations | ✗ | ✗ | ✗ | ✓ |
| Limits |
| Monthly Credits | 0 | 50 | 500 | 9,999 |
| Transaction Fee | — | 5% | 2.5% | 1% |
| Jobs / Drivers / Vehicles | 5/1/2 | 50/5/10 | 500/20/40 | Unlimited |
| Route Calculations/mo | 0 | 100 | 1,000 | 2,000 |
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

Subscription Admin24 users, MRR, tier distribution, Stripe integration
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

Feature Gating — AnalyticsCarrier FREE: full upgrade prompt with pricing

Feature Gating — FF MarketplaceBlur effect + Required Pro badge
Pilot — Aviation Pre-Flight Intelligence ENTERPRISE

Pilot DashboardWeather briefing, 10 flights, stats, upcoming/recent

Flight ManagementFlight list with status badges, ICAO routes

Create FlightICAO codes, cargo weight, aircraft selection

Aircraft RegistryRegistration, model, capacity (kg), range (km)

Air Freight MarketplaceAvailable freight assignments for pilots

Flight DetailCPH→SIN, weather briefing, W&B, cargo manifest
Co-Pilot — Crew Workflow

Co-Pilot DashboardAssociated pilot, assignments, pending invitations

Co-Pilot FlightsFlight overview with accept/decline workflow

Aviation Feature GateFREE pilot: upgrade prompt with Starter/Pro/Enterprise
Profile

User ProfilePersonal info, documents, subscription tabs