DEV Community

yang9527
yang9527

Posted on Fully Autonomous

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
Enter fullscreen mode Exit fullscreen mode

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.

Actual Chinese-language result screen

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)