Describe it.
Let’s build it.
Fix a bug, refactor a module, or write the docs. Give Kinetix a clear task, then review the code and results in one place.
Interactive preview · sample tasks only · no sign-up.
Fix the token refresh race condition
sample-api / fix/token-refreshread_fileDONErun_testFAILED CHECKedit_fileDONErun_testDONEOne task.
Something done.
Start with a bug, a refactor, or missing documentation. See how Kinetix approaches the task and what you get back.
Open any example to try it in the workspace, inspect the changes, and download the result.
Fix the token refresh race condition
Fix the token refresh race condition in the auth service. Concurrent requests should share a single refresh. Add regression tests for expiry boundaries and retry after a failed refresh.
Inspect repositorylist_files
{
"path": "src/auth"
}OUTPUT · ILLUSTRATIVEsrc/auth/token.ts src/auth/token.test.ts src/auth/client.ts
Read token lifecycleread_file
{
"path": "src/auth/token.ts"
}OUTPUT · ILLUSTRATIVEexport function isExpired(token, now = Date.now()) {
if (!token.expiresAt) return false;
return token.expiresAt < now;
}
export function refreshToken(token, client) {
return client.refresh(token.refreshToken);
}Reproduce the race conditionrun_test
{
"command": "vitest run src/auth/token.test.ts"
}OUTPUT · ILLUSTRATIVEFAIL src/auth/token.test.ts
× refreshes once for concurrent requests
Expected: 1 call
Received: 3 calls
× rejects a token at the expiry boundary
Tests: 2 failed, 1 passed (3)Apply a focused fixedit_file
{
"path": "src/auth/token.ts"
}OUTPUT · ILLUSTRATIVEAdded per-token pending refresh map. Corrected expiry boundary. See Changes for the complete patch.
Add regression coverageedit_file
{
"path": "src/auth/token.test.ts"
}OUTPUT · ILLUSTRATIVEAdded concurrency, expiry boundary, missing expiry, and failed-refresh retry cases.
Run the auth test suiterun_test
{
"command": "vitest run src/auth/token.test.ts"
}OUTPUT · ILLUSTRATIVEPASS src/auth/token.test.ts ✓ accepts an unexpired token ✓ shares one refresh across concurrent requests ✓ expires a token at the boundary ✓ treats missing expiry as expired ✓ retries after a rejected refresh Tests: 5 passed (5)
Inspect the final patchgit_diff
{
"paths": [
"src/auth/token.ts",
"src/auth/token.test.ts"
]
}OUTPUT · ILLUSTRATIVE2 files changed. No dependency changes. Working tree ready for review.
A clear path
from task to review.
A useful result needs context. Keep the request, the process, and the review connected in one workspace.
Define the work.
Write a focused request and name the project. Save it, refine it, and come back without losing the context.
PROMPT + PROJECTFollow the steps.
See what the agent is working on, review a failed check, and follow the fix. The important details stay next to the task.
CODE + CHECKSReview what changed.
Compare the changes, check the tests, and decide what to keep. Download a patch or a summary for your project.
REVIEW + DOWNLOADStart small.
Try it free.
Explore the product before making a commitment. The interactive preview is free, with no account or payment details needed.
We plan to offer free or low-cost access to the live agent. Usage limits and pricing will be published when that service opens.
- Try three sample coding tasks
- Review changes and download a patch
- Save your own task ideas
Sample execution only. Running your own code is not available yet.
A few things to know.
What can I use Kinetix for?
Kinetix is a coding agent for fixing bugs, refactoring code, and writing project documentation. Start with a sample task to see the process, code changes, and result together.
Can I run my own task now?
This is an interactive product preview. Examples demonstrate the workflow; they do not run a model or execute code. You can write and save your own tasks, but live execution is not available yet.
What do I get at the end?
A summary, the changed files, and the check results, together in the workspace. In each completed example you can review the diff and download a patch or a Markdown summary.
Will my tasks still be here when I return?
The preview saves tasks in this browser, on this device. You can download a backup from Settings. Clearing browser data removes saved tasks; links do not share tasks with other devices.