Home
    Storm
    VFX Talent
    RMM
    RN Slack
    CV
Task Dependencies Diagram
A talent auction that turns the VFX job market on its head.

Introduction

This article is about a web app I started years ago and recently restarted. It's called VFX Talent.

The problem

In the mid 2000s I lost the chance to work on Zack Snyder's 300. The VFX Supervisor called, but I was holding out for another gig so I asked him to wait. The other job didn't materialize, and when I called back, I was too late for the 300 work too.

I also saw problems from the employer side. At MPC (a large VFX studio), I was involved in the process of crewing up for new productions. Most artists are contracted only for the production duration. We developed a Ones document, a spreadsheet listing positions and the number of vacancies for each, and tracked each position as it was filled.

Artists were hard to find. Most came through word of mouth or from previous studio projects. HR was always swamped with hundreds of email threads and piles of CVs.

VFX hiring is fundamentally different from hiring for permanent positions. Productions have to assemble large crews quickly, then disband when production wraps. Sometimes, the production company itself will build-and-strike, forming for one project before dissolving.

Productions chase tax credits around the globe, and artists have to be nomadic. The life of many VFX artists is a game of musical chairs.

The idea

I wanted to create a platform that fixed the broken VFX job market. VFX specific job boards exist, and of course there's LinkedIn, but none address the unique challenges of finding and building entire short-contract VFX crews.

Key Observations
  • The LinkedIn feature where you have an Open To Work ribbon is meaningless for many VFX artists, because you are always on the lookout for the next project, even when employed.
  • Waving an Open to Work flag also feels like desperation. It's better to be headhunted and fought over.
  • My experience with the 300 production would have had a happier outcome if I'd had an agent, with a pencilling system, making calls to the productions asking to confirm, and getting the best rate.
  • Productions don't want to sign up and pay subscriptions to multiple job boards when there's no guarantee of finding artists. Artists are even less inclined to pay a subscription on the off chance. A subtle secondary effect here is that neither artists nor production studios want to pay a subscription if they think there's a disincentive to the counterparty, such as the "pay-but-no-guaranteed-hire" aspect.
  • It's almost impossible to find out which VFX artists did which shots in a movie. If a set piece in your production is, say, a tsunami sequence, you want to find artists with experience simulating massive amounts of water. You can get IMDB credits, but they don't list contributions, just positions.

I fleshed out a plan, and after a few unsuccessful attempts at outsourcing, I decided to build it myself. I learned Ruby on Rails and made great progress, but ultimately I focused on the wrong aspects and didn't finish. Here's an old mock up.

The core component is the Auction Engine – essentially a digital pencilling system that makes explicit the idea that the deal is not secured until contract's are signed.

  1. The employer expresses interest by placing a bid.
  2. The artist accepts or declines the bid.
  3. The first employer to finalize the bid wins. VFX Talent receives a commission, and at that moment contracts are e-signed.

Artists never pay, and employers only pay for successful hires. The system handles all notifications and communications that stem from the auction flow, such as "Sorry, I accepted a competing bid".

See the bidding flow in the mockup for more details.

Restart

In February this year I found myself with more time, so I decided to restart the project. Soon after, conincidentally Technicolor collapsed, ending MPC, The Mill, and other subsidiaries. Thousands of VFX artists lost their jobs and found themselves wandering around LinkedIn.

VFX Talent mockup

Design

I'm trying not to get too distracted by graphic design at this stage. I quickly picked a Russian-styled font and made it red to give a revolutionary, take the power back, feel. But the focus now is on getting the auction logic right.

Roles

The platform has 2 user roles: Employers and Artists

  • Employers represent productions or companies. They create projects, define positions, search for artists, and bid for them.
  • Artists build structured profiles showcasing their skills and experience, then receive bids from employers.

A user can have both roles. Someone might be hired as a supervisor at a studio, then need to hire their own team. Users choose their role for the session when signing in, not when registering.

Roles
Users choose to take an artist or employer role when they sign in

Employers

Representatives have the employer role and can represent multiple organizations. They might be an agent serving several studios, or work for a studio with separate organizations for different locations or productions.

Roles
Two organizations represented by the current user

Representatives can then create projects for those organizations.

I battled for a while with the UX for forms like Create and Edit. It felt like too much navigation to have a new page for each form, especially as more resources are introduced. Users would get lost pretty quickly. So now there are just a few main pages rendered, and when something needs to be created, edited, or deleted, it's done with a modal dialog, or a single click. Either way, the user stays grounded in the world they are working in.

Roles
Two organizations represented by the current user

Index pages display resources as cards. I'm experimenting with an expand icon for overflow content instead of scrollbars. The jury is out. Try it below:

Some title

Some title

Some longer subtitle

Some lengthy description that fills several lines and is not truncated.

Organization: My great company

Location: London

Period: 12 months

Positions: 10

Projects, Positions, and Bids

The project page is where I expect an employer to spend the most time. This is the equivalent of the Ones document mentioned earlier.

Roles
The project page displays the positions to fill, the bids that have been made, and their status.
Create a bid

The Select an Artist field in the create bid form below is currently a simple dropdown. However, the employer will need a better UX to find the right artists. He'll need to match project requirements with artists' skills, location, availability, and so on.

Roles
The project page displays the positions to fill, the bids that have been made, and their status.

I'm exploring these approaches:

  • Bid centric - The dropdown in the Create Bid form could open up a second dialog and provide full search functionality with filtering and so on. When the employer finds an artist there they can select and it will be applied to the bid.
  • Artist centric - The employer could just browse or search the artist directory, and when he comes across someone he likes he can select them hit a bid button, then choose the project and positions. From this perspective, he could bid the same artist for different positions.
  • Favourites - The dropdown could contain only a list of favourites or a shortlist that the employer has created earlier.

No decision yet, but it felt like a good time to flesh out the artist profile a little so I can discover what that experience should be like while building it.

Bid threads

Every bid includes a message thread for negotiation and other communication. The system also records status changes in the thread. The Notes field in the bid form starts the conversation.

Thread
Tshe bid thread

Artists

An artist's profile must provide enough information for employers to assess them. I figured skills and credits would be a good start.

Skills

People have diverse skillsets, but they do not always want to do the things they are good at. They may also have, say, 5 years experience at something 20 years ago, and wouldn't know where to start now. I wanted a way to express this level or weight metric without it being explicitly about aptitude, years, or passion. It's not a simple novice-to-expert scale. It's more about the artist saying, "I wan't you to notice these things more than these other things."

I created a skills cloud. The configuration panel avoids labeled levels like novice or expert. Instead, text size and weight indicate the relative importance.

Skills configuration
Skills configuration

Skills matter most in context anyway. If an artist shows an example of great crowd simulation work in their gallery, knowing whether they used Maya or Houdini helps employers to decide whether they are the right crowd sim artist for the job.

Skills cloud
Skills cloud. This artist looks like a good Maya FX animator who can script herself out of trouble at 3am.

I'm not sold on the skills cloud yet, but I like how it discourages putting all the sliders to max.

Opening quote

If everything is special, nothing is special.

Closing quote
-- Syndrome, from the Incredibles (paraphrased)

Credits

Credits are a list of projects that the artist has worked on. Here's a quote from Kevin Todd Haug's MANIFXTO blog.

Opening quote

You're a director; you go to a movie, let's say, WAR OF THE WORLDS. You see a cool shot; let's say, the impossible camera move in, out and around the minivan. You say to yourself, 'Hey, whoever did that work would be great for an effects shot I need in my next film. I need to find out who they are.' All I can say is: Good luck.

Closing quote
-- Kevin Todd Haug, VFX Supervisor
Edit credit
Credits have a contribution field.

There's also a batch import tool. This lets artists quickly import their entire credits history from IMDB. Since IMDB charges $150k annually for API access, and blocks scraping, the best workaround is to have artists visit their IMDB page, select all, and copy-paste from there. The credits are extracted and formatted automatically.

Batch add credits
Batch add credits

Next steps

  • Write a searchable artist directory in order to help flesh out the bid creation flow.
  • Model the auction logic state machine.
  • I'd like to have artists I know sign up before the auction functionality is even ready. That will mean completing the artist profile, including a gallery of work and a bio.

Tech stack