Code Assignment application icon

Code Assignment

Think

Author, validate, and publish auto-verifiable coding problems. Draft candidate ideas from a brief, expand a selected idea into a full problem package (statement, starter scaffold, verification harness), then validate it before it appears in the library.

JobsCodingInterview PrepDocOps
Start New Session

Code Assignment Documentation

# ๐Ÿงฉ Code Assignment **Turn a rough hiring idea into a polished, self-checking coding exercise โ€” in minutes.** Writing a good take-home or interview coding problem is slow work. You have to invent something interesting, write a clear problem statement, build starter files, and then prove that the whole thing actually works before you put it in front of a candidate. Code Assignment does the heavy lifting for you. Describe what you want, review a short list of candidate ideas, pick your favorite, and let the app build and test the complete package for you. --- ## What you get - **Fresh ideas on demand** โ€” a batch of candidate problems tailored to your language, topic, and difficulty level. - **Complete problem packages** โ€” a written problem statement (README), starter files, and an automatic checker that can tell whether a submitted solution is correct. - **Proof that it works** โ€” every problem can be validated automatically, so you never hand out a broken or ambiguous exercise. - **A searchable library** โ€” everything you create is kept in one place, filterable by language, topic, difficulty, tags, and review status. - **One-click downloads** โ€” grab a whole batch or a single problem as a zip file. --- ## Getting started ### Step 1 ยท Draft ideas Open the **1 ยท Draft ideas** tab. 1. Give your batch a short name (for example `2025-q1-python-graphs`). This just keeps your work organized. 2. Fill in the brief: - **Language (s)** โ€” e.g. `python`, or `any`. - **Domain / topic** โ€” e.g. `graphs`, `string processing`, `concurrency`. - **Difficulty target** โ€” `easy`, `medium`, `hard`, or something descriptive like *"45-minute interview screen"*. - **Constraints** โ€” anything that must be true, such as "no external packages" or "must run offline". - **Reference context** *(optional)* โ€” paste a job posting or a list of required skills, and the ideas will lean toward that role. - **How many ideas** โ€” leave blank for a handful (around 5โ€“8). 3. Click **Draft ideas โ†’**. In a moment you'll see a set of idea cards, each with a title, a one-line summary, the skills it tests, why it's interesting, and where candidates might get confused. > ๐Ÿ’ก Tip: You can come back to any earlier batch from the list on the left, tweak the > brief, and draft again. ### Step 2 ยท Pick an idea and expand it Found one you like? On that idea's card, adjust the suggested problem id if you wish and click **Use this idea โ†’**. The app writes the full problem package โ€” statement, starter scaffold, and automatic checker โ€” and then takes you straight to the Library. ### Step 3 ยท Review and validate In the **2 ยท Library** tab you can browse everything you've created. - Use the filters at the top (language, domain, difficulty, status, tags, or a text search) to narrow the list. - Click any card to open it. You'll see the problem details, the full README as a candidate would read it, the latest test results, and any written feedback. - Click **โ–ถ Validate this problem** to have the app solve and test the problem end-to-end. When it finishes you'll see a pass/fail summary and per-test details. - Click **Generate report** for a written critique of the problem โ€” clarity, difficulty, and anything worth fixing. - Click **Download problem (zip) โ†“** when you're ready to share it. --- ## Understanding the status badges | Badge | What it means | |------------------|----------------------------------------------------------------------| | **unexpanded** | An idea has been chosen, but the full package hasn't been built yet. | | **draft** | The package exists but hasn't been tested. | | **needs-review** | It was tested and something didn't pass โ€” worth a look. | | **validated** | Tested and passing. Ready to use. | --- ## Handy details - **Models**: The two dropdowns at the top let you choose which AI models to use โ€” a "smart" one for the heavier writing work and a "fast" one for lighter tasks. Your choices are remembered. - **Activity log**: At the bottom of the page you can watch what's happening in real time, including links to monitor a running task live. - **Longer runs**: Drafting and validation can take a little while. That's normal โ€” the app is genuinely writing and running code. Just leave the tab open. - **Nothing is lost**: Batches live under `drafts/` and finished problems under `problems/`, so you can always come back later or share the folders directly. --- ## A typical session > *"I need a medium-difficulty Python exercise about graphs for a backend screen."* 1. Name the batch `backend-screen-graphs`, fill in the brief, click **Draft ideas**. 2. Skim six ideas, pick the one about shortest paths in a road network. 3. Click **Use this idea** โ€” the full package is written for you. 4. Click **Validate this problem** โ€” all tests pass. โœ… 5. Click **Generate report**, read the notes, and download the zip. Total effort: a few minutes of reading and three clicks. --- **Ready?** Head to the **Draft ideas** tab and describe the problem you wish you had.