The goal
Make a small CSV validation workflow easy to understand through a clear, original visual explanation. This is self-initiated portfolio work using fictional data, not a paid client project.
What I built
A silent 22-second motion demo, created with Python, Pillow and FFmpeg. Four scenes show six source records, three validation problems, and the accepted/rejected outputs. All graphics are original shapes and text; no stock footage, music or client assets were used.
Validation and process
The Python validator checks required fields, duplicate order IDs and decimal amounts. The same six-record dataset drives the displayed counts and the CSV outputs. I planned the scene timing, built slide/fade transitions and matching captions, then checked the exported file and representative frames.
Result
Three records pass. Three are rejected with source-line numbers and specific reasons: duplicate ID, missing customer name and invalid amount. The finished H.264 MP4 is 1280 × 720 at 24 fps, with 528 readable frames. Full FFmpeg decoding completed without errors.
Scope of this example
This demonstrates technical storytelling, simple motion graphics and a bounded validation workflow. It is silent: the captions describe graphics, not recorded speech. It does not claim audio synchronization, character animation, production-scale importing or client business results.
Original silent demo combining Python CSV validation, data storytelling and simple motion graphics. Six fictional records: three accepted, three rejected.