Piere MangiliStudio.

Lavori selezionati

Costruiti, o in costruzione.

Ogni anno scegliamo pochi progetti e ci andiamo a fondo. Sotto: cosa stiamo costruendo sotto il tetto dello studio.

Progetto · 01

ANIMUS.

Interpretazione dei sogni con AI multi-agente, memorie ancestrali coniate come NFT soulbound su Polygon e storage encrypted zero-knowledge su IPFS + Supabase.

Live · Polygon mainnet · iOS / Android
Ruolo
Solo founder · Architettura, contratti, AI orchestration, mobile app
Piattaforma
React Native · Expo SDK 54 · Web (Vite)
Chain
Polygon (137) · gasless via Account Abstraction
Modelli
DeepSeek (deepseek-chat) · 4 agenti specializzati

Contesto

Le app AI consumer per i sogni di solito sbagliano due cose: riducono il sogno a un singolo prompt LLM — perdendo ogni sfumatura interpretativa — e trattano i sogni degli utenti come dati di training. Il contenuto onirico è tra i dati più personali che un utente possa produrre. L'architettura deve riflettere questo.

ANIMUS è la versione che dovrebbe esistere: un sistema multi-agente che interpreta i sogni da quattro lenti distinte, con un triplice layer di storage dove l'utente possiede le chiavi di cifratura e l'unico identificatore persistente su rete pubblica è un NFT soulbound che gli appartiene.

Architettura

Sistema end-to-end, progettato e costruito in solo.

Lo schema sotto traccia un singolo sogno dall'input alla memoria ancestrale. Quattro agenti girano in parallelo sullo stesso modello, poi una pass di sintesi produce gli insight cross-agent. Il risultato è distribuito su tre layer di storage con assunzioni di trust diverse.

  1. 01 · USER

    Mobile app

    Expo · iOS / Android

  2. 02 · ORCHESTRATOR

    AgentOrchestrator

    Fan-out · TypeScript

  3. 03 · 4 Agents · Parallel

    • Mental

      cognitive

    • Physical

      somatic

    • Astral

      symbolic

    • Spiritual

      karmic

  4. EXTERNAL

    DeepSeek API

    deepseek-chat

  5. 04 · SYNTHESIS

    Cross-agent synthesis

    Ancestral memory · JSON

  6. 05 · Storage · Triple layer

    • Polygon

      Soulbound NFT

      fingerprint + IPFS hash

    • IPFS

      Pinata + ThirdWeb

      full memory payload (gzip)

    • Supabase

      Encrypted backup

      AES-256 · zero-knowledge

  7. Wallet

    ThirdWeb · Polygon · Account Abstraction (gasless)

    Auth + encryption key derivation

Data flow semplificato — un singolo sogno → analisi 4-agenti → triplice persistenza

I 4 agenti

Quattro lenti, una sintesi.

Ogni agente è una pipeline di prompt specializzato + post-processing che chiama lo stesso LLM (DeepSeek) in parallelo. L'orchestrator raccoglie quattro analisi JSON, genera insight cross-agent, e sintetizza una singola memoria ancestrale. Il pattern è generale — qualsiasi dominio che benefici di analisi multi-prospettica si può modellare così.

  • 01 · Mental

    Pattern cognitivi, struttura emotiva, narrative ricorrenti.

  • 02 · Physical

    Sensazioni corporee, istinti, marker di energia vitale.

  • 03 · Astral

    Simboli, archetipi, sincronicità oniriche.

  • 04 · Spiritual

    Temi karmici, connessioni animiche, archi evolutivi.

Privacy & flusso dati

Chiavi di cifratura derivate dal wallet. Lo studio non può leggere i dati utente.

  1. 01

    Encryption client-side

    Sogni e metadata sono cifrati in-app con una chiave derivata deterministicamente dal wallet dell'utente (basata su Keccak256). Il plaintext non lascia mai il dispositivo.

  2. 02

    Backup encrypted

    Ciphertext + IV salvati su Supabase come backup zero-knowledge. Il database non contiene contenuto utente leggibile. Wallet perso, dati persi.

  3. 03

    Layer di memoria pubblica

    Un NFT soulbound (non trasferibile) viene coniato su Polygon con l'hash IPFS della memoria sintetizzata. La footprint on-chain è volutamente minima: una fingerprint, non il sogno.

  4. 04

    Pinning IPFS

    I payload sono compressi con gzip e pinnati via Pinata + ThirdWeb Storage, recuperati attraverso un fallback a 4 gateway (ipfs.io, dweb.link, gateway.ipfs.io, pinata.cloud).

Stack

Production-grade, costruito un pezzo alla volta.

Mobile
React Native · Expo Router · Reanimated · NativeWind · TypeScript
Web
React 18 · Vite · TailwindCSS · Three.js + React Three Fiber
Orchestrazione AI
Orchestrator 4-agenti custom (TypeScript) · DeepSeek API · chiamate parallele + pass di sintesi
Blockchain
Polygon mainnet · ThirdWeb SDK v5 · Ethers v6 · gasless via Account Abstraction
Smart contract
AncestralMemory (ERC-721 soulbound, proxy upgradeable) · AnimusDNARegistry · Solidity
Storage
IPFS (Pinata + ThirdWeb) · Supabase (encrypted) · AsyncStorage / SecureStore
Crittografia
AES-256-CBC (CryptoJS) · chiavi derivate dal wallet · IV per record
Auth
Wallet connection (ThirdWeb) · sblocco biometrico (expo-secure-store)

On-chain

Contratti verificabili.

Entrambi i contratti sono deployati su Polygon mainnet e verificabili su Polygonscan. Mint pubblico, transfer disabilitati a livello di contratto.

Decisioni di ingegneria

Cose che ho dovuto risolvere.

  1. 01

    Perché agenti in parallelo invece di un singolo prompt concatenato.

    Il prompting sequenziale fa sì che gli agenti successivi vengano biased dai framing precedenti. L'esecuzione parallela preserva l'indipendenza interpretativa; la pass di sintesi reintroduce il contesto solo alla fine. Trade-off: 4× il costo API per analisi. Accettabile, dato il budget di latenza (5–10s end-to-end).

  2. 02

    Perché un NFT soulbound invece di una riga di database.

    Le memorie non sono proprietà trasferibile. Soulbound (ERC-721 con transfer bloccati a livello di contratto) dà all'utente una rivendicazione verificabile e portatile del proprio record senza abilitare resale o harvesting. Il payload on-chain è il minimo (token ID + IPFS hash) — la privacy vive nel layer cifrato sopra.

  3. 03

    Perché tre layer di storage invece di uno.

    Ogni layer risponde a una domanda diversa. IPFS: persistenza + content addressing. Supabase encrypted: query veloci + backup zero-knowledge. Polygon: ownership + audit trail tamper-proof. Da soli non basterebbero; insieme coprono availability, performance, e auto-sovranità.

  4. 04

    Perché derivazione chiave client-side.

    Se lo studio detenesse una qualsiasi chiave di cifratura, la promessa di privacy sarebbe una frase di marketing. Derivare le chiavi dal wallet a runtime è l'unico modo per rendere l'architettura onesta — e per rendere wallet perso = dati persi, by design.

Stato & roadmap

Live su Polygon mainnet. Build iOS e Android via Expo EAS. Companion web costruito con Vite.

In lavorazione: rifinitura della UI per le soul-connection (la collision detection è già nel contratto), integrazione API solare reale (al momento dati mock), flow di sign-up per la public alpha.

Per parlarne

Vuoi un walkthrough tecnico più approfondito — inclusi i prompt dei 4 agenti, la logica di sintesi, o i trade-off contrattuali? Mettiti in contatto.

Altri progetti

Altri due case study sono in preparazione.

Preferiamo mostrare un progetto fatto bene che cinque fatti male. Vuoi nel frattempo un walkthrough confidenziale di altri lavori per clienti?