Blog

Co jau sviluppesch Baby Monitor Timmy cun GitHub Copilot

L'AI ma gida da avanzar pli svelt. La responsabladad per Timmy resta dentant tar mai.

Baby Monitor Timmy è naschì d'ina idea simpla: in babyphone che respecta la sfera privata a chasa. Naginas registraziuns en il cloud e nagins trajects da datas nunnecessaris or da la chombra da l'uffant. Quai che bleras persunas na vesan betg: jau sviluppesch Timmy sco project individual a Turitg, e GitHub Copilot è mes programatur partenari fitg svelt.

Il process da lavur tranter uman ed IA

La repartiziun è clera: jau definesch las funcziuns, fixeschel las prioritads e prend las decisiuns d'architectura. Copilot gida tar l'implementaziun: scriver code, agiuntar tests, circumscriver bugs e preparar ils pass per la publicaziun.

In sprint tipic para per mai circa uschia:

  1. Descripziun da la funcziun: Jau descrivel tge che la funcziun duai far, inclusiv cas spezials e restricziuns.
  2. Implementaziun: Copilot propona code e suonda las convenziuns existentas dal project.
  3. Tests: Tests automatisads end-to-end van sin dus emuladers e controlleschan la vera colliaziun tranter uffant e genitur.
  4. Distribuziun: Cura che tut ils tests èn reussids, vegnan preparadas las versiuns per Android ed iOS per las dretgas butias e chanals da test.

Quest ciclus sa repeta per funcziuns e correcturas da bugs. Jau na scrivel betg mintga lingia sez, ma jau decida tge che vegn sviluppà, pertge ch'el vegn sviluppà e schebain ina proposta è adattada per Timmy.

Dal concept a WebRTC

L'incumbensa tecnica centrala era clera davent da l'entschatta: audio e video en temp real tranter dus telefons. WebRTC era la tscherna evidenta, ma l'integraziun cun Flutter n'è betg simpla: candidats ICE, negoziaziun SDP, soluziun alternativa via TURN e DataChannels ston funcziunar ensemen en la dretga successiun.

Copilot m'ha gidà a reunir quests elements pass per pass: configurar la connexiun peer-to-peer, mantegnair la successiun critica correcta (DataChannel avant l'offer, onTrack avant setRemoteDescription) e realisar la signalaziun cun Firebase Firestore. Mintga element ha stuì funcziunar sin dus emuladers avant che jau cuntinuass.

Colliament segir cun ECDH

Ina da las funcziuns las pli criticas era il sistem segir da colliament. Dus apparats ston pudair stabilir ina confidenza vicendaivla senza depender d'in server central che garantescha per lur identitad. La soluziun: in barat da clavs ECDH P-256 via Firebase, cumbinà cun in numer visual da verificaziun (SAS) che identifitgescha attatgas man-in-the-middle.

Copilot ha gidà ad implementar la chadaina criptografica: generaziun da clavs, barat da clavs publicas, derivaziun dal secret communabel, calcul dal SAS e criptaziun AES-256-GCM per tut las datas da signalaziun posteriuras. Jau na tramet betg la clav da colliament al backend; mo ses hash SHA-256 vegn duvrà sco identificatur d'in document da Firestore.

Audit da segirezza: chattar e reparar vulnerabilitads

Sviluppar cun agid d'AI n'è per mai betg mo scriver pli svelt. Quai gida er a tschertgar bugs sistematicamain. Durant in sprint d'audit da segirezza focalisà ha Copilot analisà la basa da code e chattà sis problems che jau hai stuì reparar:

Tut ils sis problems èn vegnids reparads durant il medem sprint. Qua è Copilot ferm: leger bleras datotecas, cumparegliar musters e marcar lieus che jau stoss examinar pli exactamain.

Sprints iterativs: co l'app è sa sviluppada

Timmy è creschì tras sprints sperts, ma cleramain limitads. Intgins puncts impurtants:

Mintga sprint suonda il medem muster da basa: descriver la finamira, verifitgar propostas, testar automaticamain e lura distribuir als testaders.

Tests E2E tranter apparats

In babyphone na pon ins betg testar endretg sin in sulet apparat. Jau dovrel in apparat per l'uffant ed in apparat per ils geniturs. Il project ha cumenzà cun dus emuladers Android che currivan simultanamain ed cumplettescha ussa quel ciclus cun tests locals sin il simulatur iOS ed apparats reals. Il script da test automatisà per Android fa anc adina:

  1. Installescha l'app sin omadus emuladers
  2. Navigescha tras la colliaziun sin omadus apparats
  3. Verifitgescha che las connexiuns dad audio e video èn stabilidas
  4. Testescha push-to-talk, controlla da camera ed autras funcziuns

Perquai che omadus emuladers partan la medema adressa IP (10.0.2.15), ina colliaziun directa peer-to-peer via STUN è nunpussaivla. Mintga test sto passar tras il relay Cloudflare TURN. Quai è fastidinus, dentant util: il traject da colliaziun il pli cumplex vegn testà mintga giada.

Tge che jau hai emprendì

Sviluppar in'app cumpletta cun in programatur partenari basà sin IA m'ha mussà intginas chaussas:

Guardond enavant

Baby Monitor Timmy sa sviluppa vinavant. La publicaziun per iOS è imminenta; suenter suondan ulteriuras funcziuns da sensors ed in rinforzament cuntinuant da la segirezza. Il process da lavur resta sumegliant: jau fixeschel la direcziun ed ils cunfins, Copilot gida ad implementar e controllar svelt.

Ils elements tecnics relevants per la segirezza èn ussa organisads cun cunfins clers en il repository public il repository baby-monitor-timmy-core. Là èn er documentadas las decisiuns d'architectura davart il colliament, la signalaziun e las interfatschas dal backend.


Ulteriurs artitgels