Our Front End code challenge for growth engineering applicants.
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.
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.
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.
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!
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."