Brief

The Redbubble system has many digital images, often taken with a camera. We have exported EXIF data from a selection of these images. This data is available via an API.

This test is available for many roles, please follow the instructions for the role you are applying for:

Note that for each of the roles, we are not looking for design skills, it must be functional, but a basic look and feel is sufficient.

Full Stack Engineer

Your task is to create a set of static HTML files to allow a user to browse the images contained in the API.

The API is available at: /api/v1/works.xml.

Create a batch processor that takes data from the API, and produce a single HTML page (based on this output template), for each camera make, camera model and also an index page.

The index page must contain:

Each camera make HTML page must contain:

Each camera model HTML page must contain:

The batch processor should take the API URL and the output directory as parameters.

The data returned from the API contains a small sample set of works.

iOS Engineer

Your task is to create an app that allows a user to browse the images contained in the API. Your app should be buildable & runnable using the latest (released) version of Xcode. You do not need to enable a build for device, the simulator is fine.

The API is available at: /api/v1/works.json.

The first screen must contain:

Each camera make screen must contain:

Each camera model screen must contain:

The app should allow the customisation of the API URL that is used to fetch the data (but should be initially set to the URL above).

The data returned from the API contains a small sample set of works.

Frontend Engineer

Your task is to create a single page app (i.e. no full page reloads) that allows a user to browse the images contained in the API. Your app should be runnable in current major browsers.

The API is available at: /api/v1/works.json.

The page should load the data from the API and displays the works. Works must be displayed with at least the image.

Furthermore, create a set of filters that lets the user drill down into the works, eg. through sorting, filtering, searching.

The user should be able to filter at least by camera make and model.

The app should allow the customisation of the API URL that is used to fetch the data (but should be initially set to the URL above).

You can use any frameworks / libraries you like but make sure that your own work clearly shines through.

The data returned from the API contains a small sample set of works.