PepperHQ Frontend developer challenge

TL;DR

  • The coding challenge is the first stage of our interview process at Pepper
  • Instructions on how to complete: Instructions
  • The challenge we want you to complete: Challenge
  • Estimated time to complete: 2 hours
  • No need to do the challenge if you already have written similar code: email us a link to that repo instead

General

From our point of view, an arbitrary whiteboard test assessed by interviewers looking over your shoulder is an unrealistic way to measure how developers actually work on a day-to-day basis. Instead, we have tried to produce a challenge that represents some of the work that we do at PepperHQ.

This is a way for candidates to demonstrate their abilities to us if they don't have any freely accessible examples already. If you already have easily accessible examples that you think demonstrate your abilities, then feel free to send us an email and we can use them instead.

After you have completed the coding challenge, one of our developers will analyse it. If this is positive, we will go on to the second stage of the process where we will use it as a way to start a dialogue in the form of a code review and general technical discussion.

We are always open to iterating on our interview process so please email us if you have any feedback.

  • Copy or fork this github template into a new repo
  • Complete the coding Challenge
  • Invite PepperhqDevChallenge to your repo so we can see your solution.

Our customers have access to a wide range of tools to customise their Apps, such as a Menu editor. We integrate with a large number of point-of-sale providers to load menus automatically for customer locations, but sometimes this just isn't enough for our customers, who may need additional customisability of their menus and the products on it.

The task is to build a dashboard page that:

  • Loads and displays a list of all of the products in the menu returned from this mock point-of-sale API : http://frontend-challenge-api.pepperhq.com/menu.json
  • Allows editing of the information for each product (though saving edits is not required!)
  • Anything you think adds to the page, show us your creativity!

Your ability to design a stunning looking dashboard page is not what we're looking for here - we're more focused on the code powering it. So don't worry if you're not the web equivalent of Picasso!

We would prefer you to use React and TypeScript as that's what we use, but you can use other tech / languages if you prefer.