Informatii generale
- Categorie: Utilitar
- Judetul: Suceava
- Surse: GitHub - amarieidavid26-byte/devlife · GitHub
Descriere
Video demonstrativ: https://www.youtube.com/watch?v=hvbnQ-0aqpU
DevLife e un mediu de programare care îți citește starea fizică de la o brățară și te oprește să rulezi comenzi periculoase atunci când ești prea obosit ca să gândești limpede.
Toți am fost în situația asta: e 1 noaptea, ai băut 3 cafele, ești blocat de ore la un bug și exact atunci scrii comanda pe care o regreți: un „git push --force" peste branch-ul greșit, un „rm -rf" din directorul greșit. Nu greșelile de sintaxă sunt problema, pe alea le prinde editorul, ci deciziile proaste luate când ești epuizat.
Brățara WHOOP dă pulsul și date biometrice, din ele DevLife calculează HRV-ul, iar recovery, efortul și somnul le ia din contul tău și le traduce în starea ta cognitivă. Când vede că ești epuizat sau stresat, blochează comenzile distructive în terminal. Când ești odihnit, nu te încurcă cu nimic. Totul se petrece într-un mediu propriu, desenat ca un joc 2.5D: te plimbi prin cameră, te așezi la birou ca să scrii cod sau să deschizi un terminal real, iar un „ghost" cu personalitate stă lângă tine și reacționează la starea ta. Când chiar greșești, îți propune o corectură pe care o vezi întâi ca diff și o aplici, sau o anulezi, cu un click.
L-am gândit pentru cei care ajung des la limită și nu au cine să îi tragă de mânecă: programatori care lucrează singuri în ture lungi, ingineri on-call, studenți la informatică și programatori amatori.
Un tracker îți raportează a doua zi cât ai muncit; un Pomodoro îți impune un ritm fix; o brățară obișnuită se oprește la un grafic și nu știe ce comandă tastezi; un asistent ca Copilot îți scrie cod mai repede, dar nu știe nimic despre starea ta. DevLife stă între oboseala ta și tasta Enter, pentru că o singură comandă greșită într-o noapte proastă poate însemna munca unei săptămâni pierdută sau un proiect compromis.
Cei care nu au o brățară pot încerca modul demo, cu date simulate.
Tehnologii
DevLife are două jumătăți care vorbesc în timp real: un frontend PixiJS și un backend Python pe FastAPI, legate printr-un WebSocket. Pe server, în fundal, rulează două bucle: una citește biometria la câteva secunde și clasifică starea, cealaltă decide, o dată pe secundă, când și cum intervine ghostul. O singură valoare, starea cognitivă, controlează toate componentele.
Piesa distinctivă e Fatigue Firewall, cu apărare pe două straturi. Clientul evaluează instant tipare; serverul copiază linia tastată în terminalul real și, când apeși Enter pe o comandă riscantă și ești epuizat sau stresat, în loc să o execute, șterge linia înainte ca aceasta să ajungă la shell, chiar dacă cineva ocolește interfața. Principiul e prudent: când linia reală nu poate fi inspectată (istoric, lipire din memorie, completare cu Tab), o blochează.
O brățară cu Bluetooth standard de puls (orice senzor, nu doar WHOOP) trimite pulsul și intervalele dintre bătăi, din care calculez HRV local (RMSSD pe o fereastră de 60 de secunde, cu filtrare de artefacte). Recovery, efort, somn și HRV zilnic vin din contul WHOOP prin OAuth2, iar dacă nu există o brățară conectată, folosește intervalul de tastare. Clasificatorul combină pragurile de puls, raportul HRV față de reperul tău personal și cadența tastării în cinci stări: odihnit, concentrat, stresat, agitat, epuizat.
Mediul de lucru cuprinde editorul Monaco (cel din VS Code), un terminal real și rularea codului chiar în browser: Python prin Pyodide, JavaScript într-un Web Worker izolat cu limită de 5 secunde, C++ prin JSCPP. O eroare la rulare ajunge la ghost și declanșează o intervenție, iar mesajele lui vin de la Claude, cu limită de timp și replici pregătite dinainte ca rezervă. Al doilea element distinctiv e Apply Fix: corectura propusă de Claude trece prin validare (Pydantic: număr maxim de linii, fără metacaractere de shell, interval valid), o vezi ca diff, o confirmi, se aplică și se poate anula, fiecare pas ajungând în jurnalul de audit.
Fiindcă expun un terminal și fișiere reale, securitatea e pe măsură: serverul ascultă doar local, verifică originea fiecărei conexiuni WebSocket (pe care CORS nu le acoperă), cere un token de sesiune pe operațiile privilegiate și ține tot accesul la fișiere și directorul terminalului într-un spațiu izolat; intrările sunt validate cu Pydantic, iar un mesaj malformat nu distruge conexiunea. Restul rezistă la căderi: fără WHOOP, date simulate; fără Claude, replici pregătite dinainte; aplicația merge complet offline. Starea este stocată în SQLite (mod WAL, o conexiune per fir).
Peste 220 de teste automate rulează în CI pe GitHub Actions.
Cerinte sistem
Necesare:
- Python 3.11+
- Node.js 18+
- Chrome sau Edge (pentru Web Bluetooth)
- Windows, macOS sau Linux
Opționale (fără ele, DevLife merge în mod demo, pe date simulate):
- brățară WHOOP + cont WHOOP, pentru biometrice reale
- API Claude, altfel ghost-ul folosește replici pre-scrise
Realizatori
Matei Vultur
- Scoala: Colegiul Naţional „Nicu Gane”
- Clasa: 11
- Judet: Suceava
- Oras: Băișești
David Amariei
- Scoala: Colegiul National “Nicu Gane”
- Clasa: 11
- Judet: Suceava
- Oras: Falticeni
Screenshots


