Salut, sunt

Cristian Costea

Student ASE CSIE · Cibernetică Economică

Construiesc aplicații web care rămân lizibile peste un an. De obicei fără framework și fără pas de compilare — dar nu mereu aceeași stivă, dacă proiectul chiar o cere.

Despre mine

Sunt student în anul 1 la Cibernetică Economică, ASE București. Construiesc aplicații pe care le folosesc zilnic: un buget personal care scrie offline și citește extrase bancare, și un loc de îngrijire de sine construit ca o grădină — fără scoruri și fără vinovăție pentru o zi ratată.

Lucrez de obicei în HTML, CSS și JavaScript simple, găzduite pe Cloudflare Pages. Deciziile grele sunt despre date corecte, funcționare fără semnal și ce rămâne în afara produsului. Codul se scrie împreună cu un asistent AI, pe fiecare proiect în parte — ce anume am ales și ce am lăsat deoparte e povestit la fiecare studiu de caz de mai jos.

Tehnologii

Front-end

  • HTML
  • CSS
  • JavaScript

Frameworks

  • Next.js
  • React
  • Svelte
  • TypeScript
  • Tailwind CSS
  • d3-force
  • Node

Date & autentificare

  • Supabase
  • PostgreSQL
  • Row Level Security

Web & offline

  • PWA
  • Service Workers
  • LocalStorage
  • Chart.js

Publicare

  • Cloudflare Pages
  • fișiere statice, fără build
  • Content-Security-Policy

Proiecte

Live

Cheltuieli PWA – conturi și sincronizare

actualizat octombrie 2026

Buget personal. Scriere instant fără semnal, sincronizare prin Supabase, import din extras (PDF, CSV sau text). Observațiile lunii sunt reguli explicite, nu un model de limbaj.

Detalii și funcții
  • Autentificare cu Google sau email + parolă, date sincronizate prin Supabase
  • Venituri și cheltuieli, cu bilanțul lunii și cât ai reușit să păstrezi
  • Buget lunar pe categorii, în procente sau sume fixe, salvat separat pentru fiecare lună
  • Plăți și venituri recurente, generate automat, cu semnalarea schimbărilor de preț
  • Import din extras bancar — PDF, CSV sau text lipit — cu recunoașterea automată a comercianților
  • Tag-uri scrise ca #cantina în notițe, agregate în rapoarte
  • Rapoarte pe categorii, pe comerciant și observațiile lunii, cu grafice pe ultimele 6 luni, filtrabile pe cont
  • Export JSON și CSV, instalabilă pe telefon
  • Conflicte între dispozitive: te întreabă, nu calcă tăcut
  • Studiu de caz: decizii, ce am aruncat, ce încă nu face
PWA JavaScript Supabase Chart.js Service Worker
Live

Infloresc – un loc mic, pentru tine

actualizat octombrie 2026

Îngrijire de sine ca o grădină. Fiecare zi bună crește o floare. O zi ratată nu strică nimic — grădina pur și simplu nu crește atunci. Contul e opțional.

Detalii și funcții
  • Grădină explorabilă, cu flori care cresc pe etape și parcele care se deblochează
  • Cont opțional, cu sincronizare automată între dispozitive
  • Momentul de seară, cu mini-misiuni și un răvaș
  • Jurnal salvat pe zile, cu mozaicul lunii, de recitit mai târziu
  • Exercițiu de respirație ghidat
  • O pisică tovarăș, cu nume ales de tine
  • Export și import al datelor, teme de culoare, instalabilă pe telefon
  • Mini-misiunile de seară se pot edita, șterge sau adăuga
  • Studiu de caz: decizii, ce am aruncat, ce încă nu face
PWA JavaScript Supabase LocalStorage Service Worker
Live

Frații Karamazov — o hartă pentru roman

actualizat octombrie 2026

Romanul e o rețea de oameni, locuri și momente — am făcut-o vizibilă, nu doar povestită. O explorare interactivă: cronologia poveștii, orașul în care se petrece, personajele și legăturile dintre ele, plus un quiz și o colecție de citate. Are și o anchetă jucabilă: aduni probele crimei pe hartă sau intri într-un prototip 3D la persoana întâi, până la procesul în care votezi tu.

Detalii și funcții
  • Cronologie interactivă — 41 de momente cheie, cu legături spre personaje
  • Harta orașului Skotoprigonyevsk — 12 locuri, clickabile
  • 23 de portrete de personaje, interconectate
  • Graful relațiilor dintre personaje — 36 de legături, într-o singură hartă
  • 35 de citate, filtrabile pe personaj și pe temă
  • Quiz „Ce personaj ești" — 8 dileme din roman
  • Tot site-ul e disponibil în română și în engleză
  • Anchetă jucabilă — 11 probe pe hartă și un prototip 3D la persoana întâi (Three.js): 11 scene, vot la proces, epilog diferit după vot, sunet generat din cod (Web Audio)
Next.js React TypeScript Tailwind CSS d3-force Three.js Web Audio
Arhivă

Cheltuieli – versiune fără conturi

Prima versiune a aplicației, păstrată ca arhivă. Datele erau salvate doar în browserul dispozitivului, fără cont și fără sincronizare între dispozitive.

De ce e aici: arată trecerea de la „memoria browserului era baza" la conturi și sincronizare. Datele trăiau pe un singur dispozitiv și dispăreau la golirea cache-ului.

PWA JavaScript LocalStorage
Vezi versiunea veche →
Arhivă

Seară drăguță – prima versiune

Pagina de la care a pornit Infloresc: una singură, de seară, cu mini-misiuni, o prăjitură cu răvaș și o pisică. Păstrată ca punct de plecare, înainte să devină o aplicație cu mai multe secțiuni.

De ce e aici: o singură pagină de seară (misiuni, răvaș, pisică) înainte să existe grădină, jurnal, respirație și parcele.

HTML CSS JavaScript
Vezi versiunea veche →

Mini proiecte

Experimente mai scurte — interacțiuni, date publice, idei pe care le testez rapid.

Live

Rate Story – indicatorii economici pe înțelesul studentului

Scrollytelling cu cinci indicatori oficiali — cursul valutar, dobânda BNR, inflația, salariul mediu net și rata șomajului — traduși în impact pe bugetul unui student: abonamente, chirie, ore de muncă. Date live de la BNR și INS.

Detalii și funcții
  • Svelte 5 și Vite, o singură pagină, fără rutare
  • Funcții Cloudflare care preiau date de la BNR și INS și le țin în cache, cu o copie de rezervă când sursa nu răspunde
  • Un modul de calcul separat pentru fiecare indicator, independent de framework
  • Sumele se pot edita, iar impactul se recalculează imediat
  • Secțiune „Surse și metodologie": de unde vine fiecare cifră și cum e calculată
Svelte + Vite Scrollytelling BNR + INS Cloudflare
Live

Down to Bedrock – o coborâre prin lumea din blocuri

Totul se întâmplă la scroll: sapi prin piatră bloc cu bloc, mergi cu vagonetul într-un portal și explorezi un Nether interactiv, cu ghast, piglin și cubi de magma. Proiect fan, cu pixel art desenat de la zero. Are și un joc 2D care merge direct în browser: sapi până la bedrock, faci unelte la crafting și treci printr-o mină cu cufere spre Nether.

Detalii și funcții
  • Animații la scroll din CSS pentru efecte simple și GSAP pentru scene fixate
  • Pixel art 16×16, generat din grile text cu script PowerShell, cu culorile din variabile CSS
  • Variantă statică și completă pentru cine are animațiile oprite (prefers-reduced-motion)
  • CSP strict și verificări automate înainte de fiecare publicare
  • Joc 2D pe canvas, cu module ES și fără build: lumină calculată bloc cu bloc, crafting, inventar cu rucsac, mobi, salvare în browser și sunete create din cod (Web Audio)
CSS scroll-driven GSAP ScrollTrigger Pixel art SVG Canvas 2D Web Audio Cloudflare

Ce urmează

Idei pe care le am în minte, nu promisiuni cu termen — apar mai sus, ca proiect, doar când chiar ajung să le construiesc.

O cameră de studiu, în timp real

Nu pentru mine singur — pentru un grup, colegi de an sau de cameră. Prezență live și un cronometru comun, fără cont și fără istoric păstrat.

Un instrument pentru o materie de la ASE

Ceva din ce studiez efectiv — statistică sau microeconomie — transformat într-un calculator sau o vizualizare interactivă. Leagă proiectele de facultate, nu doar de cod.

Hai să vorbim

Instagram e locul unde răspund cel mai repede. Studiile de caz sunt pagina de lucru: acolo e scris ce am decis și ce am scos.