James Hurlbut – The Man Who Harnessed the Power of SnapML to Rank Surfboards
Today we’re talking with James, Creative Developer from Northern California, who combined his passion for surfing with his amazing skills to create an AR project developed during the Snapchat Machine Learning Creative Residency Program this Summer. His Lens called Board Score rates your surfboard on a scale from zero to five shakas in the categories of Shredability, Aggroness, Style and Kookiness. In this article you will not only find out more about James, but also get some insight on how to get started with Machine Learning & SnapML and see how the AR Creator Residency Program actually works.
Before reading, you can try his Lens out on the Snapchat app with this link Board Score on Snapchat or scan the Snapcode with your Snapchat camera:
First things first – tell us a few words about yourself. How did you end up doing what you do, what inspires you?
Thanks for asking me to contribute to the Lenslist site! My background includes a mix of the technical and the creative. I received my BFA in Experimental Animation from CalArts but I also studied Computer Science before that. Professionally, I started out in the casual gaming industry and also worked at a number of interactive agencies. For many years I worked on large scale interactive video installations for a variety of clients. For the past decade or so I’ve focused more on interaction and prototyping of apps. Creatively, I’m excited about motion, interactivity, design and architecture. It seems like there’s been an explosion of creativity in these worlds lately as the tools become more accessible. Things that are exciting to me recently are generative and procedural design, indie and personal video games, virtual and augmented reality, volumetric video and of course Artificial Intelligence/Machine Learning.
We know that you’re a Creative Developer, so the skills for the project were definitely there, but we were wondering: Was it your first Lens? How would you describe your experience in Lens Studio? Was it easy to get started?
This was my first “real” Lens. I had taken some Lens templates and changed a few things before just to check it out. I found Lens Studio really fun to work with. The ability to see your animations and interactions live as you tweak code and values allows for a very iterative process. The templates and examples are super helpful and well documented.
Where did you find out about the Residency Program and how does the submission process look like?
I found out about the program from someone I follow on my Twitter feed. I had already heard about SnapML from watching the Snapchat announcement so I figured I would come up with a concept and send it in. I was surprised when Snap got back to me and said I would be part of the program.
How did the cooperation with experts from Snap work?
Snap arranged for us to meet once a week with engineers and designers from the Lens Studio team. They were also available through email and discord. Having direct access to the team was super helpful and saved me a ton of time. It was also fun to meet the people behind the scenes of the tool. Many of the residents were active on the discord and were giving advice and feedback to each other also which was great.
What is your opinion of using Augmented Reality in the social media space? Do you see yourself making more Lenses after this project?
I hope to continue making more Lenses in the future. While covid times has made world based AR less appealing there are unexpected new opportunities that have come up. For example, Lenses have become very popular on Zoom calls through the Snap Camera app. I think the combination of ML and AR is a very exciting space with lots of room to innovate and come up with creative combinations. As ML tools become easier to use I can imagine a whole industry of niche communities creating their own custom datasets such as non-profits, brands, musicians and sports enthusiasts.
What have you gained from the program besides the grant? Was it a good learning experience?
The program was a great motivator for me to finally sit down and use a machine learning framework to train my own neural network. I had been planning on getting into it for years and there’s nothing like a project and a deadline to get you going on something.
How do you think other Creators, who maybe haven’t worked with machine learning before, could get started with SnapML? Which tools, tutorials or templates within Lens Studio would you recommend for an ML Beginner?
The classification template is a great starting point for beginners. You can even run the code on the web using Google collab so you don’t need an expensive workstation. There are plenty of premade data sets that you can pipe into the templates and you can even create your own dataset with some time and patience. I don’t think you really need to know how to code at all other than some copy/pasting.
How did you gather so much data, especially considering that some of the values you used like e.g. kookiness or aggroness seem pretty custom 😀 How long did it take to finish the Lens?
Gathering and labeling the data for my Lens was probably the most time consuming part of the process. I ended up scraping the web for over 10,000 images of surfboards through scripts, google image searches and by hand. I then had to take all those images and separate them out by the type of board: softtops, shortboards, longboards, and fish. From there I developed a funny algorithm to take the combination of the classification results from the model and create scores based on some surfing stereotypes. Shortboarders can tend to be more aggressive or aggro, longboarders are generally more chill and stylish and of course people that surf on foamboards tend to be pretty kooky!
And last but not least – have you found a surfboard with a perfect shredability score? If so, show us a pic!
Ha, no I haven’t yet. Hopefully someone will use the Lens and send me a pic of the perfect shredder!
You can find James at:
Twitter: @jameshurlbut
Snap: chancetronic
Insta: therealjamesbass
Web: jameshurlbut.net