Find out why your Python API is slow
and exactly how to fix it

Mikiri profiles your FastAPI, Flask, or Django API under realistic load, finds the endpoints that are too slow and the database calls causing it, and gives you a report with the exact fix. Results in under 5 minutes.

Run it on your project. See the results. Then decide.

terminal
$ mikiri run

Detecting framework...        FastAPI + SQLAlchemy
Extracting routes...          6 endpoints found
Ranking by risk...            2 high-priority targets
Seeding database...           4 tables, 1,200 rows
Profiling under load...       10 VUs, 30s per endpoint

Results

GET /api/users/{id}/orders   p95: 340ms   queries/req: 47
  Redundant queries detected — 47 queries where 1 would do.

GET /api/orders              p95: 890ms   queries/req: 203
  Redundant queries detected — 203 separate DB calls.

Found 2 optimization targets.

  Unlock the full report with exact file paths, source code,
  and fix recommendations:

    mikiri unlock abc123
    report                           mikiri_report_preview.md

How it works

1

Point it at your project

Mikiri detects your framework, extracts routes, and reads your ORM schema. Zero config needed. It handles FastAPI, Flask, and Django automatically.

2

It profiles under realistic load

Seeds your database, hits every endpoint with concurrent requests, captures every SQL query, and profiles CPU usage function by function.

3

You get a report with exact fixes

Not vague suggestions. The exact function, the exact query pattern, and the exact code change. Most reports pay for themselves within the first deploy.

What it finds

Too many database calls

Your API might be hitting the database hundreds of times when once would do. Mikiri spots these patterns and shows you how to fix them.

Slow endpoints

Measures where your API actually spends its time under real traffic, function by function. No guesswork — you see the exact bottleneck.

Missing indexes

Captures every database query and its timing. Finds queries that scan entire tables instead of jumping straight to the right rows.

Works with your stack

FastAPI, Flask, and Django. SQLAlchemy and Django ORM. PostgreSQL.

FastAPI Flask Django SQLAlchemy PostgreSQL

Pricing

Run it first. See the results. Then decide if the full report is worth it.

Single Run
$5 / credit

One optimization report that typically saves hours of debugging. Plus a credit for your next run.

  • Run Mikiri first — see what it finds
  • Full report: exact files, functions, and fixes
  • Redundant query detection + analysis
  • CPU profiling with Scalene
  • 1 additional credit for a future run
Get started
Coming soon
Team
Custom

Bring your own LLM key. Full control over data flow.

  • Custom credit volume
  • Everything in Pro
  • BYOK — use your own OpenAI key
  • Data stays in your environment
Contact us

We never see your code

Mikiri runs locally. Code snippets are sent to the LLM provider (OpenAI) for analysis — never to Mikiri servers. Only profiling metadata (latency, query counts) is sent to Mikiri for billing. On the Team plan with BYOK, even LLM calls go directly to your own provider.

Frequently asked questions

I don't know much about performance. Will I understand the report?

That's exactly who Mikiri is for. You don't need to know about profiling, query optimization, or database internals. The report tells you which file, which function, and what to change. You can hand it to your AI coding assistant and it'll know what to do.

How is this different from just asking ChatGPT to review my code?

ChatGPT guesses based on your code. Mikiri actually runs your API under load, measures real response times, and captures every database query. It finds problems that only show up under traffic — the kind you'd miss by reading code alone.

Does Mikiri see my source code?

Mikiri runs on your machine. Code snippets are sent to OpenAI for analysis, never to Mikiri servers. Only performance numbers (response times, query counts) are sent to Mikiri for billing.

What happens if Mikiri doesn't find anything?

You see the results before you pay. If there's nothing to fix, you don't need to unlock anything. You only pay when there's something worth fixing.

Which frameworks does it work with?

FastAPI, Flask, and Django. Mikiri figures out which one you're using automatically — no config needed. It works with SQLAlchemy and Django ORM on PostgreSQL.

Get started

1

Sign up & install

Create a free account, then install the CLI.

Sign in with GitHub
$ curl -fsSL https://mikiri.dev/install.sh | sh
$ mikiri login
2

Run it on your project

$ cd your-project/
$ mikiri run

Mikiri profiles your API and shows you what it found: endpoint latencies, query counts, and optimization targets. You see the results before you pay anything.

3

Unlock the full report

If Mikiri found issues worth fixing, grab a credit to unlock the full details: exact file paths, source code, and fix recommendations. Your preview unlocks instantly.

Stop guessing. Start profiling.

See what Mikiri finds in your API. Under 5 minutes, no credit card required.