Comeback · by Hoverfly

One-tap replies,
computed on the device.

Suggest three short replies to any incoming message in about half a millisecond. Nothing is sent to a server, nothing is generated, and nothing is added to your build except a 5 MB library, on Android, iOS, desktop and the web.

Get started View source

Free up to 10k monthly active devices · No API key · On Maven Central · Android, iOS, desktop, web

comeback.replies(message)
Thanks for your help
No problem, have a great day!✓✓
Live demo

Try the real model, right here

This is the actual Comeback library, compiled to WebAssembly and running in your browser. Type a message you received and see the replies it suggests. Your text never leaves this page.

Loading the model (~5 MB)…

Suggested replies

Tap a reply to send it
Why Comeback

Smart reply without the baggage

No server, no native libraries, no Google Play services. It is a small Kotlin library that you can read, test and ship.

Safe by design

Replies come from a fixed, reviewed list of about 1,300 short replies and are never generated, so it can't say something rude or odd. Unhelpful chips like "What?" or "Huh" are never shown.

Chips that differ

At most one reply per intent group, so you won't get "Thanks", "Thank you" and "Thanks!" side by side.

No dependencies

Pure Kotlin inference. There is no ONNX Runtime, TFLite, ML Kit or native code, and it runs on Android (minSdk 21), iOS, macOS, JVM desktop, JavaScript and WebAssembly, from Kotlin or Java.

Private & offline

The model ships inside the library on every platform. It makes no network calls, needs no permissions and sends no telemetry, so messages never leave the phone.

~0.5ms
Per message
Android emulator, once warm
~5MB
On-device
model + tokenizer + replies
1,303
Replies
reviewed, in intent groups
0
Dependencies
no native code
On device

Tap a chip, send a reply

Real output from the sample app on an Android emulator. These are not mockups.

Comeback replies to Are you coming tonight?

Plans

"Are you coming tonight?" → I'm not sure yet · I haven't decided yet · Yes

Comeback replies to Thanks for your help

Thanks

"Thanks for your help" → No problem, have a great day! · You're welcome · Anytime

A reply OK sent to Running 10 minutes late

Sent

"Running 10 minutes late" → tapped "OK"

Same library on every platform

The Kotlin Multiplatform sample app, built from the published artifacts, gives the same result on Android, iOS, desktop and the web.

Comeback sample on Android

Android

Are you coming tonight? → I'm not sure yet 70%

Comeback sample on iOS

iOS

Are you coming tonight? → I'm not sure yet 70%

Comeback sample on Desktop (JVM)

Desktop (JVM)

Are you coming tonight? → I'm not sure yet 70%

Comeback sample on Web (Wasm)

Web (Wasm)

Are you coming tonight? → I'm not sure yet 70%

Install

Add it to your build

One line in your Gradle file, from Maven Central. Works in commonMain for Android, iOS, macOS, JVM desktop, JavaScript and WebAssembly. No API key, no account.

Maven Central live
// build.gradle.kts: commonMain, or any platform source set
dependencies {
    implementation("io.github.rajumark:comeback:2.0.0")
}

// Gradle picks the right artifact per platform:
// comeback-android · comeback-jvm · comeback-iosarm64 · comeback-iossimulatorarm64
// comeback-macosarm64 · comeback-js · comeback-wasm-js
Build with a prompt
Add Comeback from rajumark to this Kotlin Multiplatform or Android project.

What it does: on-device smart replies. Given a received message, it suggests 3 short replies to tap, picked from a fixed reviewed list. English, ~5 MB, no dependencies, no network.

Install (Maven Central, no extra repository):
  build.gradle.kts (commonMain or any source set): implementation("io.github.rajumark:comeback:2.0.0")
  Platforms: Android, iOS, macOS, JVM desktop, JavaScript, WebAssembly

Usage:
  val comeback = Comeback()      // off the main thread, keep one instance
  val chips = comeback.replies("Are you coming tonight?").map { it.text }

Repo: https://github.com/rajumark/comeback#readme
Add the dependency, then follow the README for the exact API and current version.
Usage

Three lines to reply chips

Load once and reuse the instance. replies() is thread-safe.

Kotlin
val comeback = Comeback()

val chips = comeback.replies("Let's meet at 7")
chips.map { it.text }  // [OK, OK, see you then, See you there!]

comeback.close()
Java
try (Comeback comeback = new Comeback()) {
    List<SmartReply> r =
        comeback.replies("Are you coming tonight?");
}
Use cases

Where Comeback fits

Anywhere a user answers a message and a single tap would do.

Chat & messaging apps

Show reply chips above the composer for the last received message.

"I miss you" → I miss you too

Notification quick replies

Offer reply actions straight from a notification, with no server round trip.

"Can you call me?" → Sure

Wear OS & small screens

Typing on a watch is painful; one tap isn't.

"See you tomorrow" → See you

Community & marketplace inboxes

Help buyers and sellers answer quickly on logistics.

"Let's meet at 7" → OK, see you then

Accessibility

Let people with motor or typing difficulties answer with one tap.

"Good morning!" → Hello!

Offline-first apps

Works in airplane mode, on patchy networks and in regions where cloud AI isn't an option.

"Running 10 minutes late" → OK
App ideas

20 apps you could build with Comeback

Real problems Comeback solves today. Pick one and ship it.

Chat app reply chips · Show three one-tap replies above the keyboard for the last received message.

Notification quick replies · Reply straight from the notification shade, with no server round trip.

Wear OS messaging · Typing on a watch is painful; tapping "On my way" isn't.

Marketplace seller inbox · Answer "Is this still available?" with "Yes, it is" in one tap.

Driver & delivery apps · Let drivers send "Reached" or "5 minutes away" without typing on the road.

Rental & property chat · Owners reply to "Can I visit today?" in one tap instead of typing each time.

Team chat · Quick "Sounds good", "On it" and "Thanks!" acknowledgements in work messengers.

Senior-friendly messenger · Big one-tap reply buttons for parents and grandparents who find typing slow.

Accessibility · People with motor or typing difficulties answer any message with a single tap.

Email client · Short suggested replies for quick "Yes, works for me" type emails.

In-game chat · Reply to teammates without leaving the match or opening a keyboard.

Appointment reminders · Patients reply "Confirmed" or "Can we reschedule?" in one tap.

Delivery customer chat · Customers answer the delivery person with "Leave it at the door" instantly.

Family safety app · Kids reply "Reached school" or "Coming home" to parents with one tap.

Classroom messaging · Students and parents quickly acknowledge teacher announcements.

Sales CRM · Reps respond to lead messages fast so no enquiry waits for hours.

Housing society app · Residents reply "Noted, thanks" to society notices without typing.

Chatbot suggestions · Show likely user responses as buttons in a support bot conversation.

Offline-first messaging · Suggestions keep working in airplane mode and on patchy rural networks.

Dating & social apps · Help users keep conversations moving with quick, friendly, reviewed replies.

Quality

Honest numbers

Measured on 335 hand-written messages across 16 categories. A reply counts as good when a person would plausibly send it.

ComebackGoogle ML Kit Smart Reply
A good reply in the top 363.6%72.8%
Top reply is good42.1%52.8%
Answers every messageYes95%
Size4.6 MB6.6 MB + 4.4 MB native libs
Latency (Android emulator)~0.5 ms~16.6 ms
DependenciesNoneML Kit + native code

ML Kit gives better replies. Comeback is smaller and much faster, needs no native code or Google Play services, and you can read and change its reply list. It is strongest on thanks (100% good in the top 3), yes/no questions (90%), affection and goodbyes. It is weakest on opinions and open questions, where you can hide the chips with minConfidence.

Reference

API at a glance

MemberDescription
Comeback()Loads the bundled model. Implements AutoCloseable.
replies(message, limit = 3, minConfidence = 0f)The best replies first, one per intent group. Empty for a blank message, or when the best reply scores below minConfidence.
SmartReply(text, confidence)One reply.
Pricing & license

Free until you're big.

No API key, no sign-up, no license file. Add Comeback to your project and ship. It stays free until your product passes 10,000 monthly active devices, and there's never a limit on how often each device runs it.

Commercial
Let's talk

For products above 10,000 monthly active devices on any platform.

  • One license per product, per model
  • Pricing that fits your scale
  • Direct support from the people who built it
  • Early access to model updates
Custom models
Built for you

A small, fast on-device model trained for your language, domain or task.

  • Moderation, classification, detection, replies and more
  • Tuned on your use case and your users' languages
  • Shipped as a plain Kotlin library, like Comeback
  • Private: your model runs on your users' devices

How devices are counted

A monthly active device is a phone, tablet or other device that runs Comeback at least once in a calendar month.

The 10,000 limit applies separately to each product, each platform (Android, iOS, web…) and each Hoverfly model. Crossed it? You have 30 days to get a commercial license.

What the license does not allow

  • Selling or redistributing Comeback or its model on its own, or inside another SDK
  • Extracting, modifying or fine-tuning the model weights
  • Using the model or its outputs to train or distill another model
  • Reverse engineering the model or its file format
  • Offering it as a hosted API for others

Questions about licensing? Email raju348636@gmail.com or call / WhatsApp +91 63533 21951. Full terms: Hoverfly Community License.

FAQ

Questions

What is Comeback?

A Kotlin Multiplatform library (Android, iOS, macOS, JVM desktop, JavaScript, WebAssembly) that reads a message and returns short replies to show as tappable chips, like the smart replies in messaging apps.

Does it generate text?

No. It scores a fixed list of about 1,300 reviewed replies and returns the best ones, so every possible output is known in advance.

Which languages does it support?

English in v1. To detect the language first and show chips only for English, use Beacon.

Does it run on device?

Yes. Inference runs entirely on the device in plain Kotlin. It makes no server calls, needs no network permission and sends no telemetry.

Is the Kotlin port exact?

Features, the top 5 replies and the 3 shown chips match the Python reference on all 354 test vectors, both on the JVM and on an Android device.

How much does Comeback cost?

Nothing for products with up to 10,000 monthly active devices per platform, including commercial apps. There is no API key or account, and no limit on how often it runs. Above that, a commercial license is needed. See Pricing.

What happens when my app passes 10,000 monthly active devices?

Nothing breaks: Comeback keeps working and never checks in with a server. You have 30 days to get a commercial license. Email raju348636@gmail.com or call / WhatsApp +91 63533 21951.

Can you build a model for my app?

Yes. Hoverfly trains custom on-device models for your language, domain or task and ships them as a small library like this one. Get in touch on the same email or number.

A note from the creator

Built by a developer, for developers.

Every model here started as a problem I hit in my own apps. I made them small, private and free to start, so you can spend your time on the part your users will love.

Raju ShingadiyaAndroid developer · creator of Hoverfly
Meet the maker
The Hoverfly family

Comeback is one of eight.

Eight small on-device models, one job each. Same install, same free tier, and the same promise: nothing leaves the device.

MojiEmoji suggestionsThe right emoji for any message, in 22 languages. BeaconLanguage detectionLanguage and script of any text, Hinglish included. CommaPunctuationTurns voice-typed text into readable sentences.
ComebackSmart repliesThree tap-to-send replies for every message.You're here
EmotionEmotion detection28 emotions and an overall mood, per message. GatekeeperToxicity detectionCatches abuse and threats in Indian chat. HideoutPersonal info hidingHides phones, UPI, Aadhaar and more. ChalkDoodle recognitionGuesses 345 things from pen strokes, live.
View all models Hoverfly home