Bringing Laya onto an iPhone: a local decision-model experiment
DEV Community

Bringing Laya onto an iPhone: a local decision-model experiment

Disclosure: I am the maker of δ»–ηˆ±ζˆ‘ε—. This article was prepared with AI assistance from the project's implementation notes.

A question such as ‘Does he like me?’ looks simple in an interface. It is much harder to decide what an answer should mean.

A model cannot see the other person's thoughts, and an attractive percentage does not change that.

I built a Chinese-language iPhone app to explore a narrower interaction: describe a situation, compare candidate answers, and leave room for uncertainty. Here is the architecture and the product boundary behind that experiment.

A decision model instead of a cloud conversation

The app uses a Core ML conversion of laya-multilingual to compare supplied answer options for the question and context. For a relationship question, those options might be affection, no affection, and uncertainty. The wording needs to fit the actual question.

This is not an unrestricted chatbot generating long responses through a hosted language model. Short conclusions and suggestions use templates. Chinese speech transcription uses SenseVoice locally, and history remains on the device.

Chinese text or speech
↓
Local transcription, when needed
↓
Question + context + candidate answers
↓
Laya through Core ML
↓
Relative answer scores + template-based response

Keeping analysis on-device is useful when the input is personal. It also shifts responsibilities to the app: model packaging, storage, loading, and keeping the interface responsive become part of the mobile experience.

I am not claiming a latency or battery benchmark here; those require measured device tests.

What the percentages do-and do not-mean

A displayed answer score is a relative preference among the options given to the model. It is not evidence that a person has a corresponding probability of being in love.

An uncertain result belongs in the interaction rather than being treated as an error. More context can help frame a question, but it still cannot establish another person's internal state. The interface should make that limit visible close to the result.

The image below is an actual Chinese-language result screen. It illustrates the interface, not a validated prediction about anyone.

Tests I would like to make more systematic

There are useful questions to investigate before making stronger claims about this type of product:

  • Does reversing candidate order change the preferred answer?
  • Does a neutral paraphrase of the same story change it substantially?
  • Do contradictory details lead to more uncertainty?
  • Do reassuring or negative words dominate otherwise equivalent context?
  • Does the UI remain responsive while models load and transcription runs?

These are proposed evaluation directions, not completed experimental results. A reproducible set of cases would be more useful than an unsupported accuracy number.

Where JEV and System One fit

Laya's upstream project describes a non-autoregressive System 1 decision engine and an optional Jev-compatible server interface at /v1/systemone.

That is related technical context, not the architecture of this iOS app: the app uses local Laya inference and does not call the Jev API or run that server.

The conversion project is available at laya-coreml. The app itself is not being presented as an open-source project. The current interface is Simplified Chinese. The project website shows the screens and limitations.

If you are working on a local decision model, I would be interested in comparing evaluation approaches-especially how you prevent users from interpreting a relative score as certainty.

Top comments (0)

Read on DEV Community ↗ ← Back to News

Comments

No comments yet. Start the discussion.