Share without creating a task
Tell Cirilo what happened and receive a characterful response without turning every moment into advice or productivity.
A character-first iPhone companion that listens to everyday stories, remembers approved details, reacts, speaks, and draws locally.
What if you wanted a creature to spend time with instead of another assistant?
Face-first conversation, reviewed local memory, optional voice, procedural expression, bounded generation, and deterministic safety keep the intelligence inside one defined character.
User value
Cirilo is a low-pressure place for daily stories, moods, minor victories, and small disasters.
Tell Cirilo what happened and receive a characterful response without turning every moment into advice or productivity.
Ask Cirilo to remember something, review the distilled proposal, and approve, edit, or forget the local record.
Use a companion that excludes romance, therapy, professional authority, dependency tactics, and invisible background memory.
View full size
Features
Conversation, memory, voice, expression, and drawing all remain subordinate to Cirilo's character and safety rules.
Keep the procedural creature at the center while typed conversation and the latest reply stay compact and secondary.
Start listening deliberately, inspect the transcript, then copy or submit it through the same guarded conversation path.
Use Apple Foundation Models on compatible devices and a deliberately limited local fallback when the full path is unavailable.
Persist only approved, active, low-risk structured records. Ordinary messages and full transcripts do not become memory automatically.
Respond to explicit safe drawing commands with validated SwiftUI primitives that remain inside the current session.
Speak eligible safe replies and move the procedural face through bounded expression states with Reduce Motion support.
How it works
Flexible generation never bypasses classification, memory policy, or the companion's defined boundaries.
Type a message or deliberately submit a reviewed speech transcript.
Apply deterministic intent, safety, relationship, privacy, and age-policy routes before choosing a response path.
Route remember and draw requests to their own local review and rendering systems.
Supply only a small eligible set of reviewed local memories to ordinary low-risk conversation.
Use Apple's on-device model when supported or a limited local response when it is not.
Run character and safety guards before showing text, changing the face, or speaking an eligible reply.
Product demos
Current visual study
Debug artifacts show one tentative visual candidate. The public default and full interface media remain unapproved.
View full size
A restrained state marks deliberate spoken input without implying that the app is always monitoring.
View full size
A warmer reaction can accompany the explicit reviewed-memory flow rather than hidden capture.
View full size
High-stakes handling keeps expression calm while deterministic safety takes priority.
Product concept
Cirilo combines modest signals of continuity without presenting itself as a general answer engine, therapist, or romantic partner.
Everyday stories can receive attention and personality without being converted into plans, metrics, or advice.
Continuity comes from reviewed structured facts, not a hidden archive of conversation or automatic profiling.
Deterministic relationship boundaries prevent romance, exclusivity, authority, and language designed to make the user reliant on the character.
Architecture
Deterministic policy chooses context, commands, safety routes, persistence, and outputs before and after any model supplies candidate language.
Conversation turns, transcripts, audio, drawings, face state, diagnostics, and entitlement state remain in memory.
UserDefaults stores settings and onboarding state. An app-private JSON file stores approved low-risk structured memories.
High-stakes, romantic, sexual, dependency, privacy, credential, and other restricted routes can block memory, voice, drawing, and expressive reactions.
The current app has no account, application backend, cloud model provider, analytics implementation, cloud sync, or camera access.
Technology
Development
Conversation, reviewed memory, speech, voice, face reactions, procedural drawing, safety, onboarding, commerce foundations, and privacy controls exist. Real-device quality, accessibility, StoreKit, visual approval, privacy export, and distribution remain incomplete.
Implemented
Before release
Complete privacy export, validate Apple on-device generation, speech, voice, memory, safety, StoreKit, accessibility, and companion feel on real devices, approve the visual direction, then finish TestFlight and App Store work.
Cirilo lab notes
Notes about the thinking, architecture, development, and decisions behind this work.
Device-readiness states made it clearer when the full on-device conversation path was unavailable or recoverable.
Procedural expression stayed inside the same explicit intent and safety boundaries as conversation.
Typed conversation, explicit speech, and approved local memory joined one guarded companion flow.
Five procedural face candidates became repeatable artifacts that could be compared across the same expression and motion states.