DBDelve
DBDelve는 Rust 기반 빠른 다중 엔진 데이터베이스 클라이언트, 무료 오픈소스, 텔레메트리 없음
A private practice space built around your work: learn what you don't know, relearn what you know, and keep your skills sharp. Your own AI agent writes the questions; real tests grade them.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Skills need three kinds of care, and Whetstone gives all three:
Built around you. Your agent already knows you from the work you've done together: what you build, your stack and experience, where you're headed, and what it now writes for you. It drafts your profile from that, and from your GitHub activity if you agree, so there's nothing to fill in. You only check the draft. Every question is then written for you: a scenario from your world, at the step you're ready for, explained the way you learn.
Real problems from real interviews. The question bank is grounded in 2,771 interview reports from 397 companies, organised into 271 modules and 78 systems to build. The problems are practical: ledgers that must balance, retries that must not charge twice, rate limiters, caches and schedulers. There are no throwaway puzzles. That makes Whetstone good interview preparation too: filter by the companies you're aiming for, practice system design on a whiteboard, and ask your agent for a mock interview.
Your AI as reviewer and interviewer. The same agent that writes your questions also reviews your solutions like a staff engineer, nudges you one step at a time when you're stuck without giving the answer away, pairs with you in the editor's margin, and runs mock interviews.
Private by design. Whetstone runs on your machine. Your profile, your questions and your progress never leave it. There's no account and no telemetry, and it runs on the AI subscription you already have.
Three engineers ask their agents for the next question in the rate limiter module. Each one practices the same idea, a token bucket, in the world they work in:
| The learner | The question their agent writes |
|---|---|
| A payments engineer | Throttle the webhook sender. Card networks accept 50 calls a second per merchant. Queue the rest instead of dropping them, and never let one busy merchant starve the others. |
| A trading engineer | Stay under the exchange's order limit. The venue rejects a burst over 200 orders a second and bans you for a minute. Smooth a burst at the open without losing the order. |
| An LLM platform engineer | Share a token budget across model providers. Each provider allows a number of tokens a minute. Spend the budget across many users fairly, and fall back when one provider is full. |
You pick the world, too. When you press Prepare, choose your own work, a company you're preparing for, or a domain such as payments or trading. Before an interview at Uber, the same rate limiter question can come back set in Uber's world, built on the questions Uber candidates report.
[!NOTE] Whetstone has no AI of its own. Your agent (Claude Code, Codex, Cursor or another) writes the questions on the subscription you already pay for, and Whetstone checks and grades them on your machine.
| What your AI does for you | What you practice in Whetstone |
|---|---|
| Writes the code | Build questions: the problem comes first; the lesson opens after your first try |
| Explains code you didn't write | Predict questions: read working code and say what it does before you run it |
| Finds the bug | Fix questions: a bug report with symptoms, never the cause |
| Reviews its own pull request | Review questions: find the defects planted in plausible AI-written code |
| Writes the tests | Tests questions: your tests must catch hidden bugs you never see |
| Sketches the architecture | Design questions: draw it on a whiteboard, and your agent grades it against a rubric |
| Works through a whole task with you | AI-allowed rounds: a small codebase, solved in stages with the AI tool you use at work, like the interview rounds that allow one. Then, with the AI closed, you say what your code returns |
| Writes the one-liner | Terminal questions: text pipelines, jq and git rescues in a real shell, with no network and nothing else to break. Your script is replayed on copies of the scenario you never saw |
You need Docker and an AI coding agent that can run commands in a folder.
git clone https://github.com/boffti/whetstone && cd whetstone
cp .env.example .env
docker compose up -d --build # then open http://localhost:8000
claude # or codex, or open the folder in Cursor
Open http://localhost:8000 in a browser pane next to your agent, such as the built-in browser in Claude's desktop app, or in any browser tab. Then tell your agent: "Set up my Whetstone profile." If something doesn't work, run bin/whetstone doctor: it checks your setup and says how to fix each problem.
The exercises are Python 3.12 today. Building a question takes your agent a few minutes. To update Whetstone, run git pull && docker compose up -d --build.
flowchart LR
P["Your profile"]:::clay --> W["Your agent<br/>writes a question"]:::steel
W --> C["Whetstone<br/>checks it"]:::steel
C --> S["You solve it,<br/>tests grade it"]:::green
S --> R["It comes back<br/>days and weeks later"]:::clay
R --> W
classDef clay fill:#B8572F,stroke:#9C4526,color:#FFFFFF
classDef steel fill:#2F6497,stroke:#244C77,color:#FFFFFF
classDef green fill:#2E7A4D,stroke:#245F3C,color:#FFFFFF
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗