A take-home coding challenge for frontend developer candidates.
This repo contains a Node.js/Express backend with a working (but buggy) authentication API. Your job is to fix the backend bugs and build a complete frontend login experience.
- Debug and fix the existing Express API
- Build a login UI from scratch (any framework)
- Implement proper form validation, state management, and component design
- Run the existing test suite to identify failing cases
- Debug and fix the API bugs in
back_end/ - Do not change the API contract — only fix implementation issues
Build a login page in front_end/ that covers:
- Form validation — client-side input checks before submission
- State management — handle loading, success, and error states
- Security — avoid common pitfalls (XSS, credential exposure)
- Component design — clean separation of concerns
No design requirements. Functionality and code quality matter most.
- Any frontend framework is fine (React, Vue, Angular, etc.)
- AI tools are allowed and encouraged — show you can use them effectively
- Write tests for your code
- Document your decisions and any referenced open-source projects
- Follow Git best practices: commit per feature, clear commit messages, branch management
# Install and run the backend
cd back_end
npm install
npm test # see which tests fail
node app.js # start the server on :3000
# Set up your frontend in front_end/- Fork this repo
- Complete the challenge on your fork
- Open a PR back to this repo when done
| Area | What we look at |
|---|---|
| Bug fixing | Did you find and fix all backend issues? |
| Frontend quality | Validation, error handling, component structure |
| Code clarity | Readable, well-commented, consistent style |
| Testing | Coverage of key scenarios |
| Git hygiene | Commit history tells a clear story |
| AI usage | Effective use of AI tools as a force multiplier |