
Crazy Racing Sensations biedt motortraining-ervaringen en had een geautomatiseerde manier nodig om sessievideo's met klanten te delen
Van handmatig bestanden delen naar geautomatiseerde levering: een serverless videoplatform dat bestanden tot 6GB verwerkt met automatische klantnotificaties
De Uitdaging
Crazy Racing Sensations (CRS), een aanbieder van motortrainingen, worstelde met een inefficiënte video-leveringsworkflow. Na elke trainingssessie maakten instructeurs waardevolle opnames die klanten wilden bekijken en van leren. Het handmatige proces van het delen van deze video’s was echter tijdrovend en onbetrouwbaar.
Kernproblemen:
- Trainers verspilden uren aan het handmatig uploaden en delen van grote videobestanden
- WeTransfer en vergelijkbare diensten hadden bestandslimieten en vervallende links
- Geen consistente branding of professionele presentatie van video’s
- Klanten misten soms downloadvensters of verloren toegang tot hun video’s
- Geen tracking van welke video’s naar welke klanten werden gestuurd
- Grote videobestanden (vaak 2-6GB) veroorzaakten uploadfouten en timeouts
Onze Aanpak
Bij JBit ontwikkelden we een volledig serverless video-deelplatform op AWS met SAM (Serverless Application Model). De focus lag op betrouwbaarheid, automatisering en ondersteuning voor grote videobestanden.
Fase 1: Infrastructuur & Multipart Upload Systeem
We bouwden een robuust uploadsysteem dat bestanden tot 6GB aankan:
- S3 met multipart upload ondersteuning (10MB chunks)
- DynamoDB voor video metadata tracking met TTL
- Parallelle chunk uploads met automatische retry-mogelijkheid
- Voortgangsmonitoring en hervattbare uploads voor slechte verbindingen
Fase 2: Geautomatiseerde Videoverwerking
Implementatie van een event-driven verwerkingspipeline:
- S3 events triggeren Lambda bij voltooiing van video-upload
- Automatische metadata-extractie en opslag
- SES-integratie voor merkgebonden HTML-e-maillevering
- Presigned URLs met 7-daags kijkvenster
Fase 3: Trainer Portaal & Authenticatie
Veilige, gebruiksvriendelijke interface voor trainers:
- Cognito User Pool voor trainer-authenticatie
- Multi-video batch upload mogelijkheid
- Sessielocatie-selectie uit voorgedefinieerde lijst
- Klantgegevens en trainercommentaar per video
- Realtime uploadvoortgang met chunk-niveau tracking
Fase 4: Klantervaring
Naadloze kijkervaring voor klanten:
- Professionele HTML-e-mail met sessiedetails
- One-click video bekijken (geen account vereist)
- Automatische redirect naar beveiligde streaming URL
- Werkt op alle apparaten (desktop, tablet, mobiel)
Fase 5: Operaties & Levenscyclusbeheer
- Automatische videoverwijdering na 90 dagen (GDPR-conform)
- Opruiming van onvolledige uploads na 7 dagen
- CloudWatch monitoring en alerting
- Dubbele omgevingsopstelling (dev/prod) met CI/CD
Het Resultaat
Het platform transformeerde CRS’s video-leveringsworkflow:
- Geautomatiseerde levering - Video’s bereiken klanten binnen minuten na upload
- Grote bestandsondersteuning - Bestanden tot 6GB uploaden betrouwbaar met chunked multipart uploads
- Professionele presentatie - Merkgebonden e-mails met sessiedetails en trainercommentaar
- Geen onderhoud - Volledig serverless architectuur met automatische schaling
- Kosteneffectief - Pay-per-use model, geen inactieve serverkosten
- GDPR-conform - Automatische 90-dagen videoverwijdering met TTL
- Betrouwbare uploads - Chunk-niveau retry en voortgangsmonitoring
- Twee omgevingen - Veilige scheiding van ontwikkeling en productie
Belangrijke Metrieken:
- 10MB upload chunks met parallelle verwerking
- 7-daags kijkvenster voor klanten
- 90-dagen automatische videoretentie
- Ondersteuning voor alle gangbare videoformaten (MP4, MOV, etc.)
Gebruikte Technologieën
- AWS Serverless (Lambda, S3, DynamoDB, API Gateway)
- AWS CloudFront voor content delivery
- AWS Cognito voor authenticatie
- AWS SES voor e-maillevering
- GitHub Actions voor CI/CD
- Node.js & JavaScript
Architectuur Highlights
V2 Multipart Upload Flow:
- Frontend initieert upload met video metadata
- Backend retourneert uploadId en presigned URLs voor chunks
- Frontend uploadt 10MB chunks parallel (5 gelijktijdig)
- Backend voltooit multipart upload in S3
- S3 event triggert verwerkings-Lambda
- Klant ontvangt merkgebonden e-mail met kijklink
- Klant klikt op link en wordt doorgestuurd naar videostream
Beveiliging & Toegangscontrole:
- Trainers authenticeren via Cognito
- Kijklinks voor klanten vereisen geen authenticatie
- Alle API-eindpunten beveiligd behalve video bekijken
- Presigned URLs voorkomen directe S3-toegang
"Onze trainers kunnen nu sessievideo's in minuten delen in plaats van uren. Klanten zijn enthousiast over het automatisch ontvangen van hun video's met een professionele kijkervaring."
