Internal ERP for Media Production Agency

Content Studio

Internal back office Blink used to run its audiovisual production agency. As volume grew, no tool covered the full workflow or the automations and integrations between teams. We built it in house to connect productions, vendors, finance, and resources, and see the real cost of operating.

Roles
UI DeveloperProduct DesignerProduct Manager
Timeline
2017–2023

The Challenge

The operation was spread across spreadsheets for productions, email onboarding, separate resource tools, and finance outside the main process. Each area solved its own needs, but the full process did not close: shared data, timely compliance, and a clear view of the internal cost per production were missing.

The challenge was not only to centralize information. It was to automate and integrate the flows between teams, save time, reduce manual work, and cover more operations with the same people.

My role on the product team

Timeline

2017–2019

Job title

UI Developer

Job description

Top-down brief: adapting an already-coded CRUD template. Almost no UI/UX — priority on shipping basic functionality to operate.

COO
Tech Lead
Sr. FullStack Developer
My roleUI Developer

Timeline

2019–2021

Job title

Product Designer

Job description

Redesign of rough modules and evidence-based evangelizing around low adoption. Reported to the Product Manager.

COO
Tech Lead
Sr. FullStack Developer
Product Manager
My roleProduct Designer

Timeline

2021–2023

Job title

Product Manager

Job description

Owned product strategy and roadmap prioritization. In charge of the product team and delivery end to end.

COO
My roleProduct Manager
Tech Lead
Sr. FullStack Developer
Semi-Sr. FullStack Developer
Product Designer

My role onthe product team

Timeline

2017–2019

Job title

UI Developer

Job description

Top-down brief: adapting an already-coded CRUD template. Almost no UI/UX — priority on shipping basic functionality to operate.

COO
Tech Lead
Sr. FullStack Developer
My roleUI Developer

Timeline

2019–2021

Job title

Product Designer

Job description

Redesign of rough modules and evidence-based evangelizing around low adoption. Reported to the Product Manager.

COO
Tech Lead
Sr. FullStack Developer
Product Manager
My roleProduct Designer

Timeline

2021–2023

Job title

Product Manager

Job description

Owned product strategy and roadmap prioritization. In charge of the product team and delivery end to end.

COO
My roleProduct Manager
Tech Lead
Sr. FullStack Developer
Semi-Sr. FullStack Developer
Product Designer

Discovery Process

When I became PM at the end of 2021, Vendor Compliance Ops and Finance were already operating fully on the platform. The adoption gap was in Production: much of its work still happened in external tools because the in house system was too complex and did not fit the team's work.

We interviewed Production, Post production, Vendor Compliance Ops, Finance, HR, and Business Development, and brought frictions into a shared backlog through weekly checkpoints. Two blockers mattered most: we could not see the cost of the in house part of each production, and we could not book slots to know in time whether outside help was needed when the internal team was already busy. With the Tech Lead, we prioritized impact against effort and validated with prototypes, evidence, and risks before building.

Amplitude analysis of monthly logins by user type, used to understand adoption across the operational roles using Content Studio.
Amplitude analysis of monthly logins by user type, used to understand adoption across the operational roles using Content Studio.
Shared UI patterns used to bring consistency to a suite that kept expanding module by module.
Shared UI patterns used to bring consistency to a suite that kept expanding module by module.
OUTCOME
OPPORTUNITIES
SOLUTIONS
EXPERIMENTS
Vendors complete onboarding with verified information and become production-ready with minimal Ops follow-up
Clear onboarding path
Know what is required
Guided application + progress
Vendor usability test: identify the next action
Requirements preview
Vendor usability test: understand required evidence before starting
Correct without restarting
Save, review + resubmit
Vendor usability test: resume after a correction request
Vendor usability test: correct without restarting
Know application status
Progress + status summary
Vendor interview: understand pause and abandonment triggers
Adaptive legal structure
Route account type correctly
Individual / company paths
Compliance Ops interview: define account-type rules
Match KYS to legal context
Jurisdiction rules
Compliance Ops interview: map legal and location rules
Conditional KYS fields
Compliance Ops usability test: validate conditional fields
Reliable readiness visibility
Prioritize review work
Review queue + statuses
Compliance Ops usability test: prioritize the review queue
Explain what is incomplete
Structured correction reasons
Compliance Ops usability test: issue a clear correction request
Traceable source of truth
Confirm a vendor is ready
Vendor record + readiness gate
Compliance Ops usability test: find the vendor record
Compliance Ops usability test: verify the readiness gate
Opportunity Solution Tree framing vendor onboarding and KYS needs as opportunities, solution bets, and validation experiments.
Internal feedback used to prioritize the workflow gaps causing the most operational friction.
Internal feedback used to prioritize the workflow gaps causing the most operational friction.
VENDOR
DESCRIPTION

Individual or company representative.

JTBD

Submit KYS to become production-ready.

COMPLIANCE OPS
DESCRIPTION

Ops: access, KYS review, and activation.

JTBD

Resolve gaps and activate vendors.

Create vendor profile
Submit KYS
Review KYS
Sign agreement
Set production ready
Create record
Send access
Choose path
Complete KYS
Review KYS
Resolve review
Access agreement
Review and e-sign
Verify requirements
Activate vendor
Create vendor record
Email link + PIN
Choose legal path
Complete KYS
Review application
Approve or return
Access agreement
Sign agreement
Confirm signature
Set ready
Link to company
Resend access
Legal representative
ID + tax form
Show KYS status
Filter KYS queue
Correction reasons
Resubmit application
Open SignRequest
Accept e-sign
Notify Ops
Activation email
Import Network profile
Company / Vendors variants
Track first login
Mobile agreement access
Assign vendor to production
Reconstructed story map of the first Vendor Portal onboarding release, from the activity backbone to the walking skeleton, release depth, and launch learning loop.
UX process artifacts used to align product, operations, finance, and engineering around the same workflow.
UX process artifacts used to align product, operations, finance, and engineering around the same workflow.
As-is service blueprint mapping vendor actions, operational review, communications, and system states from intake to production readiness.
As-is service blueprint mapping vendor actions, operational review, communications, and system states from intake to production readiness.

Prioritized Solutions

Once discovery was clear, I prioritized bringing the operation into one system. Before adding an initiative, I checked whether it reduced complexity, solved a validated pain, and helped build trust with the Production team.

That led us to add time tracking for in house teams and booking, which allowed people to reserve blocks in a future calendar. We could see whether internal capacity was enough for a production and, when it was not, decide whether to hire outside help and how that decision affected the budget.

We also added invoices generated from the fees already loaded into the system. This greatly reduced errors and the operational cost of correcting them. Anything that would not be used or would deepen fragmentation stayed out of the roadmap.

Vendor Portal
BFT
Marketplace
DAM
In-house Portal

Content Studio

Internal back office for Production, Vendor Compliance, Finance, BD, and HR. The pain: productions, costs, and documents lived in spreadsheets, with no core the rest of the stack could connect to.

Time tracking

Vendor invoices showed up in the numbers, but the in-house effort behind each production did not. Time tracking made internal hours part of the same operating record, creating a credible base for discussing cost, margin, and pricing.

Efficiency dashboard

Hours, budget, and profitability were being reconciled after a production had already closed. The dashboard put those signals together while work was still in motion, so Operations could identify a deviation before it became a retrospective spreadsheet exercise.

Booking

Future assignments lived in spreadsheets outside the production record, so capacity planning had no connection to actual time or cost. Booking brought upcoming commitments into the suite without trying to replace every planning habit at once.

Vendor onboarding and management

Compliance and hiring were moving through email, which made missing information, approvals, and readiness hard to see at a glance. We turned onboarding into a guided vendor flow with an operational review state, so the team could act from one source of truth.

Invoice batches

Monthly invoice collection was a sequence of one-off requests and corrections between HR, Finance, and vendors. Batches gave that recurring work a shared status and repeatable cycle, making exceptions visible without redesigning the underlying finance process.

Brex expenses

Card spend was reconciled elsewhere, so a production budget could look healthy while related expenses remained outside the picture. Connecting Brex expenses to productions made spend review part of the same financial context rather than another export to reconcile later.

Time tracking

Vendor invoices showed up in the numbers, but the in-house effort behind each production did not. Time tracking made internal hours part of the same operating record, creating a credible base for discussing cost, margin, and pricing.

Efficiency dashboard

Hours, budget, and profitability were being reconciled after a production had already closed. The dashboard put those signals together while work was still in motion, so Operations could identify a deviation before it became a retrospective spreadsheet exercise.

Booking

Future assignments lived in spreadsheets outside the production record, so capacity planning had no connection to actual time or cost. Booking brought upcoming commitments into the suite without trying to replace every planning habit at once.

Vendor onboarding and management

Compliance and hiring were moving through email, which made missing information, approvals, and readiness hard to see at a glance. We turned onboarding into a guided vendor flow with an operational review state, so the team could act from one source of truth.

Invoice batches

Monthly invoice collection was a sequence of one-off requests and corrections between HR, Finance, and vendors. Batches gave that recurring work a shared status and repeatable cycle, making exceptions visible without redesigning the underlying finance process.

Brex expenses

Card spend was reconciled elsewhere, so a production budget could look healthy while related expenses remained outside the picture. Connecting Brex expenses to productions made spend review part of the same financial context rather than another export to reconcile later.

Outcomes

The most important result was not shipping more features. It was changing how we built the product. At first, we prioritized functionality without a discovery process to understand how teams worked, what blocked them, and what they needed the system to solve. We spent time, effort, and money on features that nobody used afterward.

When I moved into the PM role, the focus changed. Production resisted using the platform because it did not see enough value in it, so we started building with adoption first. Every initiative had to start from a real friction and explain its business impact: helping people make data driven decisions, reducing manual work, or helping the team operate better.

From there, Content Studio combined BI tools for data driven decisions with automations and integrations that saved time and operating cost. We stopped measuring the product by how much we delivered and started measuring how much it was used, which decisions it improved, and which manual work it avoided. The data that follows shows the reach of that operation and how it was adopted across teams.

Versión original

Productions completed end-to-end

4,503

in the Content Studio flow

Business intelligence

52.3%

Gross margin

Of every $100 budgeted, $52.30 remained after real costs.

88.8%

Time efficiency

Of every 100 days sold in the budget, 89 were worked.

Cost breakdown

Vendors

58%

In-house

25%

Travel, equipment rental & card spend

17%

Reconciliations based on the platform automations and integrations

Time trackingBookingFinancial reportExpensesIn-house overheadIn-house efficiency dashboardBudgets

Ops automation

Flows without manual intervention

0%

Invoice requests to vendors and contractors

0%

Vendor emails for legal onboarding and document signing

0%

Sales interaction in Marketplace productions

0%

In-house fee approvals — already integrated in the platform

0%

Invoice approvals to pay

0%

Signature reminders

Integrations and templates that automated the workflow

Reusable contract templatesSignRequestQuickBooksBrex card spendBambooHRSlack + in-app alertsGoogle Drive

Key operating teams

Five operating teams, the volume they handled, and the scale enabled by the platform.

Finance

3 users

23,950

Documents processed

INV

EXP

TAX

Vendor compliance

3 users

17,362

Agreements signed

WO

FA

TR

4,633

Approved through Vendor Portal

60

Marketplace users onboarded

WeWork

BD / Account managers

4 users

957

Agreements signed

SOW

MSA

1,077

Budgets created

223

Clients onboarded

555

Marketplace productions · no Sales interaction

Human resources

2 users

977

Agreements signed

CA

NDA

47

Blink in-house members onboarded

Blink

36

Google in-house members onboarded

Google

Production

21 users

Media assets

1.1M

assets through DAM

HVP photo2,560
Video1,066
Photo661
Animation95

Learnings

Working on Content Studio for so many years and moving from UI Developer to Product Designer and then PM taught me to see the product from different places. As a UI Developer, I made sure the components needed by the system were there. As a Product Designer, I reported to roles that prioritized shipping features over discovery. I also understood that the system had been built before the teams who would operate it were established. They later arrived with their own tools, contexts, and deadlines, and the platform did not always fit their work.

As a PM, moving from prioritizing output to thinking about outcomes changed the team's dynamic. We stopped building from isolated requests and focused on continuous discovery, with weekly interviews across the operational teams. Shipping features was no longer enough: we had to understand the friction, connect each initiative to business impact, and measure whether people actually adopted it. I learned that an operational platform creates value when the teams who need to use it adopt it, face less friction, and operate better because of it.