David Paul Prospero

Junior developer building real tools, not tutorials.

I build small, complete tools end to end - a Python pipeline, a WordPress site, a typed Next.js frontend - and I care about the one design decision that makes each of them hold up. Everything on this site is a project I started myself to solve a problem I ran into. No client work yet.

Projects

Three things I built to solve problems I ran into myself. No client work yet - these are mine, end to end.

Stock Footage Matcher

A pipeline that cuts stock footage to a voiceover script.

Built a five-stage Python pipeline (analyze, caption, match, download, output) that aligns stock footage to a voiceover script using embedding search for candidates and an LLM as the matcher, then exports OTIO, EDL and XML timelines. The design decision I'd defend in review is the on-disk checkpoint at every stage boundary, so a failure mid-run resumes instead of re-paying for the whole script's embeddings.

  • Python
  • Embeddings
  • LLM matching
  • LLM-as-judge
  • OTIO / EDL / XML

Community Reference Site

A WordPress + Elementor reference site built to learn the stack.

Built a WordPress + Elementor community reference site to learn the stack properly - theme structure, custom post types, and queryable content rather than content trapped inside page-builder templates. The one decision I'd call out is using custom post types for the content so pages stayed queryable and the Elementor templates stayed reusable instead of becoming one-off layouts.

  • WordPress
  • Elementor
  • PHP
  • Custom post types
  • MySQL

Voice Transcription Tool

One transcription interface across three providers, with silence trimmed.

Built a Python voice transcription tool around an abstracted STT provider layer running across three backends, so the provider can be swapped without touching calling code. The design decision I'd point to is a NumPy-vectorised voice-activity detection pass that trims silence before it reaches the provider - it cut per-frame Python overhead so much that trimming became cheap enough to run per segment.

  • Python
  • NumPy
  • STT provider abstraction
  • Async I/O

Get in touch

Open to junior frontend and full-stack roles. Messages land in my inbox - I don't keep a mailing list.

The contact form is being connected. Email me directly in the meantime.