AI, video & media
A photo-to-listing pipeline, local Hinglish transcription, beat-timed captions and product shoots.
A Python suite that takes a product from raw photos to a live Shopify listing: AI model shots, AI descriptions, upscaling, resizing and upload.
- Gemini (Nano Banana Pro) generates six lifestyle variations per product from one model photo and one product photo
- Gemini writes SEO titles and HTML descriptions from the raw images
- 4x upscaling locally with SwinIR and GFPGAN face restoration, or through the Topaz API
- Resizes to 3:4, compresses to a target size and uploads through the Shopify Admin API, all from one interactive menu
AI pipeline that takes product data + model reference images and generates 6 professional variations per product using Gemini's image generation.
Fully local transcription of Hindi and English interviews for testimonial reels: 24 minutes of audio in about 2.3 minutes on a MacBook.
- A Whisper large-v3 fine-tune prompted for mixed output: Hindi in Devanagari, English in Latin script
- Pause-aware chunking, with weak chunks re-decoded by beam search and compared
- Word timings for cutting reels, and every cut read back to catch dropped or invented words
Word-timed captions for an explainer reel on how an automatic watch works, art-directed against the edit: pages snap to the music's beat grid and sit in the calmest band of each shot.
- Word timings from whisper.cpp, plus a video map of beats, cuts and safe areas per shot
- Fast montages switch to single punch words locked to the cuts
- Captions that sit behind the subject, using a matte
- Output as ASS subtitles, burned in with libass or finished in Resolve

Helping plan and run the in-person product shoots behind the brands' ads and product pages: where each shot sits, how the light falls, and how the shoot builds the brand.
- Shoot planning and shot placement for product and model shots
- Lighting checks on set
- Brand building: keeping each shoot true to the brand it is for
A fix for ArtCraft's open-source After Effects rebuild in Rust: Key Cleaner's Reduce Chatter was a spatial blur, but After Effects defines it as temporal smoothing.
- Reuses Refine Matte's rule so both effects share one implementation, with a test that it smooths over time
- Measured on real footage: matte chatter from 1,008 to 53 with edge width unchanged
- Issue, commit and pull request text written, ready to submit