Upload a video to S3 → EventBridge triggers AWS Batch → generate Whisper subtitles (and optional translation).
- s3://<bucket>/translated/zh/.../*.srt (primary)
- s3://<bucket>/translated/en/.../*.srt (optional)
- DynamoDB record for idempotency
- s3://<bucket>/processed/.../video.mp4 (archive)
- S3 PutObject event (e.g. upload to raw/)
- EventBridge rule matches the new object
- AWS Batch submits a job (runs on EC2)
- Whisper generates subtitle segments; optional Amazon Translate for zh-TW
- Write .srt back to S3 and record status in DynamoDB
- Move original video to processed/
A scheduled automation that searches for sports slots and adds the best available option to the basket — with email notification.
- EventBridge Scheduler warmup (reduce cold start risk)
- Prepare run ~1 minute early → wait until HH:00 / HH:30
- Lambda logs in and tries preferred courts/time slots with retries
- DynamoDB marks the date as booked (idempotency + multi-user coordination)
- Send email notification with basket link / booking details
This section will gradually collect small demos for my UCD MSc modules. For now, the structure is set — content will be added module by module.
A YouTube → Vector DB → Chat UI experiment for exploring political ideas. It summarizes content, extracts claims/counterpoints, and builds a personal reasoning trace.
A structured record that I can revisit later:
- Initial stance: skeptical
- Evidence that changed my mind: data point X
- Remaining uncertainty: assumptions Y and Z
- What I want to research next: policy comparison A vs B
- Fetch transcript + metadata
- Summarize + extract claims
- Embed + store into vector DB
- Chat UI for retrieval + comparison
- Persist personal stance timeline
A simplified UI mock for my RAG troubleshooting assistant. The real version is hosted externally; this is just a lightweight snapshot.
- CloudFront + S3 OAC/OAI checklist: verify bucket policy, origin access identity, and cached 403 responses.
- WAF/Geo restrictions: check if path matches a rule or if country-based blocks apply.
- Signed URLs/cookies: confirm URL signing behavior and clock skew.
A UX walkthrough of the core flows — upload, browse, claim, and subscribe.
- WhatsApp Bot → menu → browse / upload / request / help
- Web upload: OCR validate + duplicate prevention
- Claim page: short-lived S3 presigned URL download
- Stripe subscription: checkout + webhook-based activation