Small Intelligences
Active development

Cirilo

A character-first iPhone companion that listens to everyday stories, remembers approved details, reacts, speaks, and draws locally.

Category
Small Intelligences
Platform
iPhone · iOS 18+
Status
Active development

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

Talk to a familiar character, not another assistant.

Cirilo is a low-pressure place for daily stories, moods, minor victories, and small disasters.

01

Share without creating a task

Tell Cirilo what happened and receive a characterful response without turning every moment into advice or productivity.

02

Choose what becomes memory

Ask Cirilo to remember something, review the distilled proposal, and approve, edit, or forget the local record.

03

Keep the relationship bounded

Use a companion that excludes romance, therapy, professional authority, dependency tactics, and invisible background memory.

Cirilo's tentative Premium Pixel face in an idle state on a dark iPhone screen.View full size
Tentative visual directionA debug review artifact, not an approved final identity or complete interface capture.

Features

One companion loop, several forms of response.

Conversation, memory, voice, expression, and drawing all remain subordinate to Cirilo's character and safety rules.

  1. 01

    Face-first conversation

    Keep the procedural creature at the center while typed conversation and the latest reply stay compact and secondary.

  2. 02

    Reviewed spoken input

    Start listening deliberately, inspect the transcript, then copy or submit it through the same guarded conversation path.

  3. 03

    Bounded local responses

    Use Apple Foundation Models on compatible devices and a deliberately limited local fallback when the full path is unavailable.

  4. 04

    Explicit local memory

    Persist only approved, active, low-risk structured records. Ordinary messages and full transcripts do not become memory automatically.

  5. 05

    Procedural drawings

    Respond to explicit safe drawing commands with validated SwiftUI primitives that remain inside the current session.

  6. 06

    Optional voice and reactions

    Speak eligible safe replies and move the procedural face through bounded expression states with Reduce Motion support.

How it works

A story enters one guarded character system.

Flexible generation never bypasses classification, memory policy, or the companion's defined boundaries.

  1. 01

    Tell Cirilo what happened

    Type a message or deliberately submit a reviewed speech transcript.

  2. 02

    Classify the input

    Apply deterministic intent, safety, relationship, privacy, and age-policy routes before choosing a response path.

  3. 03

    Handle explicit commands

    Route remember and draw requests to their own local review and rendering systems.

  4. 04

    Retrieve approved context

    Supply only a small eligible set of reviewed local memories to ordinary low-risk conversation.

  5. 05

    Generate or fall back

    Use Apple's on-device model when supported or a limited local response when it is not.

  6. 06

    Shape the final response

    Run character and safety guards before showing text, changing the face, or speaking an eligible reply.

Product demos

A procedural face with bounded expression states.

Tentative Premium Pixel state study

10 sec

Product concept

The intelligence serves the character.

Cirilo combines modest signals of continuity without presenting itself as a general answer engine, therapist, or romantic partner.

01

Presence before productivity

Everyday stories can receive attention and personality without being converted into plans, metrics, or advice.

02

Memory with permission

Continuity comes from reviewed structured facts, not a hidden archive of conversation or automatic profiling.

03

Companionship without dependency

Deterministic relationship boundaries prevent romance, exclusivity, authority, and language designed to make the user reliant on the character.

Architecture

Local state machines around bounded generation.

Deterministic policy chooses context, commands, safety routes, persistence, and outputs before and after any model supplies candidate language.

  1. 01Typed input or submitted transcript
  2. 02Deterministic classification and safety
  3. 03Memory or drawing command handling
  4. 04Eligible approved memory context
  5. 05On-device model or limited fallback
  6. 06Response guards, face, text, and voice

Session data stays transient

Conversation turns, transcripts, audio, drawings, face state, diagnostics, and entitlement state remain in memory.

Only reviewed memory persists

UserDefaults stores settings and onboarding state. An app-private JSON file stores approved low-risk structured memories.

Safety is deterministic

High-stakes, romantic, sexual, dependency, privacy, credential, and other restricted routes can block memory, voice, drawing, and expressive reactions.

No custom service layer

The current app has no account, application backend, cloud model provider, analytics implementation, cloud sync, or camera access.

Technology

A native companion with explicit local boundaries.

Application

  • Swift
  • SwiftUI
  • iPhone
  • iOS 18+

Conversation

  • Foundation Models on iOS 26+
  • Limited local fallback
  • Deterministic safety
  • Response guards

Voice

  • Speech
  • AVFoundation
  • Reviewed transcript submission
  • Text Only mode

Memory

  • App-private JSON
  • UserDefaults
  • Reviewed structured records
  • Deterministic retrieval

Expression and commerce

  • SwiftUI procedural rendering
  • Local drawing primitives
  • StoreKit 2
  • XCTest

Development

The companion systems are integrated.

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.

Stage
Active development
Automated suite
1,143 passed
Manual ledger
867 pending
Distribution
Not yet public

Implemented

  • Local onboarding, face-first typed conversation, visible thinking state, and in-memory session turns
  • Deterministic classification and safety, limited fallback, conditional Apple Foundation Models, and post-generation guards
  • User-initiated speech recognition, transcript review, explicit submission, speech synthesis, and Text Only mode
  • Explicit memory proposals, review, approval, local persistence, editing, forgetting, filtered retrieval, and bounded context
  • Five procedural face candidates, bounded reactions, Reduce Motion behavior, and explicit-command procedural drawings
  • Settings-accessed StoreKit paths plus privacy inventory and confirmation-based settings, onboarding, and memory controls

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.