Add AI to your app.
Skip the server.

Tiny Kotlin Multiplatform models that run inside your app, on Android, iOS, desktop and the web. Offline. Private. Milliseconds.

Beaconlanguage detection
⚡ <0.1 ms · offline
¿Vienes a cenar hoy?
ESSpanish
8models, live today
0network calls
2–9MBper model
193×smaller, at best
01 — WHY

No round-trip. No bill.

Cloud AI API THE USUAL WAY
  • ✕Needs signal
  • ✕User text leaves the phone
  • ✕Pay per request, plus a server
Hoverfly ON-DEVICE
  • ✓Works in airplane mode
  • ✓Text never leaves the phone
  • ✓Free up to 10k devices / month
02 — MODELS

One job each. Done well.

Emoji suggestions

MOJI~5 MB⚡ ~0.5 ms22 languages

Language detection

BEACON8.5 MB⚡ <0.1 ms211 labels

Punctuation restoration

COMMA7.8 MB⚡ ~10 ms15 languages

Smart replies

COMEBACK4.6 MB⚡ ~0.5 ms

Emotion detection

EMOTION6.4 MB⚡ ~4 ms28 emotions

Toxicity detection

GATEKEEPER3.8 MB⚡ ~1 ms15+ languages

Personal info hiding

HIDEOUT8 MB⚡ ~10 ms14 languages

Doodle recognition

CHALK1.8 MB⚡ ~15 ms345 things

Your model

CUSTOMon request
03 — START

Ship it today.

Zero to AI in three lines

  1. 1Add the dependencyMaven Central · Android, iOS, desktop, web
  2. 2Create the modelonce, off the main thread
  3. 3Call itno key, no sign-up, no server
Browse the code ↗
// build.gradle.kts: commonMain
implementation("io.github.rajumark:moji:2.0.0")

// anywhere in your app
Moji().use { moji ->
    moji.suggestions("Pay my bills")  // 💰 💸 🧾
}
04 — SIZE

Tiny by design.

Size vs the alternative we tested

Chalk1.8 vs 348 MB193×
Gatekeeper3.8 vs 711 MB187×
Comma7.8 MB vs 1.1 GB144×
Emotion6.4 vs 499 MB78×
Hideout8 vs 445 MB56×
Beacon8.5 vs 158 MB19×
Comeback4.6 vs 11 MB2.4×
HoverflyAlternativeBars to scale
05 — RESULTS

Head to head.

Hoverfly's own test sets vs the tools you'd otherwise use.

BEACON · LANGUAGE
88.3%
right language, chat messages
Beacon88.3
ML Kit71.3
HIDEOUT · PERSONAL INFO
96%
Indian PII hidden in chat
Hideout96
Presidio64
COMMA · PUNCTUATION
0.83F1
on Hinglish chat
Comma0.83
XLM-R0.49
CHALK · DOODLES
81%
first guess, 345 things
Chalk81
BEiT83
Neck and neck — at 193× smaller.
COMEBACK · SMART REPLIES
63.6%
good reply in the top 3 chips
Comeback4.6 MB
ML Kit6.6 MB+
ML Kit also ships native libraries.
GATEKEEPER · TOXICITY
98.8%
everyday chat passes clean
Clean98.8
False flag1.2
Even on slang and mixed-script text.
MOJI · EMOJI
88%
right emoji in the top 5, on a phone
Top 588
Top 168
111 everyday messages in 22 languages.
EMOTION · FEELINGS
38%
top emotion right, fresh chat, 28 emotions
Emotion38
RoBERTa36
Ahead of a 78× larger model.

Need a model that isn't here?

Your task, your data → a tiny offline Kotlin model.

Get in touch →