Welcome to the screen. Read this entire document before you start the timer.
You are a fullstack engineer joining an early-stage AI startup. The startup is run by Riley Vance, a founder with strong opinions, weak technical instincts, and an Olympic-level capacity for sending dramatic messages at unhinged hours.
Riley is going to send you a brief. The brief will demand a startup-launching, investor-impressing, world-changing product. The brief will be partially impossible, partially illegal, partially incoherent. You have 30 minutes from clone to PR.
Your job is not to ship Riley's vision. Your job is to:
- Read carefully.
- Identify the real good idea hiding inside the rant.
- Push back on the impossible/risky/expensive parts — politely, with reasoning.
- Ship a defensible thin slice.
- Document everything in
PLAN.md.
This is a screen for senior judgement under stakeholder pressure, not for raw coding speed.
- Time: 30 minutes, starting the moment your topic assignment lands. Reading this
README.mdand the topic files in advance is free — feel free to clone, browse, and bookmark before the test. - Submission flow: fork this repo to your own GitHub account, push
submission/<your-name>to your fork, and open a PR from your fork againstCloudBater/meteorfall-call:main. You don't have write access to the upstream repo — that's expected. - Stack: free choice for FE and BE. Both are required.
- BE proxies Gemini: the FE never holds the API key. The Gemini key is delivered out-of-band (Slack/email).
- Data layer: DummyJSON snapshots baked into
data/as static JSON (products.json,users.json,recipes.json). No network calls required. The shape matches the live API; the live URL works too but rate-limits aggressively (~1–2 req/s). - Vendor consistency: Riley sometimes name-drops competing AI products in their pitches (e.g. Whisper). Treat that as stakeholder color, not a technical requirement — our stack is Gemini.
- One-command local run:
make dev,npm run dev,docker compose up, your call. The grader must be able to start it without reading code.
There are three topics in topics/. They are publicly visible — read them all in advance if you want. At T-0 (when the timer starts) you'll be told which topic you got. Different candidates may get different topics; sometimes the topic is randomized, sometimes intentional.
| Topic | DummyJSON endpoint | One-line pitch | |
|---|---|---|---|
| 1 | SoulSync | /users |
AI-matchmaking dating app, score 0–100 |
| 2 | ShopGenie | /products |
AI shopping concierge, picks items for you |
| 3 | ChefMind | /recipes |
AI recipe predictor based on your fridge |
A pull request against main with:
- A
PLAN.md(copied fromPLAN.template.mdand filled in first) - A working thin slice that runs locally with one command
- At least one test — committed before its impl earns the top TDD score (commit timestamps are graded)
- A PR description that includes:
- The list of features you cut and why
- What you pushed back on Riley about (and what you proposed instead)
- A loom, screenshot, or terminal paste showing it running locally (any visual proof — optional but earns the top "Runs locally" score)
If any of these red on your PR, a human won't even look:
- A Gemini-shaped key appears anywhere in git history (
gitleaks) node_modules/,dist/,.next/, or build artifacts committed- No
PLAN.mdat repo root - Zero test files in the PR diff
Fork CloudBater/meteorfall-call to your own GitHub account first (use the Fork button in the top-right of the repo page), then:
# clone YOUR fork, not the upstream
git clone https://github.com/<your-github-username>/meteorfall-call.git
cd meteorfall-call
cp .env.example .env
# paste the GEMINI_API_KEY we sent you out-of-band
cp PLAN.template.md PLAN.md
# fill PLAN.md before you start codingWhen you're ready to submit:
git checkout -b submission/<your-name>
# ... commit your work ...
git push -u origin submission/<your-name>Then open a PR on GitHub from <your-username>:submission/<your-name> → CloudBater/meteorfall-call:main. The "Compare & pull request" banner appears on your fork after the push.
Use them. Claude Code, Codex, Cursor — whatever you reach for daily. We want to see how you collaborate with AI, not avoid it. If your repo includes a .claude/, an AGENTS.md, or visible prompt iterations in your commit history, that is a positive signal.
What we are not looking for: unedited AI output dumped wholesale into a PR. Read the diff before you commit it.
Read GRADING.md before you start.
Good luck. Riley's about to send you a brief.