---
# System prepended metadata

title: Glass Dollar Node + React Coding Challenge

---

# Glass Dollar Node + React Coding Challenge

Thanks for your interest in joining the GlassDollar team 🏝. This coding challenge is part of our evaluation process.

Please spend **no more than 4 hours** on this challenge. You might not have time to finish everything exactly how you would like it and that's okay. However, the code you do write should be clean, work as expected, and be bug-free. Part of the challenge is about articulating what you would do if you had more time.

## Goal

You are going to build an anonymous online survey tool. Think: Google Forms.

## Terminology

The person who creates the survey will be called the *creator*.

The person who fills out the survey will be called the *respondent*.

## Requirements

You must use React, JavaScript (or TypeScript), and Node.js.

## User journey

A creator should be able to create a simple form with one or more questions.

A response to a question can either be a text field (300 characters max) or a five-point Likert scale (i.e. strongly agree to strongly disagree).

The creator can then give a URL to one or more respondents who can then fill out the survey.

When these respondents have filled out the survey, they can optionally enter their email address, and then click submit. The responses are saved in the database.

The creator can then see the answers for each of their surveys in a React-based frontend interface.

## Non-requirements

No login/signup system is necessary.

## Bootstrapping your project

You will need a backend and frontend. We suggest using `create-react-app` for the frontend, and choosing either Koa/Express or similar for the backend.

## Timeframe

You should submit your solution within 7 days of receiving this assignment. If you're going to submit later than this please let us know ahead of time.

## Submitting your solution

Zip your git repository (including `.git` directory) and [email it to us](mailto:eng-interview@glassdollar.com).

After your submission, we will review it internally and reach back out to you.

## Tips

- Tests - we don't expect 100% coverage but a few would be nice.
- You should write production-ready code.
- You can use TypeScript if you like.
- GraphQL would be great - we're big fans.

## Questions

Feel free to ask questions! Please contact vaughan@glassdollar.com.
