Get to know Clarifai's new API: a visual tutorial and guide

As you may have noticed a couple of weeks ago, we’ve opened up a whole new suite of products for developers to start building on for free. Here’s a walkthrough of our new API and how to get the most out of it. Enjoy!

cassidyGood evening, my fellow Americans.  And those who aren’t American.  Hello, all.

Guess what.  We’re releasing a new version of the Clarifai API!  It’s available now in developer preview mode, meaning you can start using it if you want to or you can ignore it and go back to your regular routine … for now. The new version of our API is packed with more new features than ever, so you might want to take a look or skip directly down to the tutorial.

What’s new in our API?  I’ll tell you.

/predict – Similar to Version 1’s /tag, this allows users to get the tags from a given image based on a model.  What’s exciting about this change is that as users are creating their own models and concepts (which I’m about to mention in just a bit), they can easily get information from their media from various models through the same endpoint.

/searches – A feature that’s a VERY common case for using Clarifai is to get the concepts predicted in an image, and then use those concepts to power ~search~.  The new Search API allows you to send images to the service, and have them indexed by their concepts and their visual representations.  Once they’re indexed, you can search for images by concept or using *gasp* reverse image search. Or, if you want to be fancy, you can even combine search by image with search by tag!

/inputs and /models – Now this is the really exciting stuff.  Clarifai provides a few different models that can “see” the world differently (“food” for example, only sees things as they are related to food, “weddings” only sees things related to weddings, etc).  A model contains a group of concepts.  A model will only see the concepts it contains.  So, if you only use our models, though we have thousands of concepts available, there might be times when you’ll want a model that sees the world the way ~you~ see it.

YTrmMThe new Custom Training API allows you to do this!  You can create your own model and train it with your own images and concepts. Once you train it to see how you would like it to see, you can then use that model to make predictions (with the /predict endpoint mentioned earlier).

That being said, in terms of pricing, we are changing it up for V2, but not too much.  You’ll still get your 5,000 free API calls per month.  But, what’s new is that you have these custom models you’re building!  For free, you get 10 custom models each month.  Now, instead of tiered pricing on top of this, we’ve decided to make it per model and per API call on top of your free ones per month.  It’s only $0.0020 per API call, and $0.46 each per custom model, so you’re able to get creative and build exciting things for a very low price, and you only have to pay for what you use.  But wait, there’s more.  It’s FREE until November 1st!  Jump on it!

BUT HOW, you might ask.  Well, let’s walk through it.  Let’s say you’re really into something and you save photos of it all the time.  Could be candy.  Or your dog.  Or your neighbor’s dog.  Or cookie jars.  I don’t know you.  But you’re into something.  For me, I’m really into mechanical keyboards.  I want to make an app that can go through the photos I have of them, tell me what type they are (heh, get it?  Type?  Pun?  I’m so lonely) and when I want to search for that one awesome orthographic blank keyboard, I can find it.

Visual Tutorial and Guide

So, let’s get started.  I’m first going to go to https://preview.clarifai.com and log in.  Easy enough.  Hit that “Create Application” button:

image06

… and that redirects you to developer.clarifai.com where you can create your application like you usually do.  I’m just going to call mine keyboard-store for now.

image01

Okay, so now we’re gonna go back to preview.clarifai.com and click on our application.

image03

Nothing.  How thrilling.  Let’s upload some pics.  Conveniently for me, I have a bunch saved on my desktop already.  You can click that up arrow on the right to upload your pics by copying and pasting, dragging from the desktop, plugging in an image URL, the works.

That’s more like it.

image08

Now, I’m going to start making concepts here in the UI, because I don’t feel like coding right now.  That’s Clarifai: keeping developers lazy one pic at a time.  Keep in mind, you can do everything I’m about to show you with code.

If you click on that arrow thing in the top left, you get a fun pop out menu.  I’m going to make a few concepts (by clicking “Create concept”, wow) really quickly:

image04

Now, I have to train said concepts so that I can organize my photos that way!  The more photos I add, the more accurate the concept’s predictions.

By clicking on the floating checkmark on each image, I can train all of them at once:

image09

So, if I hit that “Add Concepts” button, I get this popup and can add the concepts I’ve created:

image00

Now I can click on one of my concepts here, and that trains my model to learn that these images (AKA inputs) are artisan keycaps.

I repeated this a few times for different chunks of images.  If I click on one of them now, I can see the probabilities of each tag, similar images, and other general tags for the photo:

image02

Notice that little square icon on the left.  If I click it and drag over part of the image, like so:

image05

…then I can get more similar images to that part of this picture.  Neat!

image07

Imagine if I had a TON of images tagged with really detailed concepts about mechanical keyboards, like SA versus DSA keycap shapes, Topre versus Cherry versus Matias switches, 40% versus 60% versus Ergodox layouts, different types of keycap images … you could theoretically crop part of a keyboard and know exactly what type of switch that is, and you could build an app to help you find where you can buy it, or find where it was made and by whom, or you could just get details about a given switch style.  THAT is the power of Custom Training and Visual Search. 

If you’d like to try it yourself, again, head to developer.clarifai.com and sign up to mess with Custom Training and Visual Search


Clarifai Champions, Round 2: Meet our newest future developer evangelists!

Earlier this year, we launched an epic educational program called Clarifai Champions that helps developers hone both their technical chops and their advocacy skills! We’re excited to announce the participants in our second class of Champions starting this fall – get to know these faces, because these people are going places!

Clarifai Champions was started to help budding developers master developer evangelism skills like technical communication, community building, API skills, public speaking, and more. Even though our first class of Champions* just wrapped a little over a month ago, we missed them so much that we had to start our second class ASAP! So, we’re excited to announce the latest and greatest, super brainy, super charismatic, super SUPER group of Clarifai Champions!

*Also, we loved one of our former Champions, Prince, so much that we couldn’t let him go … and now he’s an official Clarifai developer evangelist!

championsmap2

adityaAditya Vishwanath

Aditya is currently a junior in Computer Science at the Georgia Institute of Technology. He’s a very passionate technology and education enthusiast, and he loves being challenged with new ideas every day. He really enjoys doing research – specifically in understanding and evaluating the feasibility of education technologies for low-resource environments and in studying novel use cases for machine learning. This summer, he worked with Google on a VR study for education in low-resource communities in India. He is also a co-author of an edX MOOC and has been playing the violin for over 12 years!

alifinkelsteinAli Finkelstein

Ali is a recent MIT graduate and current candidate for a Master’s of Engineering. She and her goldfish of three years, Gregory Cermit Finkelstein, Esquire, have a traveling circus show where she and Gregory jump through hoops and tumble through fire. She has successfully completed one V1 bouldering path; she attributes her success to her “noodle arms.” Additionally, Ali was awarded four Michelin stars for her high fives. Only a select few have had the honor of receiving one and maybe one day you will be honored with one.

becmartin

Bec Martin

Bec is a Developer Evangelist at Xero, and is part of an fantastic team that maintains the developer ecosystem around Xero’s add-on partners. Bec is also part of the Australian hackathon scene and the social developer community in the Australian region. Bec left life as an accountant to pursue technology and development. Since then, she’s worked on a variety of different projects for enterprise clients as a technology consultant and freelance developer. She’s also passionate about making other girls and women aware that technology is a viable and awesome career option for them too.

christopherngoChristopher Ngo

Christopher is a software engineer who entered the tech scene through the hair-raising vector of penetration testing. It is his goal to build a cybersecurity career from this exciting childhood interest, so he can orchestrate best-practice catalysts and save the world from Black-Hats. In recent years, Christopher has leveraged his free time to become an experienced hackathon hacker (30+ competitions) and organizer (HackingEDU and Spectra), exercising his passion to educate, invent, and share. Christopher currently studies the triple threat of Computer Science, Information Security, and Latin Ballroom Dance.

ericaramErica Ram

Erica is a recent graduate of Adelphi University and of the Microsoft Research Data Science Summer School. She loves learning and sharing her knowledge with others, and hopes to get more involved in the tech community. Outside of tech, she enjoys conducting kitchen science (cooking), reading on the beach, and petting dogs.

gauravGaurav Ragtah

Gaurav is a Master’s student at Columbia University, focused on Machine Learning and Natural Language Processing. He collaborated with data services, machine learning, and biz analytics teams at Google Nest this summer. Previously, he was at Klout and LinkedIn SlideShare, and also co-founded ThisYaThat – the first non-US startup to be backed by Wharton Innovation Fund. Gaurav is currently building Profillic to improve candidate screening through bias-free skill validation. He speaks four languages natively and enjoys reading up on sociology and linguistics, playing soccer and table tennis, and performing South Asian fusion music with Columbia Raaga.

janakJanak Jobanputra

Janak is a 2016 graduate from the University of California, Davis. He did his Bachelor’s in Biomedical Engineering with a minor in Computer Science and is currently working at a cool health analytics startup named BaseHealth Inc. as a software developer. He really loves new tech, and is always that guy in your friend group that will have the coolest and newest tech! He recently started going to hackathons, and has been loving the experience. Janak also has a huge soft spot for physics and watches way too much YouTube.

justinchavezJustin Chavez

Justin is an undergraduate Computer Science student at the University of Maryland, Baltimore County. He is the Co-Founder of HackerPack, an organization dedicated to making hackathons more inclusive. In his free time he attends hackathons, helps with research at Princeton Neuroscience Institute, and mentors other high school and college students.

kathrynKathryn Reagan

Kathryn is a Consultant Developer at ThoughtWorks in Dallas, Texas. Some of her favorite things include writing clean code, computer science education, community engagement, reading, swimming, drinking wine, and trying to make her ferocious cat love her more. She is excited about breaking into the Maker community and loves to share what she’s learning with anyone who will listen. Find her with a flower in her hair.

loriannLori-Anne Ashwood

Lori-Anne is a recent Grace Hopper Academy graduate with a lot of curiosity about how people and technology can help each other improve. She’s done many things in many past lives including using a tractor beam to move nanowires. “Beam me up Scotty!” 🙂 She’s excited to get deeper into the application side of technology and build interesting products that impact the way people live.

yiranYiran Xu

Yiran is a first-year Master’s student in Data Science at New York University. She did her undergraduate at Iowa State University majoring in economics and mathematics. She is interested everything about data, especially machine learning and computer vision. She is also interested in entrepreneurship, which is her new interest. Besides that, she is a foodie and a girl who likes dancing, working out, listening to K-Pop music, and buying beautiful clothes.

prithajPrithaj Nath

Prithaj is a senior at SUNY Plattsburgh majoring in Computer Science and Mathematics. He is the president of the Software Engineering Club of his college and aspires to strengthen the hacker community at Plattsburgh. He worked as a web developer at End Point over the summer in Manhattan and has fallen in love with NYC ever since. In his free time, he likes working on side projects, reading articles about tech and listening to music. As a big fan of Ed-tech, he also helps to organize events with HackingEDU and Startup Weekend Education.

neelaNeela Balkaran

Neela recently graduated from the University of Central Florida with a Master’s degree in Computer Science, and currently works as a full stack developer for Code School. She thrives in the intersection of technology, humans, and education. She doesn’t yet know what she wants to be when she grows up. When not working or learning, she’s a fan of yoga, capoeira, and playing piano and clarinet.

alainaAlaina Kafkes

Alaina is a senior studying Computer Science at Northwestern University, but she’s dabbled in everything from theoretical chemistry to linguistics along the way. One of the things she’s most proud of is her dedication to (CLARIFAI) CHAMPIONing #WomenInTech. Currently, she’s the co-president of Women in Computing, a professional development & mentorship organization, and the founder of BuildHer, Chicago’s first-ever student-run women’s hackathon. She loves to build new technologies that improve human health and happiness.

alyssAlyss Noland

Alyss is the Developer Advocate at BigCommerce. Her introduction to programming began in a high school computer science class and influenced a growing passion for technology. Board games, video games, drinking cider, and reading fill her time outside of work. She hopes to have a positive impact on women & the LGBTQIA community in tech.

bevisBevis Halsey-Perry

Bevis is a self-proclaimed technomancer of the 3rd realm, wannabe inventor, and student in the Art of the Ones and Zeros at Goldsmiths (University of London). He is endeavouring to use technology as a tool to express artistically, adapt socially, and progress scientifically; hopefully all at the same time. Bevis is passionate about tech communities and the power they have for innovation and change, which he pursues as Hacksmiths’ president.

clairewangClaire Wang

Claire is a junior at Cornell University studying Computer Science and Information Science. She enjoys going to hackathons and giving back to the CS community. For the past two summers she worked on mobile healthcare apps at Partners Healthcare, and worked with analytics of industrial assets on the Predix platform at GE Digital.

fabiFabi Eitel

Fabi is pursuing a Master’s degree in Data Science at the EIT Digital Master school. He has been living, studying, and working in six countries on three continents. He has founded two start-ups, of which one never even got a first customer.

hannanaliHannan Ali

Hannan is a self-taught programmer from Okara, Pakistan. He is passionate about using technology to make communities better and wants to make this world a more open and collaborative place for everyone. He dropped out of high school junior year.

jeroenJeroen Goossens

Jeroen is a hacker, mentor, speaker, teacher, software consultant, penguin aficionado, and just the right amount of crazy – or so he hears. He helps run an organization called HackWare, providing hardware to inspire young individuals through hands-on experience workshops, and mentorship. His passion is to teach and inspire, and he tries his best to show it in all aspects of life.

lizzieLizzie Siegle

Lizzie hails from the San Francisco Bay Area and is a junior Computer Science major at Bryn Mawr College. Organizing She++ Code Day for over 70 attendees last January prepared her to be an organizer for Spectra, the Bay Area’s largest women’s hackathon, and also to be a developer evangelist intern at PubNub this summer. There, she developed iOS, Android, and web apps and blogged about them, and also led workshops and gave tech talks at local meetups. She is extremely excited for Clarifai Champions because she loves devangelism, teaching, and hackathons so, so, much!

mattburmanMatt Burman

Matt is a developer, hackathon attendee, and hackathon organizer. Other nouns that have been applied to him are student, freelancer, and intern. He is also lifehack, efficiency, and productivity obsessive.

jyothiJyothi Nookula

Jyothi is a bio-hacker, tech product manager, drone builder, analog astronaut and an artist. She likes to put her diverse skill sets to use to solve complex problems. She led the launch of consumer and prosumer 3D printers at 3D Systems. Jyothi was also a participant of innovative emerging space leaders crew mission at Mars Desert Research Station, with a mission to create and test capabilities to enable future human missions to Mars. She loves to create products that drive exponential curve of adoption and have a positive impact on humanity.

maiMai Nguyen

Mai’s interest in programming started way back when creating websites on GeoCities was a thing. Currently, she is a web developer at Fuzz Productions where she builds applications in various tech stacks. When she’s not at her keyboard, she can probably be found running, studying Vietnamese, or trying out a new recipe.

michaelcalvertMichael Calvert

Michael currently leads games evangelism at Sketchfab. He also creates games in his free time and organizes the Unity and Unreal Engine Meetups in New York City.

nicholasNicholas Kee

Born in the beautiful island of Jamaica, Nicholas has an innate gravitation towards creativity and innovation. Inquisitive about technology and everything cool, Nicholas taught himself computer programming at the age of 12. Since leaving high school, he delved head first into the startup world. He is now the cofounder and Executive Director of Next Gen Creators – a non-profit movement aimed at promoting millennial software development, design and tech entrepreneurship within the Caribbean and Latin America region.

raymondRaymond Chung

Raymond is a senior studying Computer Science & Education at Queen’s University in Canada. He is passionate about entrepreneurship, eating and trying new foods, and teaching. Raymond is heavily involved at his school and in the Kingston community. He is currently helping to organize a startup competition, as well as creating and designing free workshops to empower and encourage female professionals to code. In his spare time, he enjoys playing FIFA with his friends, and experimenting with new recipes.

scottstreetScott Street

Scott is a computer science student at Aston University in Birmingham, UK. Last year, he attended 14 hackathons, travelling all over the country and abroad, and getting to build some really cool projects with a ton of amazing people! In his spare time, he likes to collect and play with retro tech (ask him about his Game Boy collection).

thomasgoodmanThomas Goodman

Tom is a student at the University of Birmingham and a serial hackathon attendee. He thinks cats, penguins & poros are the cutest. Oh, and cake.

sampurnaSampurna Basu

Sampurna is a junior studying Computer Engineering at the University of Southern California. On campus, she’s an undergraduate researcher, the president of USC’s chapter of ACM, and an undergraduate TA in CS. On weekends, she’s a hacker and IoT enthusiast. Her fantasy invention would be caffeinated bubble tea.

albertburtAlbert Burt

Albert is a second year Web and Mobile Computing student at the Rochester Institute of Technology. He’s passionate about technology, people, and how people use technology. He loves to learn new things, and believes that dissemination of our gifts is our sole purpose in this life.

andrewliAndrew Li

Andrew is a sophomore Computer Science major currently attending Rutgers University-New Brunswick. Additionally, he spent his summer interning at Synchronoss Technologies developing web and mobile apps as part of the R&D team. You can find him eating unhealthy takeout, playing Pokemon far too seriously, and masquerading as a “functional human being” when he’s not coding.

camilleramsurCamille Ramseur

Camille is a Master’s student at Carnegie Mellon University studying Entertainment Technology. She has a passion for computer graphics, computer animation, VR, and research. She hopes to one day take her background of programming and combine it with art and potentially work in the animation industry (think Pixar). Additionally, Camille is involved with societies such as National Society of Black Engineers, Society of Women Engineers, and Girls Who Code.

elanateeElana Tee

Elana is a senior at Fordham University studying Computer Science and Music. She’s passionate about inclusivity in tech and loves to teach others about the possibilities that come with learning to code. When she’s not snapchatting the cute dogs on the streets of NYC, she can be found longboarding along the East River or playing piano.

fatamaFatama Rahman

Fatama is a senior at Fordham College Lincoln Center double majoring in Computer Science & Visual Arts. She has only (very) recently gotten into coding and all things computer science, so she has been quite busy playing catch-up. Her ultimate goal is to become a project manager, but that’s many decades into the future! She loves doing henna tattoos, creating origami, and silent discos!

irenesuIrene Su

Irene is a sophomore studying Computer Science at the University of Maryland. She helps organize for both Bitcamp and Technica, the hackathons hosted at the University of Maryland, while being actively involved in the Association of Women in Computing and Terrapin Hackers. She loves attending hackathons, meeting other hackers, learning new skills, and inspiring others to pursue their dreams. In her free time when she’s not coding, Irene enjoys exploring new places (and yummy foods), singing, reading, and watching anime.

joshuaJoshua Lan

Josh is a senior at Ohio State University studying Computer Science and Engineering. He’s worried that his fingers will morph to his keyboard, even though he’s pretty sure that’s not possible. In his spare time, Josh likes going to hackathons, flipping through vinyl records, and trying to pet every dog.

leaLea Marolt Sonnenschein

Lea is an iOS Developer and Designer at Rent the Runway. She also writes about iOS, UX and UI at raywenderlich.com, teaches iOS classes at GA and volunteers for Girls Who Code. As a student she attended Grinnell College where she majored in Computer Science and Studio Art. She founded Grinnell AppDev, a student led mobile application development studio that’s still going strong, and initiated a yearly startup-weekend event, Pioneer Weekend. In her free time she plays piano, and tries to use code and technology to make art. Or she just doodles and listens to MIKA.

kathrynhodgeKathryn Hodge

Kathryn is a Computer Science major and Film minor in her last year at Vassar College. She went to Vassar not really knowing what she wanted to do, but took a computer science class on a whim. Now, she creates YouTube tutorials for people who want to learn how to code and attend as many hackathons as she can. She’s really interested in working on more projects involving Internet of Things and VR, but most of all, she wants to build things that make an impact.

marissaMarissa Goldberg

Marissa currently works remotely as a data engineer. Her experience involves a mixture of front-end web development, data visualization, and product management. She loves filling her time with learning and projects, her most recent being Aevrah, a lifestyle blog. In her spare time she enjoys reading, writing, participating in new coding courses, listening to podcasts and cuddling her two gorgeous cats.

nasirNasir Kasumu

Nasir is a Sophomore at Temple University Studying Comp Sci. He loves playing music and has an obsession with triplets. In his free time, he is looking into drone technology and coding hardware for the Temple University Robotics Team. He hopes one day to be a full stack dev and Bring OwlHacks back to Temple University.

nicholaswalshNicholas Walsh

Nick is a fifth year undergraduate at Stony Brook University studying Biomedical Engineering and Applied Math/Stats. Once a medical researcher and serial hacker, Nick is currently a technical evangelist for Wolfram Research and a coach/mentor for Major League Hacking where he gets to travel the world empowering the student developer community. When he’s not slaving over a hot keyboard, he can be found relaxing with his dog or eating copious amounts of delicious Korean barbecue.

stephanieStephanie Chang

Stephanie is a senior studying Computer Science, English Literature, and Women, Gender, and Sexuality Studies at UC Davis. She is passionate about code for social good, hackathons, and Red Bull. Dog (and cat!) spotting is her favorite sport and her dreams are to be a full-stack developer, write a novel, and have Nicki Minaj sign her forehead. Lucy Liu is her mom.

romuRomualdo De Leon II

Aldo is a student studying Computer Science at Fordham University. He was born in the Philippines and the first in his family to attend college in the US. He loves honing his coding skills, learning new languages and applications, and attending hackathons with friends. In his free time, he enjoys playing soccer, swimming, playing video games (especially Pokemon), and trying new places to eat. Whether it’s a hackathon or a Pokemon battle, Aldo is always ready for the challenge!

kellylampotangKelly Lampotang

Kelly’s preferred location is either a modern art museum or the ocean. Originally from Florida, she feels right at home in SoCal’s sunny weather at the University of Southern California where she studies Computer Engineering and Computer Science (with a photography minor!). She’s fascinated by sea creatures and loves the combination of art and tech. Voted “most hipster” by her dorm last year, she’s really into trying to be artsy, attending and/or planning hackathons, hiking, and traveling the world.

Not able to join this class of Clarifai Champions? Follow along with their progress on Facebook or Twitter and eagerly await to apply for our next class in 2017!


Applications for the next class of Clarifai Champions are now open!

We had such an amazing first class of Clarifai Champions, we just had to do it again. Our Clarifai Champions program teaches all the skills required to become a great technical evangelist – apply now for your chance to join the fall class of 2016!

At Clarifai, not only do we want to help developers build cool apps using artificial intelligence and visual recognition, but we also want to give back to the developer community. We launched the first class of the Clarifai Champions program earlier this year to inspire, teach, and equip developers to achieve every goal they have. It was so much fun, we had to do it again – that being said, we’re super excited to announce that applications for the fall 2016 Clarifai Champions class are now open!

The Clarifai Champions program is designed to help you support your software developer community with Clarifai technologies.  As you learn about developer outreach and the tech community, we will help you:

  • Organize your first hackathon
  • Apply to speak at conferences
  • Build your technical speaking chops
  • Put together technical writing projects
  • Find and create open source projects to which you can contribute
  • Hack with Clarifai’s API on some cool projects
  • And moooore

If you’re interested in being a developer evangelist, becoming more active in the developer community, building your API skills, getting mentorship, or just wanting to improve your technical communication skills, this program is for you!

Cost:

Clarifai Champions is a FREE program. Anyone can apply and attend – you do NOT need to be a Clarifai customer!

What it was like last time:

Awesome.  Check out this blog post and this fun page to see more details.

What you’ll get:

  • A full-bodied project-based online course with delightful hints of citrus, cinnamon, cocoa, and all the tips and skills you need to become a successful developer evangelist
  • Regular available office hours with Clarifai dev evangelists
  • Some legit Clarifai swag
  • The top evangelists from the program will be flown out to our NYC headquarters for a day on Clarifai!  More details will be given during the program.

Curriculum:

We’re going to cover all sorts of things from Technical Demos, Public Speaking, Technical Writing, Events and Mentorship, and, of course, HACKATHONS. <3

Schedule:

  • Applications open August 2, 2016
  • Applications close August 26, 2016
  • Acceptances sent out August 29, 2016
  • Program starts and ends September 2, 2016 – November 18, 2016

Application:

To keep the program valuable to participants, we’re limiting the number of Champions. Check out the application here!

We’re looking for devs who have:

  • A demonstrated interest in software development, technical documentation, public speaking, and/or developer events
  • Side projects
  • Active participation in the tech community
  • A passion for empowering others
  • Excitement for developer-centric products (like Clarifai’s API!)


Building Pic2Trip: A Chrome extension for Clarifai and TripAdvisor

We made a thing called Pic2Trip, a Chrome extension combining the powers of Clarifai and TripAdvisor. Follow along with this easy Copy + Paste guide to learn how to make it yourself with Clarifai’s new Travel model, or just download the extension to try the app!

cassidy

When the new Clarifai Travel model came out last week, I was so pumped about it.  I’ve always looked at friends’ photos of cool places and felt a hot pang of envy, so I thought I’d make a mini-hack with the Travel model to assuage my #FOMO.

Behold! Pic2Trip, a Chrome extension combining the powers of Clarifai and TripAdvisor (I’m an engineer, don’t shame me for my name choices please)!

Here’s how it works: you’re browsing the interwebs on Chrome, and you come across a photo that inspires you to travel. When you right-click on the photo and hit Pic2Trip, a new tab opens searching TripAdvisor based on the Clarifai-generated travel tags!

The results get really interesting when you ask for recommendations with non-travel photos. I’m already starting to feel withdrawal since the Game of Thrones season finale this past weekend, so I’m going to ask Pic2Trip to recommend where in Westeros I should go:

westeros

Building this was pretty straightforward.  First, I had to build a manifest.json for Chrome to understand:

{
  "name": "Pic2Trip",
  ...
  "permissions": [
    "https://*/*",
    "http://*/*",
    "contextMenus",
    "tabs"
  ],
  "background": {
    "page": "src/bg/background.html",
    "persistent": true
  }
}

The only things here that are really important are the permissions and the background sections.  Having the contextMenus allows us to get the right-click capabilities, and tabs lets us make new tabs.  The background page is our HTML file that references all of our JavaScript that we need (this part of the extension could have been built in different ways, but I just went with the simple route).

The next file that is important is the previously referenced background page!  Here we import our Clarifai client, our API keys, and our extension code:

<html>
  <head>
    <script src="clarifai-1.2.0.js"></script>
    <script src="keys.js"></script>
    <script src="background.js"></script>
  </head>
</html>

Dang.  So simple, right?  Now, here’s the more meaty stuff.  In background.js, we initialize the Clarifai client with our keys, create a context menu that only appears on images, and generate the TripAdvisor connection that opens a new tab:

Clarifai.initialize({
  'clientId': CLIENT_ID,
  'clientSecret': CLIENT_SECRET
});

chrome.contextMenus.create({
  "id": "Pic2Trip",
  "title": "Pic2Trip",
  "contexts": ["image"]
});

chrome.contextMenus.onClicked.addListener(function(info, tab) {
  generateLink(info.srcUrl);
});

function generateLink(imgurl) {
  Clarifai.getTagsByUrl(imgurl, {
    'model': 'travel-v0.1'
  }).then(function(r){
    var tags = r.results[0].result.tag.classes;
    chrome.tabs.create({
      "url" : "https://www.tripadvisor.com/Search?q=" + getSearchString(tags)
    });
  }, function(err) {
    console.log(err);
  });
}

All in all, the entire extension is less than 70 lines of code!  Definitely check it all out here in the GitHub repo if you want to see more details in the code and how to install it.

And don’t forget to check out the new Clarifai Travel model to make your own fun hacks, or the other Clarifai Copy + Paste guides to learn more about hacking with APIs! If you’d like to ask me or anyone at Clarifai more questions about the API, feel free to tweet us at @clarifaidev and we’ll get back to you ASAP!

“Try Pic2Trip – it gives you a travel recommendation based on any image on the interwebs! @cassidoo @clarifai 💯 http://bit.ly/291v2kV”


Clarifai Champions: Developing the next generation of developer evangelists

When we launched Clarifai Champions earlier this year, our goal was to help developers master developer evangelism skills like technical communication, community building, API skills, public speaking, and many others. Well, the program turned out to be a massively rewarding experience for everyone involved – most of all, us! Read on for the 2016 recap and how to be a part of next year’s class of Champions!

Back in January, I posted about our new initiative, Clarifai Champions!  It was designed to be a project-based online course and mentorship program designed to help developers master developer evangelism skills like technical communication, community building, API skills, public speaking, and many others. 

After selecting our first batch of stellar Champions earlier this year, our program was in full swing!  We ran lectures every few weeks talking about building technical demos, public speaking, technical writing, and event planning and mentorship.  

image00

The Champions pushed out some awesome projects, like a Clarifai Ruby client, an app that got songs based on images, a Clarifai Chrome omnibox extension, and a bunch of great PRs to open source projects.

They also gave talks literally around the world, from the USA to the UK to Ukraine (and also other countries that don’t start with the letter U).  They submitted papers and abstracts to conferences, and also refined their own professional bios to use at events.  The events they threw were so fun to witness.  They educated their communities not only about Clarifai technology but also other cutting-edge technologies, ideas, and concepts.

image02

For the writing segment, their writing projects were fascinating and educational, from posts about building online communities to building applications with certain technologies to learning about specific algorithms.

image01As for me, I feel like I learned so much more than I taught with this program.  One of Clarifai’s core values is Community, and this program is proof of the power of that.  During our weekly office hours I got to know more about these wonderful people from around the country and the world; how they think, how they learn, and how they communicate.  Seeing them grow with each project, build relationships with each other, and seeing them educate and help each other has been probably the most rewarding thing I’ve done in my career thus far.  The people in this program have gone on to get jobs as developer evangelists, internships and full-time jobs in new companies, and have moved on to (even) higher education, and I’m so proud of each and every one of them.

We asked what the Champions thought of the program, and got some really fun feedback.

“THANK YOU. I couldn’t express my gratitude enough for the existence of this program. I’ve made new good friends, I’ve grown so much and am more confident in my skills. You are the best, thanks for the love.”

“I really loved the program and meeting others in the program. I liked how much support was provided to us and thought the feedback was super useful. For anyone wanting to be a Dev evangelist, this is a great opportunity to make connections and learn vital skills. I also appreciate the sharing of opportunities with us!”

“The skills that I learned from Champions Program is not only applicable to students aspiring to be a technical evangelist, but it also helps developers improve their online & offline presence tremendously. All the people involved in the program has been superstars in their own fields, and it was really neat to meet some of them in real life! It’s kinda hard to stop writing about how awesome this program was, but the most important takeaway for me was that the program helped me a head start on how to build your own brand after college, especially since it’s hard to imagine life after school when you’re student.”

So, what now?  Well, obviously, we’re going to do the Champions program again!  We’ll be putting out applications for the next batch of Champs in August.  Be sure to subscribe to this blog so you don’t miss it!

And, without further ado, your Clarifai Champions class of 2016:

Want to be a part of the next batch of Champions?  We’ll put out a blog post announcing the new applications later this summer.  Subscribe to this blog to keep up to date!


A copy and paste guide to your first API project - with Clarifai!

Follow along with our fun and simple copy-and-paste tutorial on how to build your first API project. This hands-on guide will help you learn more about how APIs work and what you can build with the Clarifai API!

**Update: As of Nov. 15, 2017, we have transitioned our API to V2. Please read our V1 to V2 transition guide before implementing the code in this blog. 

cassidyHello. Welcome. If you’re here, I’m assuming you haven’t used an API before. Me neither. Just kidding, I was trying to be relatable. I hope it worked.

Anyway.

This is a guide to help you use your first API. I work for Clarifai, so we’re going to use Clarifai because I’m very heavily biased. But also because the Clarifai API is simple, ridiculously easy to use, and most importantly, super cool.

Let’s get started

This tutorial assumes you have nothing but a general understanding of what an API is. I like working with web projects, so we’re going to do a web project. If you like using other technologies, that’s cool too. What’s great about APIs is that they’re generic and can be used anywhere. So, if you follow along with this and understand the theory behind APIs, you can apply it to your own projects.

Okay, I said this was a copy and paste guide, and I meant it. We’re going to copy and paste everything. Open your terminal or command prompt.

If you’re on a Mac or Linux, type the following:

mkdir my-first-api
cd my-first-api
touch {index.html,index.js,keys.js}

If you’re on Windows, type the following:

mkdir my-first-api
cd my-first-api
type NUL > index.html
type NUL > index.js
type NUL > keys.js

Donezo.  Now, if you’re comfortable with the terminal, you can navigate through your files and stuff there. Or you can open your Finder or Explorer (or whatever that thing is that lets you look at your files) and do it all there.

In your editor of choice (use whatever you want, I use vim, some use Atom, some use Sublime … do what you want), paste the following in your index.html file.  The HTML doesn’t really matter in this project, so it’s pretty minimal.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>My first API</title>
  <script type="text/javascript" src="keys.js"></script>
  <script type="text/javascript" src="index.js"></script>
</head>
<body>
</body>
</html>

Lovely.  You have a <head> that references your JS files that you created. There’s also an empty body.  

Oftentimes, the first thing you need to do when you use an API is get your credentials.  Not all APIs require this, but most do.  API credentials are very similar to usernames and passwords of your accounts on various sites, like FarmersOnly.com or Xanga.

Since we’re going to use Clarifai, we have to get our creds from there.  Go to developer.clarifai.com and sign up.  Once you’ve done that, click your name to get to the “Manage your Applications” page and hit, “Create a new Application”.  Go ahead and name it whatever you’d like.

image00

You’ll then be directed to a page that looks like this:

image01

And would you look at that. That’s your Client ID and Client Secret.  Let’s put them to good use.

Go back to your favorite editor and open up keys.js.  In there, copy and paste the following (only replace my Client ID and Client Secret with your own):

var CLIENT_ID = 'asdasdasdasdQ';
var CLIENT_SECRET = 'asdfasdfa';

Boom.  Now, you might be wondering, why do we have a file that just has these variables in it, why not just put these variables in the index.js file?  Well, my darling, that’s because of security.  It’s always better to put your keys in a file that you don’t put online (assuming you’re going to push this project online) so that people don’t take your keys.  Why would someone take your keys?  Well, for the same reason why they’d take your keys to your car: it gives them access to your stuff.  If someone got ahold of your Client ID and Client Secret, they could use up credits on your account or do things on your behalf.  We don’t want that.

The way APIs work is similar to regular web addresses.  When you go to a URL in your browser, you get a webpage returned to you.  When you send a request to an API endpoint with code, you get a response returned to you.  Different APIs return different responses.  If you’re curious about this, you can go to https://api.clarifai.com/v1/tag/ in the browser.  

You’ll get something that looks like:

{"status_code": "TOKEN_NONE", "status_msg": "Authentication credentials were not provided in request."}

This is your response!  Right now it’s not returning anything useful because we need to set it up with your Client ID and Client Secret.

Let’s get to actual coding.  We need to figure out what we want our app to do.  In case you haven’t heard what Clarifai is or does, you should look it up.  But in summary, the API lets you get tags for a given image.  So, we can make a quick little web app that lets the user put in an image URL and see the tags for that image.  Simple enough.

In your index.html, add this line in the <head> before the keys.js import:

<script src="https://npmcdn.com/axios/dist/axios.min.js"></script>

This line imports axios.  It’s a library that makes getting information from APIs easier.  You don’t necessarily *need* this library, but it makes for less code.

The next thing you need to do is get an access token.  An access token is kind of like a session, like when you log into Gaia Online and you stay logged in for 30 days.  To get an access token, we’ll need to ping Clarifai’s /v1/token endpoint.  Copy and paste this into your index.js file:

Copy and paste this into your index.js file:

function getCredentials() {
  var data = {
    'grant_type': 'client_credentials',
    'client_id': CLIENT_ID,
    'client_secret': CLIENT_SECRET
  };
  var url = 'https://api.clarifai.com/v1/token';

  return axios.post(url, data, {
    'transformRequest': [
      function() {
        return transformDataToParams(data);
      }
    ]
  }).then(function(r) {
    localStorage.setItem('accessToken', r.data.access_token);
    localStorage.setItem('tokenTimestamp', Math.floor(Date.now() / 1000));
    // yolo
  }, function(err) {
    console.log(err);
  });
}

function transformDataToParams(data) {
  var str = [];
  for (var p in data) {
    if (data.hasOwnProperty(p) && data[p]) {
      if (typeof data[p] === 'string'){
        str.push(encodeURIComponent(p) + '=' + encodeURIComponent(data[p]));
      }
      if (typeof data[p] === 'object'){
        for (var i in data[p]) {
          str.push(encodeURIComponent(p) + '=' + encodeURIComponent(data[p][i]));
        }
      }
    }
  }
  return str.join('&');
}

Whoa there.  What’s all this?  I’ll tell you.

The getCredentials() function first builds an object called data, and that object has your Client ID and Client Secret, and labels itself as client credentials.  Then, we have a variable url that has our endpoint URL, https://api.clarifai.com/v1/token.  And then finally, we use axios to make a POST request where we pass in our data and our url, and we call transformDataToParams().  Quickly switching gears, the transformDataToParams() function simply transforms that data object to something that axios will understand.  Let’s jump back.  The .then() functions that are called after the axios function are what happens after the information is collected from the /v1/token endpoint.  Inside these, we gather the access token and save it to local storage, the current time, and in the next function, we log the error if there is one.

I know that was a lot. But you’ve got this.

So, now we have an access token.  That means we can use that to get some tags for photos now! Now, at the end of index.js, paste this in:

function postImage(imgurl) {
  var accessToken = localStorage.getItem('accessToken');
  var data = {
    'url': imgurl
  };
  var url = 'https://api.clarifai.com/v1/tag';
  return axios.post(url, data, {
    'headers': {
      'Authorization': 'Bearer ' + accessToken
    }
  }).then(function(r) {
    // PARSE HERE
  }, function(err) {
    console.log('Sorry, something is wrong: ' + err);
  });
}

This is very similar to getting an access token.  Our function first takes in imgurl (which is just a variable name for image URL), then it gets the access token from local storage and assigns it to a variable.  Then we make a data object with the passed in imgurl variable, and finally we make a url variable again only this time, it’s linking to the /v1/tag endpoint.  We shove all of this into another axios call, where we pass in url, data, and we make a headers object that uses the access token.  We also have the .then() functions, just like before, where the first one will do something with the response, and the next one will log the error.  Let’s make that first function do something!

At the end of your file, paste this in:

function parseResponse(resp) {
  var tags = [];
  if (resp.status_code === 'OK') {
    var results = resp.results;
    tags = results[0].result.tag.classes;
  } else {
    console.log('Sorry, something is wrong.');
  }
  return tags;
}

This function, parseResponse(), is nothing super fancy.  It literally just parses the response so that we just get the tags.  If you look at the documentation for the /v1/tag endpoint and you go to the Responses section, you’ll see that there’s a lot of mumbo jumbo that we don’t need for this particular application.  So, the parseResponse() function checks that the status_code is OK (which means everything ran smoothly), and then just cuts out everything until we get the specific tags we want.

So, we should now go back to our postImage() function, and go to the comment that says PARSE HERE and replace the comment with this line:

parseResponse(r.data);

This gives parseResponse() our retrieved data, and gets our tags for us!

Now that we have all of this up and running, we just have to connect our functions together.  What we need to do is first check if we have an access token.  If we do, great, we can easily get the tags then.  If we don’t, or if it’s expired, we need to call getCredentials() and then we can get the tags.

At the bottom of the file, paste this in:

function run(imgurl) {
  if (Math.floor(Date.now() / 1000) - localStorage.getItem('tokenTimeStamp') > 86400 || localStorage.getItem('accessToken') === null) {
    getCredentials();
  } else {
    postImage(imgurl);
  }
}

Boo yah.  This function takes in an image URL, then checks if there’s an expired/nonexistent access token, otherwise calls postImage().  Done.

Or are we?

We’re not.  Ha.  Fooled ya.  If you look closely, once getCredentials() is called, nothing happens.  You get your token, but you never call postImage() once you have it. This looks like a job for CALLBACKS.

Inside that if statement in the run() function, replace getCredentials() with this:

getCredentials(function() {
  postImage(imgurl);
});

We’re having the getCredentials() function take in postImage() so that it can call it once it’s finished.  Now we have to edit the getCredentials() function so that it can accept and call this function.

So, go to the method signature of getCredentials() and replace it with this:

function getCredentials(callbackFunction) {

Now we have access to this function within getCredentials().  Now, go to the comment that says “yolo” (yeah that’s right, it was there on purpose) and replace that line with:

callbackFunction();

Oh man.  That’s it.  We’re connected.  Now let’s actually have something call these functions.  Go to index.html and paste this in the <body>:

<div>
    <input type="text" id="imgurl" placeholder="Image URL"/>
    <button onclick="run(document.getElementById('imgurl').value)">Get tags!</button>
</div>

This just adds a little form where you can paste an image URL in the input, and when you click the button, you should get the tags.

But now, we need to actually put the tags somewhere.  Add this line after that <div> you just added:

<div id="tags"></div>

This is where our tags will be printed.  Now go back to index.js, scroll to the parseResponse() function, and paste in this line just above the return statement:

document.getElementById('tags').innerHTML = tags.toString().replace(/,/g, ', ');

This line gets that <div>, then adds our parsed tags to it, separated by commas.

Alright, I think we’re done here!  It’s not beautiful (you can style this page with whatever CSS you want) but let’s see it work.  Go back to your terminal and run a server.  If you don’t know how, here’s a simple way that works for all OSes (requires Python to be installed on your system):

python -m SimpleHTTPServer 8000

Or if you’re using Python 3:

python -m http.server 8000

Now go to your browser and go to localhost:8000, and try out an image URL!  Voila!

Wow.  You did it.  You used your first API.  Congratulations.  If you got lost along the way, I conveniently have all the code here on GitHub. Or, if you don’t want to write all of this yourself ever again, Clarifai has some great API clients for a bunch of languages like Java, Javascript, Python, Go, etc.

Hope you had a good time following along.  If you didn’t, you probably don’t know what fun is.  If you’d like to ask me or anyone at Clarifai more questions about the API, feel free to tweet us at @clarifaidev and we’ll get back to you ASAP!

Peace out girl scout, thanks for reading!

“Follow this awesome copy+paste guide to your first API project with@cassidoo @clarifai 💯 http://bit.ly/1U48hyt”


How to use Clarifai to protect your eyes from seeing something they can’t unsee

Follow along with our simple tutorial on how to use the Not Safe for Work (NSFW) model to protect your eyeballs from things they can’t unsee. Or, check out our documentation to build something on your own!

unseeAh, NSFW. The forbidden fruit. The illegal indulgence. For those of you who don’t know what NSFW is, we’re talking about Not Safe For Work. R-rated content. Stuff that would probably get you fired if you were looking at it at work.

Never fear, pervs and pervettes. We at Clarifai have a new endpoint to protect you from yourselves.

Let’s just say your weirdo friend Bob sends you a link to an image. But because of his dark past, you don’t want to just open this pic at work. That’s where we come in.

So, first thing’s first, sign up for a free Clarifai developer account. Simple enough. They seem cool. Useful. Dangerous.

image01

Now, make a new application. You can name it anything you’d like:

image00

Once you’ve done this, the sly developer site redirects you to a Manage Applications page where you can find your Client ID and Client Secret.  Love it.

Let’s take these with us, shall we?

Now, let’s beat Bob’s game with some Python. Ugh, not that Python, you freak.

Create a new folder named after the street you grew up on and the name of your first pet, open it up in your terminal, and run the following:

pip install git+git://github.com/Clarifai/clarifai-python.git
export CLARIFAI_APP_ID=<application_id_from_your_account>
export CLARIFAI_APP_SECRET=<application_secret_from_your_account>

In the <application_id_from_your_account>, you put your Client ID.  In the <application_secret_from_your_account>, you put your Client Secret, not what you really think about Bob.

Now let’s get crazy and code.  Make a new Python file called bob.py and stick this in it:

from clarifai.client import ClarifaiApi
import sys

clarifai_api = ClarifaiApi(model='nsfw-v0.1')
result = clarifai_api.tag_image_urls(str(sys.argv[1]))
result = result['results'][0]['result']['tag']['probs']

if result[0] > result[1]:
    print 'Safe for work, you can trust Bob again (for now)!'
else:
    print 'Not safe for work. Classic Bob.'

Save this file, and then go back to your terminal and run:

python bob.py <bobs_image_url>

… and of course, stick Bob’s image URL in the <bobs_image_url> blurb.

Boo yah. You’re officially protected from Bob, at least in this sense. If you want to check out the GitHub repo for the code, here you go!

You can thank us @Clarifai for whipping out this endpoint for you, pun intended. <3


Introducing the Clarifai Champions!

Clarifai Champions is our new initiative to teach and train the next generation of great developer evangelists. After a mind-blowing number of high-quality applications from amazing hackers and doers, we finally narrowed it down to an amazing class of 27 devs who will make up the first class of Clarifai Champions!

Meet the crew who’s ready to blow everyone’s socks off – we have an incredibly diverse group of awesome, talented peeps and you can read more our about our Clarifai Champions below!

map

pavi

Pavi Vetriselvan

Pavi is currently a junior studying computer science at the University of Michigan. She’s a serial hackathon organizer with a slight Netflix addiction. She loves to learn and teach, hoping to secure a career in the educational technology in order to empower a future generation of thinkers and doers. Eventually, she’d love to go into secondary education or education policy. Fun fact: She has an unnatural obsession for owls and Harry Potter.

prince

Prince Wilson

Prince Wilson is a student studying Computer Science over at the University of Central Florida. He came in with no experience as a developer, the only thing that he had to his name was a passion for learning and growing. And on Jan. 15th, he just finished hosting UCF’s first hackathon and it was a huge success!

christina

Christina Zhu

Christina is a junior studying Computer Science at UC Davis. When she’s not busy directing HackDavis, she can usually be found volunteering for Girls Who Code and scouting more hackathons to go to. A few of her favorite things are: the PennApps Fellows, listening to Drake, and sleeping for 13 hours straight.

kevin

Kevin Lewis

Kevin is a Javascript developer from Birmingham, UK. He attended his first hackathon in 2011 and has been hooked ever since as an attendee, organizer and volunteer. Away from the screen, he builds (and occasionally designs) board and card games.

 

timirah

Timirah James

Timirah James, iOS Engineer at YogaGlo, is a leader in the Los Angeles tech community known for her active roles in the hackathon realm, as well as mentoring young girls through her program TechniGal LA (dedicated to influencing high school girls by exposing them to the many areas of opportunities of the tech world). Timirah dropped out of college (freshman year) to pursue software engineering full-time in 2013. Two years later, she became an instructor for iOS Development in Make School’s Summer Academy program. She is very passionate about building, educating, and expanding the tech community. Fun Fact: She is also a noted singer-songwriter, and recently released a song about her love for technology and innovation called “Coderitis”, which can be found on Soundcloud and Spotify!

atsushi

Atsushi Yamamoto

Atsushi hopes to live till a 100, wonders how to make his fast eating habit into a career, and likes his black tea with lots of milk. As a sophomore at University of British Columbia studying Business and Computer Science, Atsushi strives to build a community of builders and hackers. He started coding with edX’s Python course the summer before his college freshman year, and has been hooked ever since! He has been attending hackathons across North America and he is currently an organizer of a hackathon at his own university. When he’s not coding, you can find him exploring forests, enjoying hip hop beats and spending way too much time cooking his morning omelette.

sarabeth

Sarabeth Jaffe

A recent graduate in Computer Science from RPI, Sarabeth considers herself a mixture of developer, product manager, and data enthusiast. At university, she was heavily involved in the CS department, volunteering to recruit new students, acting as the Events Chair for the CS Honor Society, and founding RPI’s official Women in CS Organization. Before she starts full-time at Microsoft, she’s excited to be spending the next few months in the DC area volunteering as an Instructor for Girls Who Code, co-founding a start-up, and now studying to be a Clarifai Champion!

ivanIvan Mylyanyk

Ivan is a Ph.D. student from Ukraine and also a part-time software developer/team lead in a small outsourced IT-company. He often participates in different programming competitions and is really interested in the machine learning area. From time to time, different crazy ideas come to his mind. He is open to new challenges and still in search of his perfect career path.

lavanya

Lavanya Iyer

Lavanya is a Technology Analyst at Goldman Sachs, working on Full Stack Web Development. In her free time, she likes to sing, dance, play the flute, listen to music, watch movies, and solve programming challenges. Fun fact: she absolutely loves roller coasters! 😀

 

derekDerek Tor

Derek was born and raised in the Silicon Valley. He loves tech, hip-hop, and sitcoms. That’s why when he grows up he wants to become Donald Glover. He enjoys making things and helping others make things, especially software and music.

 

zahra

Zahra Traboulsi

Zahra is a third year Computer Science student at University College London and Events Director at UCLU Tech Society. By day, you’ll find her hacking, doodling, and helping to put together awesome events such as HackLondon. By night, she is a vocal advocate of toast-driven development.

gary

Gary-Yau Chan

Gary-Yau is the Head of Product Innovation at Oz Content, a SaaS tool that helps marketers craft content with data driven research. He have participated and mentored at over 50 hackathon competitions. Gary’s goal for 2016 is to apply his learnings from the Clarifai Champions program and help organize his first technology event on prototyping and design. Until then, you will most likely find him at the next hackathon in New York City.

claire

Claire A Durand

Claire grew up in France and accidentally stumbled into electrical engineering on her way to the US. She goes to Temple University where she discovered coding. She decided it was pretty okay and now she wants to continue doing that, but in New York. Also she arm-wrestles T-Rex’s in her spare time.

timotius

Timotius Sitorus

Timotius Sitorus is a Computer Science student at Stony Brook University. He is an avid hackathon hacker and has gone to over 40 hackathons. His favorite hobby is playing the guitar and experimenting with new technologies.

 

arti

Aarti C Bagul

Aarti is currently a junior at New York University, majoring in computer science and computer engineering. She was born and raised in India but chose to continue her studies in the US. She is interested in applications of Machine Learning to clinical medicine and hopes to continue working in the field when she goes to graduate school. In her spare time, she enjoys playing chess and indulging in popular British TV shows such as Sherlock and Downton Abbey. You can find out more about her on LinkedIn.

raj

Raj Krishnan

Raj is currently a senior in computer science at Iowa State University. He loves bringing people together and exploring tech. In his free time, Raj enjoys traveling, hiking, reading, and pursuing his borderline obsessive love for sushi. He’s excited to share his love for technology (and sushi!) with more people all over the world.

heather

Heather Huynh

Heather Huynh is a junior Computer Science major at the University of Georgia. She is passionate about STEM outreach, mainly in Computer Science, and Computer Science for Social Good. She also likes taking photos, traveling, and learning new skills.

 

kevin2

Kevin Chow

Kevin Chow is a computer science engineering student at the University of Florida’s Honors College. He is involved in ACM, UF’s Programming Team, and UF’s Engineers’ Week. He enjoys competitive programming, attending hackathons, reading, and writing.

 

niti

Niti Paudyal

Niti Paudyal is a fourth year at the University of Virginia studying Computer Science and Engineering Business. From Washington D.C. to San Francisco, she has interned as a software engineer in the Intelligence Community and Tesla Motors. She loves to cheer on the New England Patriots and UVA Basketball, enjoys hiking and running, and exploring new cities!

sami

Sami Alabed

Sami is a second year CS student at the University of Manchester. He’s also the co-director of GreatUniHack and president of the hackathon society. If you want to barter with Sami, he trades in hackathons’ stickers and Oreos!

 

charlyn

Charlyn Gonda

Charlyn thrives in the intersection between technology and design. She is currently sharpening her software engineering skills, and lives for that mind-blown-learned-something-new moment. Listening to TED talks while cleaning or doing laundry is her perfect Sunday morning. She’s a little too enthusiastic about package design – she once baked three dozen cookies just so she can package them adorably.

bryan

Bryan Yan

Born in Canada but from the Bay Area, Bryan is a sophomore at Carnegie Mellon studying Statistics and Machine Learning with a minor in Software Engineering. His last name is a subset of his first name. He also enjoys hiking, lifting, golfing, and chicken nuggets. You might not like him since he is a Heat fan and a Patriots fan.

caeley

Caeley Looney

Caeley is a sophomore studying Aerospace Engineering and Computer Science at Embry-Riddle Aeronautical University. In addition to her engineering based coursework, she is an active member of a number of women in computing groups, including NCWIT, She++, ProjectCSGirls, and Ladies Storm Hackathons. On campus, Caeley is involved in SWE, ERAU’s Women’s Engineering Institute, and their Experimental Rocket Propulsion Lab. Off campus, Caeley tries to attend as many hackathons as possible and travel everytime she gets the chance!

alex

Alex Terela

Alex Terela is a senior Computer Science major at Binghamton University and an organizer for HackBU, Binghamton’s annual hackathon. He is a big fan of technology, music, media, and lover of all things coffee! He’s aiming to begin working in a role that encompasses these interests following graduation, hopefully in developer evangelism!

zhifan

Zhifan Li

Zhifan Li is a senior studying Computer Science and Psychology at Rice University. Originally from China, she currently lives in Houston, and is ready to relocate to the bay area after graduation as a software engineer for Intuit. Here are a couple of her favorite things: hackathons, marathons, diet coke and afternoons spent binge watching Netflix.

zach

Zach Plata

Zach is a recent graduate of Iowa State University (go Cyclones!) and he is starting as a Software Engineer at Cerner Corporation in Kansas City, MO. His guilty pleasure is singing power ballads in karaoke. Please don’t judge him.

 

shaun

Shaun Chua

Shaun is a junior concentrating in Mathematical Creativity at New York University, Gallatin School of Individualized Study. He has a passion for starting projects, his latest being Lisa, a digital personal assistant via text. Shaun has also been a core member of several NYU initiatives such as the annual Entrepreneurs Festival and Startup Week. In his spare time, Shaun likes to think he’s cool and actively participates in breakdance battles across the east coast.

Well, those are our 2016 Champions – pretty impressive, huh? If you’re interested in following along with their progress, follow ClarifaiDev on Twitter! We will also be writing blog posts on topics in the Clarifai Champions curriculum, so if you want to learn more about tech evangelism, keep tabs on our blog.


Clarifai Champions: Building the next generation of technical evangelists

Here’s your chance to sign up for Clarifai Champions, a project-based online course and mentorship program designed to help you master developer evangelism skills like technical communication, community building, API skills, public speaking, and more!

At Clarifai, our vision is to answer every question with artificial intelligence. That means enabling people of all skill levels to build real solutions to real problems with our developer-friendly API. Not only do we want to help you build cool apps, we also want to give back to the developer community and inspire, teach, and equip you to achieve every goal you have. That’s why we’re excited to announce our Clarifai Champions program!

The Clarifai Champions program is designed to help you support your software developer community with Clarifai technologies. As you learn about developer outreach and the tech community, we will help you:

  • Organize your first hackathon
  • Apply to speak at conferences
  • Build your technical speaking chops
  • Put together technical writing projects
  • Find and create open source projects to which you can contribute
  • Hack with Clarifai’s API on some cool projects
  • And moooore

If you’re interested in being a developer evangelist, becoming more active in the developer community, building your API skills, getting mentorship, or just wanting to improve your technical communication skills, this program is for you!

The details:

Clarifai Champions is a FREE program from Jan 25, 2016 to April 29, 2016. Anyone can apply and attend – you do NOT need to be a Clarifai customer!

What you’ll get:
  • A full-bodied project-based online course with delightful hints of citrus, cinnamon, cocoa, and all the tips and skills you need to become a successful developer evangelist
  • Regular available office hours with Clarifai dev evangelists
  • Some legit Clarifai swag
  • The top evangelists from the program will be flown out to our NYC headquarters for a day! More details will be given during the program.
What you’ll learn:

First Segment: Technical Writing

Projects:

  • Write a technical blog post about anything you’d like and publish it
  • Write a Clarifai API tutorial for some specific demographic of your choice

Second Segment: Public Speaking

Projects:

  • Write a technical talk proposal and submit it to a conference
  • Choice: Record a technical video blog about a given topic OR give a talk at an event (doesn’t have to be the same as your proposal)

Third Segment: Events + Mentorship

Project:

  • Organize an event. Whether it be a hackathon, a meetup, or a workshop, put together something where you can mentor others and help them learn how to make something awesome and learn something new.

Fourth Segment: Technical Demos/Projects

Projects:

  • Free-for-all demo: Make a technical project that showcases how to put together something basic with some API or unusual language/technology.
  • Contribute to open source: Find any open source project you like and make a PR.
  • Clarifai app: Make a Clarifai app that showcases how easy it is to integrate the API.
How to apply:

Applications open December 27, 2015
Applications close January 8, 2016
Acceptances sent out January 15, 2016
Program starts and ends January 25, 2016 – April 29, 2016

Application:

To keep the program valuable to participants, we’re limiting the number of Champions.

We’re looking for devs who have:

  • A demonstrated interest in software development, technical documentation, public speaking, and/or developer events
    Side projects
  • Active participation in the tech community
  • A passion for empowering others
  • Excitement for developer-centric products (like Clarifai’s API!)