← AI for Mobile Developers: Shipping Real Features

What an LLM is good at, and where it does not belong

Lesson 1 of 42 min read

The three jobs worth using a model for, and the ones that should stay as code.

A language model predicts likely text. That single fact tells you where it belongs in an app.

Good jobs

  • Transforming text — summarise a thread, rewrite a note, extract fields from a paragraph. The input and the ground truth are both in front of it.
  • Understanding intent — turn "show me cheap shoes under 2k delivered tomorrow" into filters your existing API already supports.
  • Generating a draft — a first reply, a product description, a test case — with a human reviewing it.

Bad jobs

  • Arithmetic, totals and anything financial. Compute it in code and let the model describe the result.
  • Facts about your own data without retrieval. It will produce something plausible and wrong.
  • Deterministic validation. An email regex is correct every time and costs nothing.
  • Anything where being wrong is unsafe — medical dosage, legal advice, "is this transaction fraud".

The question to ask before building

"If this feature is confidently wrong 5% of the time, what happens?" If the answer is "the user shrugs and edits it", go ahead. If it is "we lose money or trust", either keep a human in the loop or use code.

Prompting, the parts that matter in an app

  • Be specific about the output shape. Ask for JSON with named fields when you are going to parse it, and validate what comes back — never trust the shape.
  • Give examples. Two or three input-output pairs do more than a paragraph of instructions.
  • Put rules before content. Instructions first, then the user's text, clearly delimited — that reduces the chance that text from your own data is read as an instruction.
  • Keep it short. Prompt length is latency and cost on every single call.

Treat anything a model returns as untrusted input, exactly like a server response from a third party. Validate it before it touches your database or your UI.