Warrior Dash – Analytics

Like any site, Warrior Dash had Google Analytics installed and running in the background.

Once in a while, various members of the team would poke around in GA in order to gleam high level details like gender or mobile usage.

But these single metrics don’t really give the whole picture – especially when half the funnel is not being tracked at all.

Questions remained:

  • How many people clicked to the checkout?
  • Where did people drop off along the checkout process?
  • How far do people really scroll on these pages?
  • Which demographics tended to purchase which products?
  • Did any channels in particular tend to lead to more sales?

Answering these questions could lead to specific actionable steps the team could take to improve sales and maximize advertising costs; a much bigger impact than perusing total sessions and site bounce rate.

Adding Proper Views

First things first, I split the single All Web Site Data view into three different views.

Since the All Web Site Data view already had IP filters on it, I renamed it to Master View. This would be the primary view the team would use to view their data.

Second, I created a true All Web Site Data view with all filters removed. This acts as a backup of site data in case we need to view raw results.

Lastly, I added a Test View that would be used to try out new dashboards, segments, filters, goals, or funnels. It’s important to have a test view so you don’t impact your Master View unless you’re sure you’ve done things right.

Ecommerce Funnel Tracking

Next up, we needed to start tracking what happened when we sent people to checkout. Warrior Dash checkout was on a different platform than the website itself, so not only did we need to add our code to it, but we needed to make sure Google Analytics would be able to track a visitor across both domains.

This is called cross-domain tracking and unfortunately, Google doesn’t handle it out of the box. You would assume that since the same tracking code appears on two sites, it would naturally link the two, but instead GA will treat them both as referral traffic and throw your data and assumptions in a big way.

On top of this, the Ecommerce platform used on-page popups to guide users through the checkout flow instead of simple pages. Since Google Analytics only tracks new page views by default, we needed to add event tracking to the cart process so we could see where people dropped off as well as advanced ecommerce tracking to the products themselves to gleam insight into purchases made.

So, I worked with the Ecommerce development team to implement cross-domain tracking, advanced ecommerce tracking, and event tracking throughout their cart funnel.

Scroll Tracking

On top of that, I added scroll tracking to key pages to gain better insight into which sections of these pages visitors actually saw.

This way, the team could better understand which information was being consumed before users either exited the page or continued to the cart and ultimately decide on how to best proceed with organizing these sections.

Better Reporting

Now, it’s nice that all of this data is being properly collected in Google Analytics, but what does that mean for non-techies?

Wouldn’t it be great if key insights were pre-analyzed and available on a convenient dashboard?

Well, the Warrior Dash team is in luck! Google Analytics offers custom dashboards to view key metrics in an easily-digestible way.

They can now see total sales volume per channel, view revenue by demographic, and check mobile cart abandons all in one convenient location – now that’s better reporting.

EventSprout – Mass Import

EventSprout is an event management and Ecommerce solutions that event organizers use to sell tickets.

In a typical sale, a single user goes to buy a single ticket and the checkout is very simple.

But what if a group wants to buy tickets? Or an organization comprising of dozens or even hundreds of participants? A single checkout process would take hours and with so much information added to one server request, it could break the process altogether.

The solution? Adding mass import functionality for customer support to use at their discretion for these large sales.

In short, the organization would send over an excel file filled out with member information. Everything from name and age to shirt size and address could be filled out before hand and uploaded to EventSprout for mass order creation.

First, I needed to validate that the file was a CSV. Excel files, PDFs, and other images types don’t produce clean data for use in segmenting multiple users and their data.

After validating a proper file had been uploaded, the user would select the event these customers were attending and select whether or not the system should email users after successfully adding them. Easy enough.

Status: It’s Complicated

Though fields like first name, last name, and email are required for every single event on the platform, each event can have unlimited additional questions for participants to fill out such as age, address, gender, shirt size, etc – each requiring their own custom validation rules.

I needed a way to preview a few of the uploaded columns and allow the user to select which column was for each event question. This included the ability to ignore an unnecessary column and ensuring no duplicate columns were selected by accident.

Additionally, there was no simple way to choose which ticket these customers wanted. EventSprout doesn’t know that GA stands for General Admission, so I had to build out a “ticket translator” for the user. For any event, it would generate the proper value of the ticket name, including the groups it was nested under. If this proper name was not added to the ticket column, it would throw an error.

Speaking of Errors

Now, what if a row had an error? Should we invalidate the entire import?

I decided to allow successful orders through and create a new CSV of failed rows – including their error message – so that the user could correct the data and re-upload with ease.

If that all sounds easy enough, let’s remember that this had to work within the existing platform and a ton of core code needed to be modified in order to pass through orders in this way. Code that was in use on an existing Ecommerce platform that handles hundreds of thousands of dollars of transactions for their clients, not in a pre-launch development bubble.

So, in that light, I created unit tests to run against every new commit that tested both the success and failure of mass imported CSVs.

In the end, the packaged product solved the problem nicely to the delight of customer service reps who had to enter all these customers manually before.

Firefly Music Festival – Survey Platform

Like any product or business, getting customer feedback is critical to ensure your solving their needs.

Firefly Music Festival took that effort one step farther by announcing that their 2017 festival would be fan-curated.

Fans would get to cast votes for festival artists, submit poster designs, and even select the name of a Taco truck.

Behind the scenes, the Firefly team wanted to collect demographic information and ensure that no one tried to game the system, all while providing multiple types of surveys across 6 categories each with their own start and end dates.

Survey types included:

  • Text Submission
  • Multiple Field Submission
  • Multiple Choice
  • Image Select
  • Rank the Following Random Selection
  • Upload File
  • Combinations of the above

Some would allow unlimited votes, while others could have a limited number of votes per day.

The complexity of this system did not lend itself to any available 3rd party solution, so I had to build the platform from scratch.

The Core Build

Since this was the first year Firefly was presenting itself as fan-curated, it didn’t make sense to invest in the platform’s full capabilities. There was always a distinct possibility of scrapping the concept for the next year, so I opted to keep the platform lean.

This meant limiting administration and management functionality severely and keeping the platform as a developer solution. The Firefly brand team would plan and organize the content and direction of each survey and I would work to build each of them out as needed.

At its core, users would need to register and fill out base demographic info. In order to prevent spam voters and cheaters, users were ultimately required to confirm their accounts before proceeding through the platform.

When a user submitted a survey, each field of their entry would be added to a master answers table that listed the survey’s ID, the user’s ID, the type of question, the question’s title, the option number of the question (for multiple checkboxes and band ratings), and finally the value itself.

Additionally, a separate table kept track of the surveys a user had filled out in order to prevent users from voting too many times.

This core data structure would easily provide for managing every survey type.

The Survey Builds

Though most surveys were simple text submission or multiple choice and could be easily reproduced, some survey builds were complex and required creative planning in order to fit them into the existing system.

The following surveys broke the mode and required core changes.

Zoom Contest

In years past, Firefly had run a “hide-and-seek” contest called the Zoom Contest.

The contest began on the web page with a zoomed out map of a city. As users tweeted a certain hashtag, the map would zoom in further and further until it hovered above a local business. There, the first fans to find the Firefly representative would win VIP passes to Firefly.

So, I had to build out a system that would allow for back-to-back city contests, track and actively display Tweets, and zoom in randomly around the specific location (to prevent people pinpointing the location too early).

Though the contest did not track any user submissions, it still became a part of this fan-engagement platform.

Big Break Live

Every year, Firefly holds a contest for bands around the globe to submit themselves for selection in the Big Break contest. After internal rounds of vetting, fans can vote on a final selection of bands and one is ultimately chosen to come out to Firefly to perform. It’s an amazing chance for new artists to reach a huge audience.

In 2017, the Firefly brand team renamed Big Break to Big Break Global and created a local content called Big Break Live.

In this contest, only bands within 150 miles of Dover, De could submit their acts.

After vetting, bands would go through multiple rounds of voting – ultimately culminating in a live show for an audience and a panel of judges.

Both of these contests required submission management, multiple voting periods, different votes/day rules, and elimination rules. As the contests progressed, more and more details about the bands would be shown.

I created a separate database table for these bands and their data, opting to use json formatting for their submitted data as some bands would provide more or less detail.

I don’t like wasted database columns.

Talent Survey

Firefly relies heavily on fan feedback when it comes to booking bands and discovering new talent.

The yearly talent survey is sent to everyone and asks them to rate acts from 0-10 and a few other demographic questions.

Fans certainly wouldn’t vote on every one of the hundreds of bands out there, so the survey needed to show 40 random acts in order to ensure voting evened out for all bands.

On top of that, the team wanted to open up voting to as many people as possible so they asked for the survey to not require a login. So, depending on if you were logged in or not, demographic questions were added to the survey and a guest submission was saved. Though not originally built with the intent to save guest submissions, I outfitted the core to handle this process.

The result? Over 15,000 submissions in 2017 and a solid foundation for talent planning for 2018’s festival.

Band Name Generator

Somewhere along the way, the Firefly team had an idea for a viral marketing product that would allow fans to feel personally attached to the 2017 festival and provide wearability to their audience.

In similar fashion to the Wu Tang Clan Name Generator, I built a Firefly Band Name Generator.

In short, a user could enter their name a random band name would be provided – but not purely random. If they entered their name again, the same response would be spit out. Change a single letter and you would have a completely different name – almost like magic.

The magic uses two techniques and no database storage.

First, the team helped me compile two lists: one of adjectives and one of nouns. These would be used to create adjective-noun pairings for the final band name.

Then, the name provided would be broken down and passed through php’s srand() function – which alters the default random number generator. With the random generator altered to fit the name, we can pass through the list of adjectives and nouns and produce a pairing. Since the name always produces the same random number generator, the same pairing is always produced. Neat!

Now that we had a magic band name pairing, we could add the name to an image (not just on top of it) to produce a shareable image.

Just upload the image to Amazon S3, add the image URL to the open graph structure of the page, and Facebook will automatically pull the image when the URL is shared.

All In All

Over the 6 month period of building and launching the product, the platform added 35 different surveys, registered nearly 50,000 users, received 225,000 submitted surveys, and stored a total of 2.1 million individual answers in the database.

Now that’s big data.

Cheers! Drinking Card Game

In 2009, newly introduced to Rutgers as a freshman, I founded a chapter of a national fraternity that thrives on campus to this day.

Four years later, I graduated with a degree in physics and a taste for beer.

In my years at Rutgers, we had a handful of go-to drinking games. Pong was champion and flip-cup came in a distant second, but before the frat houses and pong tables all we had was a dorm room, a plastic handle of terrible terrible vodka, and a deck of cards.

We played Kings.
aka Circle of Death.
aka Ring of Fire.

The game was simple: shuffle, draw a card, do the rule.

Picked up a seven? Heaven. Last person to point up drinks.

Draw a three? Me. Drink.

It got us hammered in no time. Well, the terrible vodka and low tolerance to it is what really got us hammered, but you get the idea.

The Pitch

But, there were always a few problems.

First off, we always forgot the rules – especially after a few rounds.

Second, some of the rules sucked. Honestly, Question Master is worthless and should be destroyed from human memory.

Thirdly, the cards always got ruined or sticky. Somebody always spills a drink and it’s always on the cards.

Fourth, there were only 13 possible rules? It got kind of boring after a bit.

Finally, playing with that god awful King’s cup is the worst thing to happen to anyone. Like, who wants to get stuck drinking a mix of beer, wine, and liquor. It makes me gag just to think of it. Nobody wants to puke.

So, I said screw that and made my own drinking card game: Cheers.

Originally, I named it Cards Against Sobriety, but you-know-who didn’t like that too much.

It had everything I wanted and nothing I hated.

Rules on the cards? Check.

Better, cooler rules? 36 of them instead of 13.

Waterproof, rinsable cards? Nope! Just play it online for free!

More than 13 rules? Yup! And they have different number of cards depending on the severity.

No King’s cup? No King’s cup… unless you’re into that. You do you man.

The Build(s)

I’ve gone off in a few directions with this.

First, I hired a designer to create a card template and used it to produce all my rules.

I then copied and pasted them into sheets, printed them, laminated them, and cut them all out by hand – all 36 rules on 130 cards times three decks.

Play testing was a blast and cards were quickly validated as fun or not.

Then, I had to stomach the idea of mass ordering thousands of card decks in order to sell them online or trying to run a Kickstarter campaign for the first time.

As a compromise, I put up a website with the free downloadable print files. Anyone could enter their email and download the game for free. Of course, they’d need to print, laminate, and cut them out – but it’s possible for the hard-headed.

Then, acknowledging how unlikely people were to print the cards, I decided to put my tech skills to the test and built an online version of the game – complete with flip animations.

Now, there were certainly some limitations with a basic MVP. Any held cards would need to be handled by the user, so I opted to give them no responsibility and removed those cards from the online version.

Blank cards would need a more advanced build and would add more complication than enjoyment – and I’ve never filled out a blank card ever.

On top of that, playing a drinking game with a phone may not feel as natural and community-driven as cards played on a table.

Maybe Mobile is Better

But, the online version does provide some interesting engagement opportunities.

For one, you could engage with social media – posting on each others walls, sharing, tweeting, etc.

You could set timers, design audio/video cards, use gifs, explore UI interaction or other games.

The possibility of syncing across phones is a distinct possibility and would allow for a more full use of held cards, stats, and deeper gameplay.

For now, I’m focused on user acquisition and getting feedback from people who’ve played the game. Is it fun? Would you buy it?

Meanwhile, I’ll just enjoy playing it with my friends with better vodka tasty beers.

Firefly Music Festival – Discover Artists

Year after year one of the big concerns the Firefly team sees mentioned by their audience is that they don’t recognize a lot of the smaller acts appearing at the festival.

It’s impossible to expect fans to know every artist, so I proposed a section of the site be created to showcase all the artists from the lineup.

A visitor would be able to easily click any artist name and a popup would show a YouTube clip of their biggest hit (or a SoundCloud playlist if available) and links to their social profiles.

At first, every popup would load content by default – after all, they had to retrieve each of these social links and embeds from their respective artist’s custom post. This, as you can imagine, caused significant and untenable load delays for the page.

So, using the WordPress API and AJAX, I crafted the artist popup to only request the artist data when a user had clicked on the artist name. This immediately resolved page load speed issues and the popup did not suffer for it.

Getting to know Firefly’s lineup got that much easier.

But then I took things one step further.

It’s tedious to click through over 100 bands to find ones you’d like.

What if you were able to select an existing band you loved on the lineup and related artists would be highlighted for you?

That way, you’d be able to listen to similar bands to the one you already liked – increasing your chance to enjoy new music at Firefly and the likelihood that you’d attend.

I pitched the talent team and built out Firefly’s Discover Artists page on the website. The Firefly team could easily select which artists were related to each other in the WP backend while visitors could view those similar artists as they were instantly highlighted on the lineup.

Coupled with the artist popup and a full page of curated playlists, exploring new music at Firefly is easier than ever.

Skinny Ms. Website

SkinnyMs.com is a large online publication dedicated to providing healthy recipes, weight loss tips, and fitness routines to women across the globe.

Their content is seen by nearly two million visitors every month and they’ve been featured in Glamour, Today, Cooking Light, The Huffington Post, Yummly, MSN, and many more.

I was tasked with designing a responsive website that would showcase their content, improve the user experience, and promote their new contributor program.

SkinnMs-stage

My Approach

Looking to evolve from their outdated website, SkinnyMs. came to me in order to capture the essence of their brand. I focused on giving their content room to breath with a heavy emphasis on whitespace and minimalism.

Showcase-1

The Process

This project saw the complete end-to-end phases of our process: research, wireframes, design, development, testing, implementation, and support.

Not only did they need the website to truly show off the beautiful photography, blog content, and recipes, but they also needed room for advertisements and an improved selling experience for their Ebook collection.

Before & After

SkinnyMs-Before-After