keenly

Ship it. Own it.

Open a pull request and Keenly asks you a question about its code, next time you are in Claude Code. Answer, earn XP, keep coding.

For JavaScript, TypeScript and GDScript.

Answer on your phone:App StoreGoogle Play

Demo

A question appears

Try a real Keenly question. Answer it in your Claude Code session or in the Keenly app.

src/profile.ts:14Intermediate · +20 XP

> retry loadProfile once when the network flakes

⏺ Update(src/profile.ts)

12 export async function loadProfile(id: string) {
13+ try {
14+ return await fetchProfile(id);
15+ } catch {
16+ await sleep(500);
17+ return fetchProfile(id);
18+ }
19 }

Keenly

Promises and async/await

In loadProfile, what happens when the first fetchProfile(id) rejects?

Mastery1/3 correct
120 XP

Get started

Your next pull request asks the first question

Sign up with GitHub and connect the repositories you open pull requests in.