Skip to content

Instantly share code, notes, and snippets.

@eliwoods
Created December 7, 2017 20:57
Show Gist options
  • Save eliwoods/2632b5ef10b8d7a57d069f83bfffc44c to your computer and use it in GitHub Desktop.
Save eliwoods/2632b5ef10b8d7a57d069f83bfffc44c to your computer and use it in GitHub Desktop.

Eaze Growth Engineer Homework

Our Front End code challenge for growth engineering applicants.

Project

We would like you to build a web app that displays the trending GIFs on Giphy. Users visiting the website should be able to search for GIFs and see a list of results. The user should be able to expand a GIF and see its details (username, rating, anything you think could be relevant).

Users should have a good user experience on desktop, tablet and mobile devices.

This project is pretty open ended in order to leave you some freedom to improve upon the base by focusing on what you like the most.

One of the top priorities for a growth engineer at Eaze is to optimize various UI/UX components to driver user acquisition and retention. In this project, we would like you to pick two components of your app and write A/B tests for them. Make sure that you tests are built to optimize for user enagagement, such as opening gifs, viewing gifs. What tooling would you use and why? What sort of results do you expect from your test and how would you track them? Don't worry about gathering statistics, just focus on setting up your tests.

Here are some example of components you could test, but feel free to think of your own:

  • When the user scrolls the page to the bottom, load new GIFs automatically.
  • Sort the results by uploaded time and let the user choose if they prefer ascending or descending ordering.
  • Let the user favorite GIFs and list their favorites. The users should be able to retrieve their favorite GIFs even after refreshing the page.
  • Provide the ultimate user experience: scrolling, searching, fetching… could be optimized for UX.

Project Structure

We've included all of the boilerplate to get started with this project using create-react-app, feel free to use this structure if you'd like. If you'd prefer to use something other than React or you'd prefer a different project structure, go ahead and make any changes you'd like.

Evaluation

The app should run on any computer by running npm install and npm start. We’ll evaluate the exercise by looking at the end result and the code.

Coding at Eaze

At Eaze we strive for writing simple, maintainable and clean code.

We prefer simplicity and over complexity.

We comment our code and commit often.

We love our users and we really care about providing a good user experience and pleasant UI.

We encourage out of the box thinking and we love to be impressed!

@shri
Copy link

shri commented Dec 8, 2017

Change "Make sure that you tests are built to optimize for user enagagement, such as opening gifs, viewing gifs. " to "Make sure that your tests are built to optimize for user engagement, such as opening gifs and viewing gifs."

@shri
Copy link

shri commented Dec 8, 2017

Change:
"

  • When the user scrolls the page to the bottom, load new GIFs automatically.
  • Sort the results by uploaded time and let the user choose if they prefer ascending or descending ordering.
  • Let the user favorite GIFs and list their favorites. The users should be able to retrieve their favorite GIFs even after refreshing the page.
  • Provide the ultimate user experience: scrolling, searching, fetching… could be optimized for UX."

To:

"

  • When the user scrolls the page to the bottom, load new GIFs automatically.
  • Changing the way the GIFs are sorted.
  • Displaying rating and other meta data before clicking into the GIF"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment