📚 Build a Media Library. Make More Money And Work Less
A Marketing Vandals Field Guide to Media Libraries — Part I
Build a Media Library That Actually Scales
I used to work on movies and ads. I come from production. Today I am a marketer who sits between creative and analytics and runs campaigns, which is a weird spot. At Lightricks, a campaign could go from brief to launch in one or two weeks, so documentation and asset sharing became critical. Since then I have carried this discipline into startups and freelance work. I have also seen teams hire actors and full crews on a hunch, the project collapses, the marketing group is let go, and there is no media library to reuse assets. No documentation, no tags, no tracking of which hook in the first three seconds worked, no trend notes, and no historical data on organic wins. A media library is not only storage. It is how you analyze performance and find shared traits of winning assets.
🎯 What This System Gives You
Keep Web, Design, Organic, Paid, and PPC on the same backbone
Never ask “Where is the final file” again
Make new campaigns a duplicate, not a rebuild
Backup for (.fig) Figma files, lotties, Rive, etc.
⚙️ Step 1: Duplicate Campaigns, Do Not Invent Them
Most teams start from scratch. New folders. New names. New chaos.
Fix it with one master campaign template. Duplicate it for every project.
Why it works
Year folder keeps the archive browsable at a glance
Date first naming makes matching creatives to reports trivial
Chronological sort works in any file system
Rule: time first, name after. Goodbye “final_final_v3”
Template starter
/MediaLibrary
/2025
/2025-12-04-[CampaignName]
/01_Strategy
/02_Scripts
/03_Production
/Footage
/Audio
/Stills
/04_Edit
/Projects
/Premiere
/AfterEffects
/Exports_Working
/05_Design
/Source
/Exports_Working
/06_Analytics
/Reports
/Learnings
/07_Delivery <- single source of truth
/Organic
/Paid
/PPC
/08_Backups
Here you can download mine
Quick checklist
Create the master template once
Enforce date-first naming everywhere
Duplicate, do not rebuild
Tip: Never Use Spaces in Folder Names on GitHub
❌ Spaces break command-line operations unless escaped (
\or%20)❌ They can cause errors in scripts, automation, and builds
❌ Many programming tools assume space-free paths
kebab-case→my-project-foldersnake_case→my_project_foldercamelCase→myProjectFolder
⚙️ Step 2: Let Scripts Do The Boring Work
Even duplicating folders by hand gets old fast. Automate it.
Option 1: Python in VS Code
Asks for date
Asks for campaign name
Generates the full folder tree in the right year
Here you can download my Python fileI advise further customization with Claude
Option 2: One click Mac app with Automator
Click New Campaign on the dock
Prompt for campaign name and date
Build the tree and create clean Premiere and After Effects files
Outcome
New campaigns become a one-click ritual, not a mini IT project.
Step 3: Make 07_Delivery The Single Source Of Truth
Team rule: If a file is not in 07_Delivery, it is not live, not approved, and not shareable. No exceptions.
What lives in 07_Delivery
Final exports for Organic
Final exports for Paid
Final exports for PPC
Filename spec
YYYY_MM_DD_APP_GEO_PLATFORM_ASPECT_HookNN_vVV.mp4
Examples
2025_12_04_APP_US_TikTok_9x16_Hook01_v01.mp4
2025_12_04_APP_FR_Meta_4x5_Hook02_v02.mp4
Token guide
TokenMeaningExamplesYYYY_MM_DDProduction date2025_12_04APPProduct or app codeAPP, SHOP, EDUGEOCountry or region codeUS, FR, DE, LATAMPLATFORMPlatform nameTikTok, Meta, YouTubeASPECTAspect ratio9x16, 1x1, 4x5, 16x9HookNNCreative hook identifierHook01, Hook02vVVVersionv01, v02, v10
🧰 Tooling Stack That Actually Gets Used
Pick one cloud as the source of truth
Google Drive
Dropbox
OneDrive
S3 or a compatible bucket
🚦 Operating Rules That Make This Scale
One template to duplicate, never rebuild
Date first naming across folders and files
07_Delivery is the only place for shareable finals
Keep hooks and versions two digits for sort stability
Record learnings inside 06_Analytics after every campaign
🔎 Why Marketers Should Care
This is not an editor problem. It unlocks speed across the org.
Analytics pulls last quarter winners in 10 seconds
Campaign managers see which version actually shipped
Localizations stay sane with dated, geo specific work
Reporting ties any asset to a date, campaign, and channel
AI workflows improve with clean, tagged inputs
🧭 The Point
Not storage. Navigation.




Thanks for writing, it clarifys so much. Discipline is key, if everyone adopted it.