MIHCI AI STUDIOS TR About Contact
← All work

Luna

An AI companion whose face, voice and memory stay the same in every message: Telegram and iOS.

Not random model output but one consistent person. Luna's face, clothes, voice and memory stay the same in every message; ask for a photo and it's the same person, ask for a voice note and it's the same voice.

  • Character design
  • Identity-locked images
  • Voice design from personality
  • Memory and daily flow
  • iOS app
  • Telegram bot
0%stereotype drift in the gate test
100%voice stability, the same character always sounds the same
24culture packs; a character's origin shapes its behavior
4separate locks: face, outfit, place, framing
Identity lock · same face, different angleAI character
Luna, front portrait
Front
Luna, three-quarter view
3/4
Luna, profile
Profile
Luna, soft expression
Expression
Face
A fixed identity reference; every new photo is tied to it
Outfit
Locked sets; "one more in the same outfit" doesn't change it
Voice
A voice recipe derived from the personality card, then it speaks in that voice
Behavior
A personality built from origin, age and relationship expectations; a warm deflection on political questions
RunningTelegram bot
Luna

Luna on Telegram

Texting by default; ask and she sends a selfie or a voice note, and "one more in the same outfit" keeps the outfit. Her surroundings change with her time of day.

reference-locked imagescharacter voice
ActiveSwiftUI · Swift 6
Luna

iOS app

Chat, stories, build-your-own character and a voice call scaffold. Verified end to end with real taps in the simulator.

storycustom character
Gate test3/4 axes passed
Luna

Behavior engine

A personality coordinate seeded from the user's choices, plus 24 culture packs. In testing, stereotype drift was 0% and separation between clusters 100%.

16 deep + 8 regional packs
RunningLocal voice
Luna

A voice born from personality

Each character's voice is derived from its personality card and it speaks in that voice. The same recipe gives exactly the same result in the app and on the server.

voice designparity tested

Want something similar?

Write to usAll work