Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mira

Guia de arte por voz, feito pela Unflat Studio. Você aponta a câmera — do iPhone ou dos óculos Ray-Ban Meta — pra uma obra, e a Mira conta a história dela e conversa com você. Em português, em tempo real.

Primeiro app de uma família construída sobre a mesma base: visão computacional + voz conversacional + smart glasses.

Estrutura

mira/
├── ios/                 # App iOS (Swift 6, SwiftUI, iOS 17+)
│   ├── Mira/            # App target: telas + composition root
│   └── MiraKit/         # Package local com 7 targets:
│       ├── MiraCore            # Domínio puro: modelos, protocolos, pipeline, orquestração (zero deps)
│       ├── CaptureKit          # Câmera do iPhone
│       ├── GlassesKit          # Ray-Ban Meta (DAT SDK) — único lugar que importa MWDAT
│       ├── VisionPipelineKit   # Identificação de obra via backend
│       ├── VoiceKit            # ElevenLabs — único lugar que importa o SDK
│       ├── MiraBackend         # Supabase client, catálogo offline-first, token broker
│       └── MiraDesignSystem    # Tokens + componentes "warm editorial"
├── backend/             # Supabase: migrations, edge functions (TS/Deno), import scripts
└── packages/contracts/  # Contratos compartilhados (DTOs TS + fixtures; iOS espelha em Codable)

Arquitetura em uma frase

O app nunca carrega chave de API: edge functions no Supabase (sa-east-1) fazem o brokering do token de voz do ElevenLabs e proxy da visão do Gemini; áudio/WebRTC vai direto do app pro ElevenLabs; o conteúdo curatorial mora no Postgres (CMS via Supabase Studio) e chega ao agente inline nos contextual updates.

Abstrações centrais em MiraCore — trocar de motor de voz (TTS próprio no futuro) ou de óculos (plataformas abertas) é trocar um adapter:

  • VoiceEngine — ElevenLabs hoje; Kokoro pt-BR / Gemini Live depois
  • GlassesProvider — Ray-Ban Meta hoje; Mentra/outros depois
  • VisionPipeline — Gemini 2.5 Flash via edge function

Desenvolvimento

# iOS — testes de domínio rodam no macOS, sem simulador
cd ios/MiraKit && swift test

# iOS — gerar o projeto Xcode (XcodeGen)
cd ios && xcodegen generate

# Backend — dev local
cd backend && supabase start
deno task test

Distribuição

O modo Óculos usa o Meta Wearables DAT SDK, que ainda não pode ir pra App Store (restrição MFi da Apple até o GA da Meta, previsto pro fim de 2026). Até lá: TestFlight interno. O modo Celular não tem restrição.

About

IOS app to guide users in art exhibitions with AI vision + AI conversation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages