ASOptimus

aso engine · finds the best keywords for your specific app

available now

App keywords, measured.

Make your app the one people find in store search.

Feed it a plain-text description of your app. It returns ranked keywords plus a title, subtitle and keyword field — and every number expands to the raw store response it was computed from.

For independent developers, product teams and agencies. Bring your app and target markets.

demo run · habit trackingUS · 2026-07-16
1habit tracker65

P 80 · D 52 · R 3 — surfaces at "habi", rank 2 · crowded top-10

2daily habit tracker63

P 68 · D 44 · R 3 — surfaces at "daily h", rank 3

3streak tracker42

P 61 · D 35 · R 2 — adjacent job: counting streaks, not building habits

4zen habit gardendead brand0

P 77 → zeroed — exact name of an abandoned app, seeded into autocomplete by the store

5how to build habits0

P 0 — never appears in autocomplete: nobody types questions into store search

illustrative demo · every number follows the formulas below and expands to its raw store response
01The stores, in numbers
557,000+

new apps shipped in one major store alone in 2025.

source: Sensor Tower
+84%

growth in app submissions, quarter over quarter.

source: Sensor Tower
65%

of installs start with in-store search.

source: platform data, 2025
02How it works

One pipeline, five steps —
each signed by who does it.

The AI's role is deliberately narrow: it reads your brief and proposes keyword hypotheses. Everything measured — demand, difficulty and relevance — is computed by code, from live store data.

1

Brief in

you

A plain-text description of your app: what it does, who it's for, what it is not. Two minutes. That's the only input.

↓brief.txt
2

Context extraction

AI · judged by you

Jobs-to-be-done, user vocabulary, and anti-semantics: what your app must never rank for. You review and correct before anything runs — the pipeline's only checkpoint.

↓confirmed context + anti-semantics
3

Hypotheses, grounded in the store's suggest graph

AI + code

The AI proposes keyword hypotheses from your brief; each is expanded against the store's live suggest graph — completions, continuations, alphabet-soup. Only phrases the store itself suggests to real users survive, so no raw model-invented phrase ever reaches scoring.

↓candidate phrases — every one a real query
4

Measurement

code

P from probing live autocomplete, D from the live top-10, R from the keyword's measured share of the in-niche results. All three are computed by code from live store responses — the AI produces no score.

↓P · D · R per phrase, with raw responses
5

Set-cover layout

code

Words distributed across title, subtitle and the 100-char keyword field with zero repeats. The second indexed localization (es-MX for a US listing) is filled automatically.

↓ 
→

Ship-ready metadata

Title · subtitle · 100-char keyword field · second localization · full research trail.

03The math, in the open

Audit every number.

The industry sells "popularity scores" without saying where they come from. Below is every formula this tool ships with. Each parameter is measured, logged, and traceable to the request that produced it.

PDemand, from autocomplete probing

The phrase is typed against the store's live autocomplete character by character. Recorded: the prefix depth where it first appears (earlier = stronger demand) and its rank in the list. It's the store's own demand signal, read directly.

P = 100 · (0.7·depth + 0.3·rank) # L=4, rank=2 → P=80

DDifficulty, from the live top-10

For every keyword the actual search results are pulled, and each of the ten apps you'd fight is scored for strength — weighted by its position on the page. A top-10 full of dead apps is an open door, and you will see it.

strength = 100 · (0.45·volume + 0.15·quality
              + 0.15·freshness + 0.25·exact-match)

volume — review count; quality — rating; freshness — time since last update; exact-match — the keyword verbatim in a competitor's title.

RRelevance, measured from the store's own results

Relevance is not an AI opinion. Code measures how much the keyword's live results actually overlap with your niche — its share of the in-niche results — and adjusts for semantic fit to your confirmed brief. Every input is a live store response you can open; the result is a 0–3 value that is computed, not guessed.

R = 3 · (in-niche SERP share)^s · (semantic fit)^f # measured per keyword

ΣOne score per keyword

Demand and ease are combined as powers, not a sum, on purpose: a keyword nobody searches is worth zero no matter how easy it is, and a keyword you can't crack is worth zero no matter how popular. Relevance scales the result linearly.

score = 100 · (P/100)^0.6 · ((100−D)/100)^0.4 · (R/3)

If a number can't be traced to a raw store response, it doesn't ship.

04Measured findings

We measured what others assume.

The engine's rules come from live store data, not habit. Three findings that shaped it — each one checkable from your own keyboard.

0.7–2.6%vs90–99%

Share of raw keyword candidates that turn out to be real user queries: phrases an LLM invents outright versus phrases grounded in the store's suggest graph. Measured on 828 probed keywords across two niches. This is why we never ship a raw model-written phrase — the AI's hypotheses are expanded and validated against the store's live suggest graph, and only phrases the store actually suggests survive.

LLM-invented phrases
0.7–2.6%
suggest-graph harvest
90–99%
probe any LLM-written keyword list against store autocomplete and count the hits
The dead-brand trap

Stores seed app names into autocomplete — including apps with zero ratings. So the name of a dead app looks exactly like a high-demand keyword. Every phrase is cross-checked against its own top-10: an exact name match on a weak app gets its score zeroed, with the evidence attached to the row.

type the name of any abandoned app into store search — it still autocompletes
0 / 102

Question-style and four-plus-word phrases from our probes that turned out to be real queries: zero out of 102. People do not type questions into store search. Your character budget goes only to queries that exist.

type any "how do i…" phrase into store search and watch the suggestions stay empty
05What a run produces

Ship-ready metadata, with receipts.

Title and subtitle from real queries

Assembled from whole top-scoring phrases, so they read like people talk. Your best phrase goes into the title verbatim.

YourApp — Daily Habit Tracker Streaks, Routines & Reminders

A packed keyword field

Set-cover optimized: no word repeated across any field, coverage report showing which queries each field wins.

streak,routine,planner,goal,reminder,… 98/100 chars · coverage report attached

The second indexed localization

Stores index extra locales per storefront. Most listings leave it empty; a run fills it, guaranteed non-overlapping.

es-MX for US · +160 indexed chars zero word overlap with the primary set

Full research trail

Every probed keyword with P, D, R and score — sortable, filterable, exportable, re-runnable from cache.

every keyword · P/D/R/score + raw responses export: .md / .json
06Desktop app

Research on your own machine.

ASOptimus runs on macOS, Windows and Linux. Tell us about your app and workflow; we’ll arrange access and walk through the research process with you.

Choose your platform to start a conversation about setup and access.

07Work with ASOptimus

From your brief to a release.

Your research

  • Ranked keywords with demand, difficulty and relevance scores
  • Title, subtitle and keyword-field suggestions for your app
  • Raw responses, reproducible formulas and an exportable research trail
  • Desktop workflows for individual apps and portfolios

Let’s discuss

  • Your apps, target storefronts and next release
  • Individual access, a team workflow or agency research
  • Setup, onboarding and the right scope for your needs
  • Questions about the data, methodology and results
08FAQ
How do I get started?

Contact sales with a link to your app, your target markets and what you want to research. We’ll discuss your workflow, arrange access and help with setup.

Where does my data live?

The app runs on your own machine, and all store traffic (autocomplete probes, live top-10 pulls) goes directly from your device — we never proxy it. Your account, runs and results are stored in your account so you can resume and review them; email us from your account address any time for a copy or full deletion. The only other call that leaves is to our AI provider, which turns your brief into keyword hypotheses.

What exactly does the AI do — and not do?

It extracts product context from your brief (which you confirm) and proposes keyword hypotheses to explore. It never produces a score — demand, difficulty and relevance are all computed by deterministic code from live store responses you can open.

Why trust your scores over the big tools?

Don't trust them — check them. The formulas are printed on this page, and every number in a run expands to the raw store response it came from: the exact prefix and rank for P, the ten apps behind D, the in-niche results behind R.

Which storefronts?

20 storefronts, including the US, each with the correct extra-locale pair. The semantic language is configured separately — for example Spanish-language semantics for the US store.

Can I use it for a team or a portfolio?

Yes. Tell us how many apps and storefronts you work with, who needs access, and how research fits into your release process. We’ll discuss a setup for your team.

Put your next release
on the map.

Tell us about your app, your markets and your workflow. Let’s work out how ASOptimus fits.

We’ll reply by email. No mailing list.

Or email hello@asoptimus.com