LockSmith
A deploy gate for PostgreSQL migrations: it flags lock-taking statements, proves the locks in embedded Postgres, estimates blocking time, and has IBM Bob rewrite them for zero downtime.
Case study · 2026 · Hackathon
Turns a short video clip into four caption styles by sampling frames in the browser and calling Fireworks models, with honest fallbacks and human review before anything is posted.
CaptionForge AI turns short video clips into four caption styles: formal, sarcastic, humorous-tech and humorous-non-tech. It was a six-person teqprotech entry for Track 2 of the AMD Developer Hackathon: ACT II on lablab.ai. The team was Umer Anis, Talal Khawaja, Aqeela Urooj, Shadab Akhund, Muhammad Yousuf Maqbool and Darren Melvern.
A clip for social media often needs more than one caption. You might want a straight one, a wry one, one for a technical audience and one for everyone else. Writing four voices by hand is slow. Handing it to a model has its own risk: the model can speak confidently about audio it never heard or details it never saw, and a demo can quietly keep going on canned output when the model is down. We wanted captions that were quick to produce and honest about where they came from.
The user uploads a short video and can add context or a transcript. In the browser, an HTML video element and a canvas pull up to five downsized JPEG preview frames, which are kept in React state. When the user clicks Generate Captions, the frontend sends the frames, the optional context, the filename and the duration to a Next.js API route. The route validates the request, limits the frame count and payload size, and calls Fireworks through the OpenAI-compatible SDK.
There are three tiers:
A separate one-shot Docker agent handles the track's judging format. It reads tasks from a JSON file, samples each video with FFmpeg, calls the deployed caption API, writes a results file and exits. The image holds no secrets and never starts the web server. The interactive app itself runs on Vercel.
Writing captions for short videos in several voices is repetitive, and AI captioning can quietly overreach. It may claim to understand audio or details it never saw, or keep going when a model is down without saying so.
The browser samples up to five small frames from the uploaded clip. A server-side route sends them, with optional context, to a Fireworks vision model through the OpenAI-compatible SDK. If the vision model is unavailable, it falls back to a text model that uses only the supplied context, filename and duration. If both fail, it returns labelled mock captions. Every result shows which path produced it.
Team member (teqprotech).
The detailed architecture for CaptionForge AI hasn’t been documented yet, so this sketch only lists the technologies on the project record. Nothing here is guessed.
Browser-side frame sampling with HTML video and canvas
Four styles: formal, sarcastic, humorous-tech, humorous-non-tech
Fireworks Vision first, then Fireworks Text, then labelled mock captions
Source badge on every caption card
Visual summary and safety note alongside the captions
API keys kept server-side
One-shot Docker judging agent using FFmpeg
Submitted to AMD Developer Hackathon: ACT II (Track 2) on lablab.ai, 13 Jul 2026.
Result not recorded.
Built with Teqprotech.