AI Agent

Meet Your AI Development Partner

Assumer is a coding agent that reads your codebase, writes and edits code across files, fixes bugs and runs your tests, so you can ship with confidence.

AI Agent
Create a user authentication API with login, register and forgot password using Node.js and MongoDB.

I'll create a complete authentication API with login, register and forgot password functionality.

auth.routes.js
auth.controller.js
user.model.js
auth.middleware.js
auth.controller.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const User = require('../models/User');
const bcrypt = require('bcryptjs');
const jwt = require('jsonwebtoken');
exports.register = async (req, res) => {
try {
const { name, email, password } = req.body;
const existingUser = await User.findOne({ email });
if (existingUser) {
return res.status(400).json({ message: 'User already exists!' });
}
const hashedPassword = await bcrypt.hash(password, 10);
const user = new User({ name, email, password: hashedPassword });
await user.save();
res.status(201).json({ message: 'User registered successfully' });
} catch (error) {
res.status(500).json({ message: error.message });
}
}

Turn ideas into code
and focus on higher-level direction

Download Assumer
Assumer Desktop
Ready For Review 6
Add Dark Mode Toggle
+70Done. Theme persists across reloads.
Migrate Auth to JWT
+220-80All set! Sessions now use...
Write Assumer.md for the Monorepo
Done. Documented build, test and lint commands for each package. Conventions: pnpm workspaces, strict TypeScript.
Upgrade CI to Node 22
+135-21Great! I've updated the...
Review PR #142
Reviewed the diff and flagged two unhandled error paths in the webhook handler.
Rate Limit /orders
+68Drafted implementation steps.

Add Rate Limiting to /orders

let's add rate limiting to the /orders API so one client can't flood checkout during a sale
Thought 4s
Read orders.router.ts
Searched existing middleware
rate-limit-plan.md
+68
Drafted implementation steps in rate-limit-plan.md. A few quick questions before I start building:
Questions
How should requests be limited?
rate-limit-plan.md ×
rateLimit.ts
Plans > rate-limit-plan.md
Assumer

Rate Limiting for /orders

Limit each API key to a fixed number of order requests per minute and return 429 with a Retry-After header when the limit is hit.

Scope

Routes in orders.router.ts (POST and PATCH /orders), with limits read from config.

Storage

Counters live in Redis so limits hold across instances.

3 Tasks
Assumer CLI
Assumer Agent
~/projects/shop-api
Fix Flaky Checkout Test
The checkout test fails about one run in five on CI. Find out why and fix it without skipping the test.
Thought 7s
Ran the test 20 times and read checkout.test.ts

Found a race: the payment mock resolves after the assertion runs. I'll await it and reset the mock between tests:

checkout.test.ts +12 -5

Next I'll rerun the suite 20 times to confirm it passes consistently.

Example Conversation

See how developers solve real-world problems with Assumer AI Agent.

Create Authentication API

You
Create a JWT authentication API with register, login and forgot password.
Assumer Agent
I'll create a complete JWT authentication API with all the necessary endpoints.
JS
auth.routes.js
+156 lines
JS
auth.controller.js
+237 lines
JS
user.model.js
+74 lines
JS
email.service.js
+58 lines

Fix Login Bug

You
Login is not working. It shows invalid credentials even with correct password.
Assumer Agent
I found the issue! The password comparison was using the wrong method.
1
// Before
2
const isMatch = (user.password === password);
3
return res.status(401).json({ message: 'Invalid' });
4
5
// After
6
const isMatch = await bcrypt.compare(password, user.password);
7
if (!isMatch) {
8
return res.status(401).json({ message: 'Invalid' });
9
}

Generate Dashboard Component

You
Create a modern dashboard stats component with chart.
Assumer Agent
Here is a modern dashboard stats component with a chart.
Total Users
25.6K
Revenue
$18.2K
Conversions
2.4K
Bounce Rate
12.6%
DashboardStats.jsx
+102 lines