Take-home technical exercise for a Prototyping Engineer role.
A participatory budgeting app where community members submit, discuss, and upvote budget requests. The most-supported requests surface to the top for project proposals.
Company: Superpowered
- Submit budget requests
- Upvote and discuss community requests
- Detailed request view with threaded comments
- AI-generated expert feedback on new requests via OpenAI
- Auth and data persistence via Supabase
- Next.js — web framework
- React — UI library
- TypeScript — type safety
- Tailwind CSS — styling
- Supabase — database and auth
- OpenAI — AI-generated comments
Install dependencies:
npm installCopy .env.example to .env and fill in your Supabase and OpenAI keys:
cp .env.example .envRun the development server:
npm run devOpen http://localhost:3000.
Create your own test users via the sign-up page. You will need your own Supabase and OpenAI API keys configured in .env (see .env.example).
Built on Supabase for auth and data, with an OpenAI integration that auto-generates an expert comment whenever a new budget request is submitted.
- No automated testing (Cypress/Jest would be recommended)
- No Storybook component documentation
- AI comment generation was partially implemented within the time constraint