Zo

Watch my work

Marketing, video, product. Los Angeles.

Marketing videos, made by a marketer.

I’m Zo. I’ve made marketing videos for GoTrax, WalkingPad, Movo, and Geely Motors. I also grew my own audience to roughly 100k followers and my own app to 10,000 users, so I know what the video has to do.

Start a project

Hover a print to play it. Click for sound.Tap a print to play it with sound.

Video and marketing for

  • GoTrax
  • Aptum
  • WalkingPad
  • Movo
  • Amazon e-commerce
  • Geely Motors

Three things you can hire me for.

Video

Marketing video from concept through color. I write it, shoot it on a Lumix GH6 or BMPCC 4K, and cut and grade it in DaVinci Resolve. Vertical or horizontal.

Proof The films on this page for GoTrax, Aptum, and WalkingPad.

Growth

A launch plan and the hands to run it. Positioning, a first market to win, the content that fills it, and the weekly numbers.

Proof My own audience of roughly 100k followers, and 3,000 users in Knot’s first week.

Product

Your app, from idea to the store. iOS in SwiftUI, Android in Kotlin, backend included. Then I help it find its users.

Proof Knot: built solo, live at knotswap.app.

Case file

Knot: the same playbook, run on my own app.

Knot is a barter app I built solo and run as a nonprofit. It is the case study here because the numbers are mine to share. I planned the launch, made the films, and took it on the road, the same work I do for clients.

Three towns fill with users one after another, joined by a travel route. Town 1 Town 2 Town 3

It grew one town at a time.

A barter app is only useful when there is something to trade nearby. So Knot launched market by market. I traveled town to town and built density in each one before moving on.

The engine behind it is roughly 100k followers across platforms. An audience you can point at one place is what makes the result repeatable.

Three people in a trade loop. Each wants what the next one has. wants wants wants hasa bike hasa desk hasa camera

The matching is the product.

Two people rarely want exactly what the other has. Three often do. Knot finds those three-way loops with Johnson’s algorithm, and ranks every listing against a taste vector for each user, built from CLIP embeddings in pgvector.

  • SwiftUI
  • Kotlin
  • Supabase
  • Fly.io
  • Cloudflare R2
  • pgvector
  • Resend
Zo on a phone camera indoors, pointing at the Hinge and Facebook Marketplace logos.
Zo on a park bench with the same two logos floating beside him.
Zo on a playground at golden hour holding the same two logos.

same first line

One opening line, shot three ways.

“If Hinge and Facebook Marketplace were to have a socialist baby, it would be Knot.”

I shot that opening three times for Knot: on a phone, on a park bench, and on a playground at golden hour. One hook, three chances to land it.

See it live at knotswap.app

Loose prints from my own shoots.

Personal stills and Blender renders, shot, built, and graded by me. This is how I see color and light when nobody is briefing me. More at @zo.gif.

A canopy boat on a green lake under shafts of sunlight.
A model in wraparound sunglasses against a blue sky.
Five blocky 3D characters in a row beside a microphone, on a teal backdrop.
A person framing their face with both hands at golden hour.
A lone tree on a grassy hill at dusk, two people sitting beneath it.
A performer with a microphone in silhouette against teal stage light.
An older man with white hair sitting in hard evening sunlight.
A person with a large afro lit pink beside a neon sign.
Someone in an orange hoodie sitting on a rock above a canyon.
An isometric 3D render of a small bedroom on a pastel gradient.

Got a launch coming? Tell me about it.

Three lines is enough to start.

  1. What you are building.
  2. Where it stands today.
  3. What you want 90 days from now.
Email Zo

hello@zo.studio