[{"data":1,"prerenderedAt":734},["ShallowReactive",2],{"directus:site":3,"directus:pages":36,"directus:case-study:v3":513},{"id":4,"name":5,"available":6,"email":7,"pec":8,"street":9,"postal_code":10,"city":11,"province":12,"vat":13,"rea":14,"sdi":15,"github":16,"linkedin":17,"translations":18},1,"Leica Florian Robert",true,"info@leicaflorianrobert.dev","florian.leica@pec.it","Via Pozza Maraschin, 44\u002FB","36015","Schio","VI","04329800249","VI - 396256","M5UXCR1","https:\u002F\u002Fgithub.com\u002Fleicaflorian","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fflorian-robert-leica\u002F",[19,24,30],{"id":4,"site_id":4,"languages_code":20,"role":21,"profession":21,"tagline":22,"cv_profile":23},"it","Sviluppatore Web & Mobile","Sviluppatore Web & Mobile. Da {years} anni trasformo idee in prodotti digitali.","Sviluppatore full stack da {years} anni: ho cominciato da autodidatta e oggi porto siti, app e piattaforme SaaS dall'idea al server, curando architettura, interfacce e infrastruttura. Sono stato CTO di un'agenzia e docente principale di un corso Full Stack, dove ho formato decine di studenti. Lavoro soprattutto con TypeScript, Vue e Nuxt, Laravel e Directus. Resto curioso: sperimento nuove tecnologie, AI compresa, e cerco sempre il modo più semplice e solido per risolvere un problema.",{"id":25,"site_id":4,"languages_code":26,"role":27,"profession":27,"tagline":28,"cv_profile":29},2,"en","Web & Mobile Developer","Web & Mobile Developer. For {years} years I have been turning ideas into digital products.","Full stack developer for {years} years: I started out self-taught and today I take websites, apps and SaaS platforms from idea to server, looking after architecture, interfaces and infrastructure. I have been the CTO of an agency and the lead teacher of a Full Stack course, where I trained dozens of students. I work mostly with TypeScript, Vue and Nuxt, Laravel and Directus. I stay curious: I experiment with new technologies, AI included, and always look for the simplest, most solid way to solve a problem.",{"id":31,"site_id":4,"languages_code":32,"role":33,"profession":33,"tagline":34,"cv_profile":35},3,"ro","Dezvoltator Web & Mobile","Dezvoltator Web & Mobile. De {years} ani transform idei în produse digitale.","Dezvoltator full stack de {years} ani: am început ca autodidact, iar astăzi duc site-uri, aplicații și platforme SaaS de la idee la server, ocupându-mă de arhitectură, interfețe și infrastructură. Am fost CTO-ul unei agenții și profesorul principal al unui curs Full Stack, unde am format zeci de studenți. Lucrez mai ales cu TypeScript, Vue și Nuxt, Laravel și Directus. Rămân curios: experimentez tehnologii noi, inclusiv AI, și caut mereu cea mai simplă și solidă cale de a rezolva o problemă.",[37,126,232,320,371],{"id":4,"sort":4,"key":38,"in_menu":6,"children":39,"translations":40,"sections":53},"home","none",[41,46,49],{"id":4,"pages_id":4,"languages_code":20,"slug":42,"title":43,"seo_title":44,"description":45},"","Home","Dall'idea al server: siti, app e SaaS che arrivano online e ci restano","Sviluppatore Web & Mobile a Schio (Vicenza): siti, app e SaaS che arrivano online e ci restano. {years} anni tra sviluppo, design e infrastruttura.",{"id":25,"pages_id":4,"languages_code":26,"slug":42,"title":43,"seo_title":47,"description":48},"From idea to server: websites, apps and SaaS that go live and stay live","Web & Mobile Developer in Schio (Vicenza, Italy): websites, apps and SaaS that go live and stay live. {years} years across development, design and infrastructure.",{"id":31,"pages_id":4,"languages_code":32,"slug":42,"title":50,"seo_title":51,"description":52},"Acasă","De la idee la server: site-uri, aplicații și SaaS care ajung online și rămân acolo","Dezvoltator Web & Mobile în Schio (Vicenza, Italia): site-uri, aplicații și SaaS care ajung online și rămân acolo. {years} ani între dezvoltare, design și infrastructură.",[54,74,90,104],{"id":4,"collection":55,"sort":4,"item":56},"block_hero_home",{"id":4,"engines":57,"translations":58},"both",[59,64,69],{"id":4,"block_hero_home_id":4,"languages_code":20,"title":60,"title_accent":61,"text":62,"legacy_text":63},"Dall'idea","al server","Siti, app e SaaS che arrivano online e ci restano. {years} anni tra sviluppo, design e infrastruttura.","Da {years} anni trasformo idee in siti, app e interfacce che funzionano davvero. Questa pagina è servita dal vecchio DOM: testo, link blu e tabelle.",{"id":25,"block_hero_home_id":4,"languages_code":26,"title":65,"title_accent":66,"text":67,"legacy_text":68},"From idea","to server","Websites, apps and SaaS that go live and stay live. {years} years across development, design and infrastructure.","For {years} years I have been turning ideas into websites, apps and interfaces that actually work. This page is served by the old DOM: text, blue links and tables.",{"id":31,"block_hero_home_id":4,"languages_code":32,"title":70,"title_accent":71,"text":72,"legacy_text":73},"De la idee","la server","Site-uri, aplicații și SaaS care ajung online și rămân acolo. {years} ani între dezvoltare, design și infrastructură.","De {years} ani transform idei în site-uri, aplicații și interfețe care chiar funcționează. Această pagină este servită de vechiul DOM: text, linkuri albastre și tabele.",{"id":25,"collection":75,"sort":25,"item":76},"block_services",{"id":4,"engines":57,"translations":77},[78,82,86],{"id":4,"block_services_id":4,"languages_code":20,"label":79,"title":80,"text":81},"servizi","Cosa posso fare per te?","Che ti serva un sito, un'app o un'interfaccia che non faccia scappare gli utenti, ecco come posso aiutarti:",{"id":25,"block_services_id":4,"languages_code":26,"label":83,"title":84,"text":85},"services","What can I do for you?","Whether you need a website, an app or an interface that doesn't scare users away, here's how I can help:",{"id":31,"block_services_id":4,"languages_code":32,"label":87,"title":88,"text":89},"servicii","Ce pot face pentru tine?","Fie că ai nevoie de un site, de o aplicație sau de o interfață care să nu-i alunge pe utilizatori, iată cum te pot ajuta:",{"id":31,"collection":91,"sort":31,"item":92},"block_projects",{"id":4,"engines":57,"show":38,"kind":93,"all_link":6,"translations":94},"all",[95,98,101],{"id":4,"block_projects_id":4,"languages_code":20,"label":96,"title":97},"progetti","Lavori selezionati",{"id":25,"block_projects_id":4,"languages_code":26,"label":99,"title":100},"projects","Selected work",{"id":31,"block_projects_id":4,"languages_code":32,"label":102,"title":103},"proiecte","Lucrări selectate",{"id":105,"collection":106,"sort":105,"item":107},4,"block_contact_form",{"id":4,"engines":57,"translations":108},[109,115,121],{"id":4,"block_contact_form_id":4,"languages_code":20,"label":110,"title":111,"text":112,"steps_title":113,"steps":114},"contatti","Parliamone","Hai un progetto, un problema o solo un dubbio tecnico? Scrivimi: ti dico onestamente cosa farei, senza giri di parole.","Come funziona","Mi scrivi (anche due righe vanno bene)\nTi rispondo entro 1–2 giorni lavorativi e, se serve, ci sentiamo in una call di 30 minuti\nTi mando una proposta chiara: tempi, costi, cosa è incluso",{"id":25,"block_contact_form_id":4,"languages_code":26,"label":116,"title":117,"text":118,"steps_title":119,"steps":120},"contact","Let's talk","Got a project, a problem or just a technical question? Write to me: I'll tell you honestly what I'd do, no beating around the bush.","How it works","You write to me (two lines are enough)\nI reply within 1–2 working days and, if needed, we have a 30-minute call\nI send you a clear proposal: timing, costs, what's included",{"id":31,"block_contact_form_id":4,"languages_code":32,"label":116,"title":122,"text":123,"steps_title":124,"steps":125},"Hai să vorbim","Ai un proiect, o problemă sau doar o nelămurire tehnică? Scrie-mi: îți spun sincer ce aș face, fără ocolișuri.","Cum funcționează","Îmi scrii (sunt de ajuns două rânduri)\nÎți răspund în 1–2 zile lucrătoare și, dacă e nevoie, vorbim într-un call de 30 de minute\nÎți trimit o propunere clară: termene, costuri, ce este inclus",{"id":25,"sort":25,"key":127,"in_menu":6,"children":39,"translations":128,"sections":143},"about",[129,134,138],{"id":105,"pages_id":25,"languages_code":20,"slug":130,"title":131,"seo_title":132,"description":133},"chi-sono","Chi sono",null,"Sono Leica Florian Robert, sviluppatore Web & Mobile: sviluppo full stack, progetto interfacce (UI e UX) e insegno tecnologie web.",{"id":135,"pages_id":25,"languages_code":26,"slug":127,"title":136,"seo_title":132,"description":137},5,"About me","I'm Leica Florian Robert, a Web & Mobile Developer: I build full stack, design interfaces (UI and UX) and teach web technologies.",{"id":139,"pages_id":25,"languages_code":32,"slug":140,"title":141,"seo_title":132,"description":142},6,"despre-mine","Despre mine","Sunt Leica Florian Robert, dezvoltator Web & Mobile: dezvolt full stack, proiectez interfețe (UI și UX) și predau tehnologii web.",[144,160,184,201,213],{"id":135,"collection":145,"sort":4,"item":146},"block_page_header",{"id":4,"engines":57,"variant":127,"cv_button":6,"translations":147},[148,152,156],{"id":4,"block_page_header_id":4,"languages_code":20,"label":149,"title":150,"intro":151},"\u002F\u002F su di me","Ciao, piacere","Sono Leica Florian Robert, sviluppatore Web & Mobile: sviluppo full stack, progetto interfacce (UI e UX) e insegno tecnologie web. Sono un grande appassionato d'informatica e di tecnologia.",{"id":25,"block_page_header_id":4,"languages_code":26,"label":153,"title":154,"intro":155},"\u002F\u002F about me","Hi, nice to meet you","I'm Leica Florian Robert, a Web & Mobile Developer: I build full stack, design interfaces (UI and UX) and teach web technologies. I'm a big fan of computing and technology.",{"id":31,"block_page_header_id":4,"languages_code":32,"label":157,"title":158,"intro":159},"\u002F\u002F despre mine","Salut, încântat de cunoștință","Sunt Leica Florian Robert, dezvoltator Web & Mobile: dezvolt full stack, proiectez interfețe (UI și UX) și predau tehnologii web. Sunt un mare pasionat de informatică și tehnologie.",{"id":139,"collection":161,"sort":25,"item":162},"block_text",{"id":4,"engines":57,"widgets":163,"translations":168},[164,165,166,167],"web","editor","lesson","agent",[169,174,179],{"id":4,"block_text_id":4,"languages_code":20,"label":170,"title":171,"text":172,"steps":173},"storia","Da autodidatta a sviluppatore","Ho cominciato a programmare da autodidatta, a 20 anni, nel 2009, con un'applicazione in Visual Basic per l'Ordine degli Ingegneri della Provincia di Potenza, sviluppata per Tecnobit. Nessun corso, solo qualche dritta da un amico: per il resto documentazione, tentativi ed errori. Volevo capire come funziona il web e, prima o poi, farne parte.\n\nUn tassello alla volta, quella curiosità è diventata un mestiere. Mi sono messo alla prova su progetti sempre più grandi, fino a co-fondare una software house e a guidare, da CTO, la parte tecnica di una web agency: backend in Laravel e Node.js, interfacce in Vue e Nuxt, app mobile. Mi è capitato di sbagliare, e ogni errore mi ha insegnato qualcosa che un manuale non spiega.\n\nHo imparato da solo, e per questo so quanto conta avere qualcuno che ti spiega le cose bene. Per quasi tre anni, dal 2021 al 2024, ho formato programmatori Full Stack con Boolean Careers, insegnando loro quello che serve per lavorare davvero. Spiegare mi ha costretto a capire ogni cosa fino in fondo, e mi ha reso uno sviluppatore migliore.\n\nOggi lavoro come sviluppatore e continuo a guardare dove sta andando la tecnologia. Soprattutto l'AI, che sta cambiando il modo di lavorare in molti settori. Per me è uno strumento come gli altri, e come ogni buon strumento semplifica molte cose: la uso ogni giorno come un collega instancabile, che scrive e verifica codice sotto la mia direzione. Questo sito ne è la prova, e lo racconto nel suo case study.","l'inizio\nla crescita\ninsegnare\noggi",{"id":25,"block_text_id":4,"languages_code":26,"label":175,"title":176,"text":177,"steps":178},"story","From self-taught to developer","I started programming self-taught at 20, in 2009, with a Visual Basic application for the Order of Engineers of the Province of Potenza, built for Tecnobit. No courses, just a few tips from a friend: the rest was documentation, trial and error. I wanted to understand how the web works and, sooner or later, be part of it.\n\nPiece by piece, that curiosity became a trade. I tested myself on bigger and bigger projects, up to co-founding a software house and leading, as CTO, the technical side of a web agency: Laravel and Node.js backends, Vue and Nuxt interfaces, mobile apps. I made mistakes along the way, and every one taught me something no manual explains.\n\nI learned on my own, and that's why I know how much it matters to have someone who explains things well. For almost three years, from 2021 to 2024, I trained Full Stack developers at Boolean Careers, teaching them what they need to really do the job. Explaining forced me to understand everything all the way down, and made me a better developer.\n\nToday I work as a developer and keep watching where technology is going. Above all AI, which is changing how people work in many fields. To me it's a tool like any other, and like every good tool it makes many things simpler: I use it every day like a tireless colleague that writes and checks code under my direction. This site is the proof, and I tell the story in its case study.","the start\ngrowing\nteaching\ntoday",{"id":31,"block_text_id":4,"languages_code":32,"label":180,"title":181,"text":182,"steps":183},"poveste","De la autodidact la dezvoltator","Am început să programez ca autodidact la 20 de ani, în 2009, cu o aplicație în Visual Basic pentru Ordinul Inginerilor din Provincia Potenza, dezvoltată pentru Tecnobit. Niciun curs, doar câteva sfaturi de la un prieten: în rest, documentație, încercări și greșeli. Voiam să înțeleg cum funcționează web-ul și, mai devreme sau mai târziu, să fac parte din el.\n\nPas cu pas, acea curiozitate a devenit o meserie. M-am pus la încercare pe proiecte tot mai mari, până la a co-fonda o software house și a conduce, ca CTO, partea tehnică a unei agenții web: backend în Laravel și Node.js, interfețe în Vue și Nuxt, aplicații mobile. Mi s-a întâmplat să greșesc, iar fiecare greșeală m-a învățat ceva ce niciun manual nu explică.\n\nAm învățat singur și de aceea știu cât contează să ai pe cineva care îți explică bine lucrurile. Timp de aproape trei ani, din 2021 până în 2024, am format programatori Full Stack la Boolean Careers, învățându-i ce le trebuie ca să lucreze cu adevărat. Să explic m-a obligat să înțeleg totul până la capăt și m-a făcut un dezvoltator mai bun.\n\nAstăzi lucrez ca dezvoltator și continui să urmăresc încotro merge tehnologia. Mai ales AI-ul, care schimbă felul în care se lucrează în multe domenii. Pentru mine e un instrument ca oricare altul și, ca orice instrument bun, simplifică multe lucruri: îl folosesc zilnic ca pe un coleg neobosit, care scrie și verifică cod sub îndrumarea mea. Acest site este dovada, iar povestea o spun în studiul lui de caz.","începutul\ncreșterea\npredarea\nazi",{"id":185,"collection":186,"sort":31,"item":187},7,"block_experiences",{"id":4,"engines":57,"translations":188},[189,193,197],{"id":4,"block_experiences_id":4,"languages_code":20,"label":190,"title":191,"text":192},"esperienze","Ecco alcune esperienze","Queste sono alcune delle esperienze più significative che ho avuto nel corso della mia carriera. Ci sono stati molti altri progetti e collaborazioni, e tutte queste esperienze mi hanno permesso di crescere professionalmente, ma sicuramente queste sono le più importanti.",{"id":25,"block_experiences_id":4,"languages_code":26,"label":194,"title":195,"text":196},"experience","Some of my experience","These are some of the most significant experiences of my career. There have been many other projects and collaborations, and all of them helped me grow professionally, but these are certainly the most important.",{"id":31,"block_experiences_id":4,"languages_code":32,"label":198,"title":199,"text":200},"experiență","Câteva dintre experiențele mele","Acestea sunt câteva dintre cele mai semnificative experiențe din cariera mea. Au mai fost multe alte proiecte și colaborări, iar toate m-au ajutat să cresc profesional, dar acestea sunt cu siguranță cele mai importante.",{"id":202,"collection":203,"sort":105,"item":204},8,"block_stack",{"id":4,"engines":57,"translations":205},[206,209,211],{"id":4,"block_stack_id":4,"languages_code":20,"label":207,"title":208},"stack","Tecnologie e linguaggi",{"id":25,"block_stack_id":4,"languages_code":26,"label":207,"title":210},"Technologies and languages",{"id":31,"block_stack_id":4,"languages_code":32,"label":207,"title":212},"Tehnologii și limbaje",{"id":214,"collection":215,"sort":135,"item":216},9,"block_cta",{"id":4,"engines":217,"variant":218,"translations":219},"native","banner",[220,224,228],{"id":4,"block_cta_id":4,"languages_code":20,"label":132,"title":221,"title_accent":222,"text":223},"Ora sai qualcosa in più,","scrivimi","Se hai bisogno di un sito web, di un'applicazione mobile, di un logo o di un'identità visiva, o se hai semplicemente bisogno di un consiglio, non esitare a contattarmi! Sono sempre alla ricerca di nuove sfide, nuovi entusiasmanti progetti e nuove opportunità per migliorare come persona e come professionista.",{"id":25,"block_cta_id":4,"languages_code":26,"label":132,"title":225,"title_accent":226,"text":227},"Now you know a bit more,","drop me a line","If you need a website, a mobile app, a logo or a visual identity, or if you simply need some advice, don't hesitate to get in touch! I'm always looking for new challenges, exciting new projects and new opportunities to grow as a person and as a professional.",{"id":31,"block_cta_id":4,"languages_code":32,"label":132,"title":229,"title_accent":230,"text":231},"Acum știi ceva mai mult,","scrie-mi","Dacă ai nevoie de un site web, de o aplicație mobilă, de un logo sau de o identitate vizuală, sau dacă ai nevoie pur și simplu de un sfat, nu ezita să mă contactezi! Sunt mereu în căutarea unor noi provocări, a unor proiecte noi și interesante și a unor noi oportunități de a mă dezvolta ca om și ca profesionist.",{"id":31,"sort":31,"key":99,"in_menu":6,"children":99,"translations":233,"sections":243},[234,237,240],{"id":185,"pages_id":31,"languages_code":20,"slug":96,"title":235,"seo_title":132,"description":236},"Progetti","Alcuni dei progetti che ho realizzato: siti, web app, app mobile ed esperimenti.",{"id":202,"pages_id":31,"languages_code":26,"slug":99,"title":238,"seo_title":132,"description":239},"Projects","Some of the projects I've built: websites, web apps, mobile apps and experiments.",{"id":214,"pages_id":31,"languages_code":32,"slug":102,"title":241,"seo_title":132,"description":242},"Proiecte","Câteva dintre proiectele pe care le-am realizat: site-uri, aplicații web, aplicații mobile și experimente.",[244,258,268,283,298,311],{"id":245,"collection":145,"sort":4,"item":246},10,{"id":25,"engines":57,"variant":99,"cv_button":247,"translations":248},false,[249,252,255],{"id":105,"block_page_header_id":25,"languages_code":20,"label":250,"title":235,"intro":251},"\u002F\u002F {n} progetti","Siti, piattaforme, app, infrastrutture: qui sotto una parte di quello che ho costruito, per clienti e per me. Oggi lavoro anche con l'AI, che mi fa andare più veloce, mentre decisioni, architettura e qualità restano mie. Hai qualcosa di diverso in mente? Scrivimi.",{"id":135,"block_page_header_id":25,"languages_code":26,"label":253,"title":238,"intro":254},"\u002F\u002F {n} projects","Websites, platforms, apps, infrastructure: below is part of what I've built, for clients and for myself. Today I also work with AI, which makes me faster, while the decisions, the architecture and the quality stay mine. Have something different in mind? Write to me.",{"id":139,"block_page_header_id":25,"languages_code":32,"label":256,"title":241,"intro":257},"\u002F\u002F {n} proiecte","Site-uri, platforme, aplicații, infrastructuri: mai jos e o parte din ce am construit, pentru clienți și pentru mine. Astăzi lucrez și cu AI, care mă face mai rapid, în timp ce deciziile, arhitectura și calitatea rămân ale mele. Ai altceva în minte? Scrie-mi.",{"id":259,"collection":91,"sort":25,"item":260},11,{"id":25,"engines":57,"show":261,"kind":93,"all_link":247,"translations":262},"featured",[263,265,266],{"id":105,"block_projects_id":25,"languages_code":20,"label":264,"title":132},"in evidenza",{"id":135,"block_projects_id":25,"languages_code":26,"label":261,"title":132},{"id":139,"block_projects_id":25,"languages_code":32,"label":267,"title":132},"în evidență",{"id":269,"collection":91,"sort":31,"item":270},12,{"id":31,"engines":57,"show":271,"kind":272,"all_link":247,"translations":273},"archive","direct",[274,277,280],{"id":185,"block_projects_id":31,"languages_code":20,"label":275,"title":276},"clienti","Lavori per i clienti",{"id":202,"block_projects_id":31,"languages_code":26,"label":278,"title":279},"clients","Client work",{"id":214,"block_projects_id":31,"languages_code":32,"label":281,"title":282},"clienți","Lucrări pentru clienți",{"id":284,"collection":91,"sort":105,"item":285},13,{"id":105,"engines":57,"show":286,"kind":287,"all_link":247,"translations":288},"grouped","agency",[289,292,295],{"id":245,"block_projects_id":105,"languages_code":20,"label":290,"title":291},"agenzie","Tramite agenzia",{"id":259,"block_projects_id":105,"languages_code":26,"label":293,"title":294},"agencies","Through agencies",{"id":269,"block_projects_id":105,"languages_code":32,"label":296,"title":297},"agenții","Prin agenții",{"id":299,"collection":91,"sort":135,"item":300},14,{"id":135,"engines":57,"show":271,"kind":301,"all_link":247,"translations":302},"personal",[303,306,308],{"id":284,"block_projects_id":135,"languages_code":20,"label":304,"title":305},"lab","Progetti personali",{"id":299,"block_projects_id":135,"languages_code":26,"label":304,"title":307},"Personal projects",{"id":309,"block_projects_id":135,"languages_code":32,"label":304,"title":310},15,"Proiecte personale",{"id":309,"collection":215,"sort":139,"item":312},{"id":25,"engines":217,"variant":218,"translations":313},[314,316,318],{"id":105,"block_cta_id":25,"languages_code":20,"label":132,"title":221,"title_accent":222,"text":315},"Sia che tu stia cercando di creare un sito web aziendale, un e-commerce, un blog o qualsiasi altra soluzione web, sono qui per aiutarti. Contattami oggi stesso per scoprire come possiamo collaborare e creare un sito web straordinario insieme!",{"id":135,"block_cta_id":25,"languages_code":26,"label":132,"title":225,"title_accent":226,"text":317},"Whether you want to build a company website, an online shop, a blog or any other web solution, I'm here to help. Get in touch today to find out how we can work together and build an outstanding website!",{"id":139,"block_cta_id":25,"languages_code":32,"label":132,"title":229,"title_accent":230,"text":319},"Fie că vrei să creezi un site de prezentare, un magazin online, un blog sau orice altă soluție web, sunt aici să te ajut. Contactează-mă chiar azi ca să vedem cum putem colabora și crea împreună un site extraordinar!",{"id":105,"sort":105,"key":116,"in_menu":6,"children":39,"translations":321,"sections":330},[322,325,328],{"id":245,"pages_id":105,"languages_code":20,"slug":110,"title":323,"seo_title":132,"description":324},"Contatti","Sito, app, consulenza o solo un parere tecnico — scrivimi e vediamo insieme come darti una mano.",{"id":259,"pages_id":105,"languages_code":26,"slug":116,"title":326,"seo_title":132,"description":327},"Contact","A website, an app, consulting or just a technical opinion — write to me and let's figure out together how I can help.",{"id":269,"pages_id":105,"languages_code":32,"slug":116,"title":326,"seo_title":132,"description":329},"Site, aplicație, consultanță sau doar o părere tehnică — scrie-mi și vedem împreună cum te pot ajuta.",[331,341,350,358],{"id":332,"collection":145,"sort":4,"item":333},16,{"id":31,"engines":57,"variant":116,"cv_button":247,"translations":334},[335,337,339],{"id":185,"block_page_header_id":31,"languages_code":20,"label":132,"title":323,"intro":336},"Raccontami cosa hai in mente, anche se è solo un'idea abbozzata. Nessun impegno.",{"id":202,"block_page_header_id":31,"languages_code":26,"label":132,"title":326,"intro":338},"Tell me what you have in mind, even if it's just a rough idea. No commitment.",{"id":214,"block_page_header_id":31,"languages_code":32,"label":132,"title":326,"intro":340},"Povestește-mi ce ai în minte, chiar dacă e doar o idee schițată. Fără niciun angajament.",{"id":342,"collection":343,"sort":25,"item":344},17,"block_contact_info",{"id":4,"engines":345,"cv_button":6,"translations":346},"legacy",[347,348,349],{"id":4,"block_contact_info_id":4,"languages_code":20,"label":132,"title":132},{"id":25,"block_contact_info_id":4,"languages_code":26,"label":132,"title":132},{"id":31,"block_contact_info_id":4,"languages_code":32,"label":132,"title":132},{"id":351,"collection":106,"sort":31,"item":352},18,{"id":25,"engines":57,"translations":353},[354,355,357],{"id":105,"block_contact_form_id":25,"languages_code":20,"label":222,"title":111,"text":132,"steps_title":113,"steps":114},{"id":135,"block_contact_form_id":25,"languages_code":26,"label":356,"title":117,"text":132,"steps_title":119,"steps":120},"write to me",{"id":139,"block_contact_form_id":25,"languages_code":32,"label":230,"title":122,"text":132,"steps_title":124,"steps":125},{"id":359,"collection":343,"sort":105,"item":360},19,{"id":25,"engines":217,"cv_button":6,"translations":361},[362,365,368],{"id":105,"block_contact_info_id":25,"languages_code":20,"label":363,"title":364},"recapiti","Dove trovarmi",{"id":135,"block_contact_info_id":25,"languages_code":26,"label":366,"title":367},"details","Where to find me",{"id":139,"block_contact_info_id":25,"languages_code":32,"label":369,"title":370},"date de contact","Unde mă găsești",{"id":135,"sort":135,"key":372,"in_menu":247,"children":39,"translations":373,"sections":383},"privacy",[374,377,379],{"id":284,"pages_id":135,"languages_code":20,"slug":372,"title":375,"seo_title":132,"description":376},"Privacy","Come tratto i dati che mi lasci quando mi scrivi dal modulo di contatto di questo sito.",{"id":299,"pages_id":135,"languages_code":26,"slug":372,"title":375,"seo_title":132,"description":378},"How I handle the data you leave me when you write to me through this site's contact form.",{"id":309,"pages_id":135,"languages_code":32,"slug":380,"title":381,"seo_title":132,"description":382},"confidentialitate","Confidențialitate","Cum folosesc datele pe care mi le lași când îmi scrii prin formularul de contact al acestui site.",[384,395,408,421,434,447,460,473,486,499],{"id":385,"collection":145,"sort":4,"item":386},20,{"id":105,"engines":57,"variant":387,"cv_button":247,"translations":388},"plain",[389,391,393],{"id":245,"block_page_header_id":105,"languages_code":20,"label":132,"title":390,"intro":376},"Informativa privacy",{"id":259,"block_page_header_id":105,"languages_code":26,"label":132,"title":392,"intro":378},"Privacy policy",{"id":269,"block_page_header_id":105,"languages_code":32,"label":132,"title":394,"intro":382},"Politica de confidențialitate",{"id":396,"collection":161,"sort":25,"item":397},21,{"id":25,"engines":57,"widgets":132,"translations":398},[399,402,405],{"id":105,"block_text_id":25,"languages_code":20,"label":132,"title":400,"text":401,"steps":132},"Titolare del trattamento","Il titolare è **Leica Florian Robert**, ditta individuale con sede a Schio (VI), P. IVA 04329800249. Per qualsiasi domanda sui tuoi dati scrivimi a info@leicaflorianrobert.dev.",{"id":135,"block_text_id":25,"languages_code":26,"label":132,"title":403,"text":404,"steps":132},"Data controller","The controller is **Leica Florian Robert**, a sole proprietorship based in Schio (VI), Italy, VAT no. 04329800249. For any question about your data, write to me at info@leicaflorianrobert.dev.",{"id":139,"block_text_id":25,"languages_code":32,"label":132,"title":406,"text":407,"steps":132},"Operatorul de date","Operatorul este **Leica Florian Robert**, întreprindere individuală cu sediul în Schio (VI), Italia, cod TVA 04329800249. Pentru orice întrebare despre datele tale, scrie-mi la info@leicaflorianrobert.dev.",{"id":409,"collection":161,"sort":31,"item":410},22,{"id":31,"engines":57,"widgets":132,"translations":411},[412,415,418],{"id":185,"block_text_id":31,"languages_code":20,"label":132,"title":413,"text":414,"steps":132},"Quali dati raccolgo","Dal modulo di contatto: nome, indirizzo email e messaggio e, se li scegli, tipo di progetto, budget e tempistiche, oltre alla lingua della pagina da cui scrivi. Nome, email e messaggio servono per risponderti: senza, non posso farlo; il resto è facoltativo.\n\nCome ogni sito, il server registra inoltre nei log tecnici l'indirizzo IP e i dati delle richieste, solo per farlo funzionare e tenerlo sicuro.\n\nNon ti chiedo dati particolari (sulla salute, giudiziari e simili): ti chiedo di non inserirli nel messaggio.",{"id":202,"block_text_id":31,"languages_code":26,"label":132,"title":416,"text":417,"steps":132},"What data I collect","From the contact form: name, email address and message and, if you pick them, project type, budget and timing, plus the language of the page you write from. I need your name, email and message to reply to you: without them I can't; the rest is optional.\n\nLike any website, the server also records the IP address and the details of each request in its technical logs, only to keep the site running and secure.\n\nI don't ask for special categories of data (health, criminal records and the like): please don't put them in the message.",{"id":214,"block_text_id":31,"languages_code":32,"label":132,"title":419,"text":420,"steps":132},"Ce date colectez","Din formularul de contact: numele, adresa de email și mesajul și, dacă le alegi, tipul de proiect, bugetul și termenele, plus limba paginii din care scrii. Numele, emailul și mesajul îmi trebuie ca să-ți răspund: fără ele nu pot; restul este opțional.\n\nCa orice site, serverul înregistrează în plus în jurnalele tehnice adresa IP și datele cererilor, doar ca să funcționeze și să rămână sigur.\n\nNu îți cer date speciale (despre sănătate, cazier și altele asemenea): te rog să nu le scrii în mesaj.",{"id":422,"collection":161,"sort":105,"item":423},23,{"id":105,"engines":57,"widgets":132,"translations":424},[425,428,431],{"id":245,"block_text_id":105,"languages_code":20,"label":132,"title":426,"text":427,"steps":132},"Perché li uso","Solo per risponderti e, se ne nasce una collaborazione, per prepararti una proposta. La base giuridica è l'esecuzione di misure precontrattuali richieste da te (art. 6, par. 1, lett. b del GDPR); per i log tecnici è il mio legittimo interesse a tenere il sito sicuro (art. 6, par. 1, lett. f).\n\nNon uso i dati per newsletter o marketing, e non li vendo né li comunico a terzi, salvo i fornitori tecnici indicati più sotto.",{"id":259,"block_text_id":105,"languages_code":26,"label":132,"title":429,"text":430,"steps":132},"Why I use it","Only to reply to you and, if we end up working together, to prepare a proposal. The legal basis is taking steps at your request before entering into a contract (Art. 6(1)(b) GDPR); for the technical logs, it's my legitimate interest in keeping the site secure (Art. 6(1)(f)).\n\nI don't use the data for newsletters or marketing, and I don't sell it or pass it on to third parties, apart from the technical providers listed below.",{"id":269,"block_text_id":105,"languages_code":32,"label":132,"title":432,"text":433,"steps":132},"De ce le folosesc","Doar ca să-ți răspund și, dacă ajungem să colaborăm, ca să-ți pregătesc o propunere. Temeiul legal este efectuarea unor demersuri la cererea ta înainte de încheierea unui contract (art. 6 alin. (1) lit. b din GDPR); pentru jurnalele tehnice este interesul meu legitim de a ține site-ul în siguranță (art. 6 alin. (1) lit. f).\n\nNu folosesc datele pentru newslettere sau marketing, nu le vând și nu le transmit terților, în afară de furnizorii tehnici de mai jos.",{"id":435,"collection":161,"sort":135,"item":436},24,{"id":135,"engines":57,"widgets":132,"translations":437},[438,441,444],{"id":284,"block_text_id":135,"languages_code":20,"label":132,"title":439,"text":440,"steps":132},"Dove sono e per quanto tempo","Il messaggio viene salvato nel sistema che gestisce i contenuti del sito e mi arriva per email. Lo conservo per il tempo necessario a gestire la richiesta, e comunque non oltre 24 mesi dall'ultimo contatto; se nasce un rapporto di lavoro, valgono i tempi di conservazione previsti dalla legge per i documenti fiscali. I log tecnici vengono cancellati dopo poco tempo.",{"id":299,"block_text_id":135,"languages_code":26,"label":132,"title":442,"text":443,"steps":132},"Where it is and for how long","The message is saved in the system that manages the site's content and reaches me by email. I keep it as long as needed to handle the request, and in any case no longer than 24 months after our last contact; if we end up working together, the retention periods required by law for tax records apply. The technical logs are deleted after a short time.",{"id":309,"block_text_id":135,"languages_code":32,"label":132,"title":445,"text":446,"steps":132},"Unde sunt și cât timp","Mesajul este salvat în sistemul care gestionează conținutul site-ului și îmi ajunge pe email. Îl păstrez cât timp e nevoie pentru a gestiona cererea și, oricum, nu mai mult de 24 de luni de la ultimul contact; dacă ajungem să colaborăm, se aplică termenele de păstrare prevăzute de lege pentru documentele fiscale. Jurnalele tehnice se șterg după scurt timp.",{"id":448,"collection":161,"sort":139,"item":449},25,{"id":139,"engines":57,"widgets":132,"translations":450},[451,454,457],{"id":332,"block_text_id":139,"languages_code":20,"label":132,"title":452,"text":453,"steps":132},"Chi li tratta per me","Il sito e il sistema che salva i messaggi sono ospitati da **DigitalOcean** su un server ad Amsterdam, nei Paesi Bassi. DigitalOcean è un'azienda statunitense: i dati restano nell'Unione europea, ma un eventuale accesso dagli Stati Uniti è coperto dalle clausole contrattuali standard e dal Data Privacy Framework.\n\nLa posta elettronica, con cui mi arrivano i messaggi, è gestita da **Hostinger**.\n\nEntrambi trattano i dati solo per conto mio, come responsabili del trattamento (art. 28 del GDPR).",{"id":342,"block_text_id":139,"languages_code":26,"label":132,"title":455,"text":456,"steps":132},"Who processes it for me","The site and the system that saves the messages are hosted by **DigitalOcean** on a server in Amsterdam, the Netherlands. DigitalOcean is a US company: the data stays in the European Union, but any access from the United States is covered by the standard contractual clauses and the Data Privacy Framework.\n\nThe email, through which the messages reach me, is handled by **Hostinger**.\n\nBoth process the data only on my behalf, as processors (Art. 28 GDPR).",{"id":351,"block_text_id":139,"languages_code":32,"label":132,"title":458,"text":459,"steps":132},"Cine le prelucrează pentru mine","Site-ul și sistemul care salvează mesajele sunt găzduite de **DigitalOcean** pe un server din Amsterdam, Țările de Jos. DigitalOcean este o companie americană: datele rămân în Uniunea Europeană, dar un eventual acces din Statele Unite este acoperit de clauzele contractuale standard și de Data Privacy Framework.\n\nEmailul, prin care îmi ajung mesajele, este gestionat de **Hostinger**.\n\nAmândoi prelucrează datele doar în numele meu, ca persoane împuternicite (art. 28 din GDPR).",{"id":461,"collection":161,"sort":185,"item":462},26,{"id":185,"engines":57,"widgets":132,"translations":463},[464,467,470],{"id":359,"block_text_id":185,"languages_code":20,"label":132,"title":465,"text":466,"steps":132},"Protezione dallo spam","Per proteggere il modulo dallo spam, nella pagina che lo contiene uso **Google reCAPTCHA v3**, che analizza alcune informazioni sul dispositivo e sull'uso della pagina e può impostare dei cookie. La base giuridica è il mio legittimo interesse a tenere il modulo libero dallo spam (art. 6, par. 1, lett. f del GDPR).\n\nQuesti dati sono trattati da Google secondo la propria informativa (policies.google.com\u002Fprivacy) e possono essere trasferiti negli Stati Uniti, sulla base del Data Privacy Framework.",{"id":385,"block_text_id":185,"languages_code":26,"label":132,"title":468,"text":469,"steps":132},"Spam protection","To protect the form from spam, on the page that contains it I use **Google reCAPTCHA v3**, which analyses some information about the device and how the page is used, and may set cookies. The legal basis is my legitimate interest in keeping the form free of spam (Art. 6(1)(f) GDPR).\n\nThis data is processed by Google under its own policy (policies.google.com\u002Fprivacy) and may be transferred to the United States, under the Data Privacy Framework.",{"id":396,"block_text_id":185,"languages_code":32,"label":132,"title":471,"text":472,"steps":132},"Protecția împotriva spamului","Ca să protejez formularul de spam, pe pagina care îl conține folosesc **Google reCAPTCHA v3**, care analizează unele informații despre dispozitiv și despre folosirea paginii și poate seta cookie-uri. Temeiul legal este interesul meu legitim de a feri formularul de spam (art. 6 alin. (1) lit. f din GDPR).\n\nAceste date sunt prelucrate de Google conform propriei politici (policies.google.com\u002Fprivacy) și pot fi transferate în Statele Unite, în baza Data Privacy Framework.",{"id":474,"collection":161,"sort":202,"item":475},27,{"id":202,"engines":57,"widgets":132,"translations":476},[477,480,483],{"id":409,"block_text_id":202,"languages_code":20,"label":132,"title":478,"text":479,"steps":132},"Cookie e preferenze","Il sito non usa cookie di profilazione né strumenti di statistica. Salva nel tuo browser solo la scelta tra la versione legacy e quella nativa, per ricordarla alla prossima visita.",{"id":422,"block_text_id":202,"languages_code":26,"label":132,"title":481,"text":482,"steps":132},"Cookies and preferences","The site uses no profiling cookies and no analytics. It only saves in your browser your choice between the legacy and the native version, to remember it on your next visit.",{"id":435,"block_text_id":202,"languages_code":32,"label":132,"title":484,"text":485,"steps":132},"Cookie-uri și preferințe","Site-ul nu folosește cookie-uri de profilare și nici instrumente de statistică. Salvează în browserul tău doar alegerea dintre versiunea legacy și cea nativă, ca s-o țină minte la următoarea vizită.",{"id":487,"collection":161,"sort":214,"item":488},28,{"id":214,"engines":57,"widgets":132,"translations":489},[490,493,496],{"id":448,"block_text_id":214,"languages_code":20,"label":132,"title":491,"text":492,"steps":132},"I tuoi diritti","Puoi chiedermi in ogni momento di accedere ai tuoi dati, correggerli, cancellarli, limitarne il trattamento, opporti al trattamento o riceverli in un formato leggibile (artt. 15–22 del GDPR), scrivendo all'email qui sopra.\n\nSe ritieni che il trattamento non sia corretto, puoi presentare reclamo al Garante per la protezione dei dati personali (garanteprivacy.it).",{"id":461,"block_text_id":214,"languages_code":26,"label":132,"title":494,"text":495,"steps":132},"Your rights","You can ask me at any time to access, correct or delete your data, restrict or object to its processing, or receive it in a readable format (Art. 15–22 GDPR), by writing to the email above.\n\nIf you believe the processing isn't lawful, you can lodge a complaint with the Italian data protection authority, the Garante per la protezione dei dati personali (garanteprivacy.it).",{"id":474,"block_text_id":214,"languages_code":32,"label":132,"title":497,"text":498,"steps":132},"Drepturile tale","Îmi poți cere oricând să ai acces la datele tale, să le corectez sau să le șterg, să le restricționez prelucrarea, să te opui prelucrării sau să le primești într-un format ușor de citit (art. 15–22 din GDPR), scriindu-mi la adresa de email de mai sus.\n\nDacă crezi că prelucrarea nu este corectă, poți depune o plângere la autoritatea italiană pentru protecția datelor, Garante per la protezione dei dati personali (garanteprivacy.it).",{"id":500,"collection":161,"sort":245,"item":501},29,{"id":245,"engines":57,"widgets":132,"translations":502},[503,506,509],{"id":487,"block_text_id":245,"languages_code":20,"label":132,"title":504,"text":505,"steps":132},"Modifiche","Se cambia il modo in cui tratto i dati, aggiorno questa pagina. Ultimo aggiornamento: 18 ottobre 2026.",{"id":500,"block_text_id":245,"languages_code":26,"label":132,"title":507,"text":508,"steps":132},"Changes","If the way I handle data changes, I update this page. Last updated: 18 October 2026.",{"id":510,"block_text_id":245,"languages_code":32,"label":132,"title":511,"text":512,"steps":132},30,"Modificări","Dacă se schimbă felul în care prelucrez datele, actualizez această pagină. Ultima actualizare: 18 octombrie 2026.",[514],{"id":4,"sort":4,"status":515,"slug":516,"url":517,"kind":301,"category":132,"featured":247,"mockup":39,"on_home":247,"case_study":6,"branch":518,"image":519,"typographic":247,"logo":520,"logo_plate":247,"visual":132,"year":521,"cover":132,"translations":522,"sections":540},"published","v3","https:\u002F\u002Fleicaflorianrobert.dev","main","03f41669-51fd-48ee-995e-436337727bcc","21ed546e-2c05-412c-826d-1f538f42c8c6",2026,[523,530,535],{"id":4,"projects_id":4,"languages_code":20,"name":524,"note":525,"subtitle":132,"intro":526,"role":527,"type":528,"stack":529,"award":132},"My website V3","Versione attuale del sito","Il restyling del mio portfolio: un sito che non si limita a mostrare i progetti, ma racconta in prima persona il passaggio dal vecchio web al rendering moderno.","Design e sviluppo","Portfolio personale","Nuxt, Tailwind, Directus",{"id":25,"projects_id":4,"languages_code":26,"name":524,"note":531,"subtitle":132,"intro":532,"role":533,"type":534,"stack":529,"award":132},"Current version of this site","The redesign of my portfolio: a site that doesn't just show projects, but tells first-hand the move from the old web to modern rendering.","Design and development","Personal portfolio",{"id":31,"projects_id":4,"languages_code":32,"name":524,"note":536,"subtitle":132,"intro":537,"role":538,"type":539,"stack":529,"award":132},"Versiunea actuală a site-ului","Redesignul portofoliului meu: un site care nu se limitează să prezinte proiectele, ci povestește la persoana întâi trecerea de la web-ul vechi la randarea modernă.","Design și dezvoltare","Portofoliu personal",[541,561,585,609,628,654,674,694,717],{"id":542,"collection":161,"sort":4,"item":543},75,{"id":544,"engines":57,"widgets":132,"translations":545},32,[546,551,556],{"id":547,"block_text_id":544,"languages_code":20,"label":548,"title":549,"text":550,"steps":132},94,"punto di partenza","Chiaro, ma silenzioso","La V2 era ordinata e funzionale: palette chiara e calda, testi discorsivi, nessuna anteprima dei lavori in home. Presentava bene i servizi, ma non mostrava cosa so fare.\n\nGli obiettivi della V3: una grafica più moderna e contrastata, più immagini, e un'identità che parli da sviluppatore.",{"id":552,"block_text_id":544,"languages_code":26,"label":553,"title":554,"text":555,"steps":132},95,"starting point","Clear, but quiet","V2 was tidy and functional: a light, warm palette, wordy copy, no previews of my work on the home page. It presented the services well, but didn't show what I can do.\n\nThe goals for V3: a more modern, higher-contrast look, more images, and an identity that speaks like a developer.",{"id":557,"block_text_id":544,"languages_code":32,"label":558,"title":559,"text":560,"steps":132},96,"punct de plecare","Clar, dar tăcut","V2 era ordonată și funcțională: o paletă deschisă și caldă, texte lungi, nicio previzualizare a lucrărilor pe prima pagină. Prezenta bine serviciile, dar nu arăta ce știu să fac.\n\nObiectivele V3: o grafică mai modernă și mai contrastantă, mai multe imagini și o identitate care să vorbească precum un dezvoltator.",{"id":562,"collection":563,"sort":25,"item":564},76,"block_gallery",{"id":214,"engines":57,"translations":565,"images":580},[566,572,576],{"id":448,"block_gallery_id":214,"languages_code":20,"label":567,"title":568,"text":569,"captions":570,"items":132,"localized_images":571},"concept","Il Motore Duale","Il sito si apre in modalità **Legacy**: Times New Roman, link blu sottolineati, foto in bianco e nero in una cornice grigia. Un ipertesto anni '90.\n\nUn pulsante, **Attiva Rendering Nativo**, avvia una breve sequenza di boot con glitch e porta alla versione **Native**: scura, monospace, con accenti arancio. La scelta resta memorizzata tra le pagine.","legacy\n**native**",[],{"id":461,"block_gallery_id":214,"languages_code":26,"label":567,"title":573,"text":574,"captions":570,"items":132,"localized_images":575},"The Dual Engine","The site opens in **Legacy** mode: Times New Roman, underlined blue links, a black-and-white photo in a grey frame. A 90s hypertext.\n\nA button, **Enable Native Rendering**, starts a short boot sequence with a glitch and leads to the **Native** version: dark, monospaced, with orange accents. The choice is remembered across pages.",[],{"id":474,"block_gallery_id":214,"languages_code":32,"label":567,"title":577,"text":578,"captions":570,"items":132,"localized_images":579},"Motorul Dual","Site-ul se deschide în modul **Legacy**: Times New Roman, linkuri albastre subliniate, o fotografie alb-negru într-o ramă gri. Un hipertext din anii '90.\n\nUn buton, **Activează randarea nativă**, pornește o scurtă secvență de boot cu un glitch și duce la versiunea **Native**: întunecată, monospațiată, cu accente portocalii. Alegerea este memorată între pagini.",[],[581,583],{"directus_files_id":582,"sort":4},"7070e1f3-0458-4ab4-a871-e367291ba7d2",{"directus_files_id":584,"sort":25},"0fa34cb1-547f-46eb-ab55-31c7b243903b",{"id":586,"collection":587,"sort":31,"item":588},77,"block_palette",{"id":25,"engines":57,"colors":589,"logo":132,"site_logo":6,"translations":590},"#111113\n#18181B\n#EDEBE6\n#FF5B14",[591,597,603],{"id":105,"block_palette_id":25,"languages_code":20,"label":592,"title":593,"text":594,"color_names":595,"logo_text":596},"sistema visivo","Pochi elementi, molto contrasto","Un nero morbido invece del nero assoluto, un solo colore d'accento e un unico carattere: JetBrains Mono, dal titolo al form.","sfondo\nsuperficie\ntesto\naccento","Il nuovo logo: le iniziali in minuscolo con il cursore, come un comando da terminale. Sostituisce il monogramma FR con le due L rovesciate.",{"id":135,"block_palette_id":25,"languages_code":26,"label":598,"title":599,"text":600,"color_names":601,"logo_text":602},"visual system","Few elements, lots of contrast","A soft black instead of pure black, a single accent colour and a single typeface: JetBrains Mono, from the headline to the form.","background\nsurface\ntext\naccent","The new logo: lowercase initials with a cursor, like a terminal command. It replaces the FR monogram with the two flipped Ls.",{"id":139,"block_palette_id":25,"languages_code":32,"label":604,"title":605,"text":606,"color_names":607,"logo_text":608},"sistem vizual","Puține elemente, mult contrast","Un negru moale în loc de negru absolut, o singură culoare de accent și un singur font: JetBrains Mono, de la titlu la formular.","fundal\nsuprafață\ntext\naccent","Noul logo: inițialele cu litere mici și cursorul, ca o comandă de terminal. Înlocuiește monograma FR cu cei doi L răsturnați.",{"id":610,"collection":611,"sort":105,"item":612},78,"block_list",{"id":510,"engines":57,"translations":613},[614,619,623],{"id":615,"block_list_id":510,"languages_code":20,"label":616,"title":617,"items":618},88,"dettagli","Movimento e respiro","Hover con curva a molla su card e pulsanti, invece di transizioni lineari.\nParallasse leggera su foto, alone e snippet di codice nella hero.\nSpaziature verticali ampie tra le sezioni, colonna di 1120px.\nProgetti mostrati in mockup laptop e smartphone, servizi con immagine.\nSu mobile i servizi diventano uno slider orizzontale.",{"id":620,"block_list_id":510,"languages_code":26,"label":366,"title":621,"items":622},89,"Motion and room to breathe","Spring-curve hover on cards and buttons instead of linear transitions.\nSubtle parallax on the photo, glow and code snippet in the hero.\nGenerous vertical spacing between sections, a 1120px column.\nProjects shown in laptop and smartphone mockups, services with images.\nOn mobile, the services become a horizontal slider.",{"id":624,"block_list_id":510,"languages_code":32,"label":625,"title":626,"items":627},90,"detalii","Mișcare și spațiu","Hover cu curbă „arc\" pe carduri și butoane, în loc de tranziții liniare.\nParalaxă ușoară pe fotografie, halou și fragmentul de cod din hero.\nSpații verticale generoase între secțiuni, o coloană de 1120px.\nProiecte prezentate în machete de laptop și smartphone, servicii cu imagine.\nPe mobil, serviciile devin un slider orizontal.",{"id":629,"collection":563,"sort":135,"item":630},79,{"id":245,"engines":217,"translations":631,"images":653},[632,639,646],{"id":487,"block_gallery_id":245,"languages_code":20,"label":132,"title":132,"text":132,"captions":633,"items":132,"localized_images":634},"Chi sono\nVersione mobile",[635,637],{"directus_files_id":636,"sort":4},"e51c5b8a-152d-4786-a361-8237a9007a6c",{"directus_files_id":638,"sort":25},"5e02afef-852a-4ef1-af1c-a7222c040158",{"id":500,"block_gallery_id":245,"languages_code":26,"label":132,"title":132,"text":132,"captions":640,"items":132,"localized_images":641},"About me\nMobile version",[642,644],{"directus_files_id":643,"sort":4},"a3d8bcd7-0587-4c51-b4cb-d0bf35a997bf",{"directus_files_id":645,"sort":25},"41bfa8e3-ac9a-445e-876a-982589685c93",{"id":510,"block_gallery_id":245,"languages_code":32,"label":132,"title":132,"text":132,"captions":647,"items":132,"localized_images":648},"Despre mine\nVersiunea mobilă",[649,651],{"directus_files_id":650,"sort":4},"923baa15-9972-4b5e-8c2d-c6eab1eb33a9",{"directus_files_id":652,"sort":25},"7655ae76-164b-40dc-99d1-98ab3f9dc51d",[],{"id":655,"collection":611,"sort":139,"item":656},80,{"id":657,"engines":57,"translations":658},31,[659,664,669],{"id":660,"block_list_id":657,"languages_code":20,"label":661,"title":662,"items":663},91,"come funziona","Sotto il cofano","**Un sito statico.** Nuxt genera ogni pagina come HTML già pronto, nelle tre lingue: non c'è un server da tenere acceso, e le pagine arrivano subito.\n**Contenuti a blocchi in Directus.** Ogni pagina è una sequenza di blocchi (testi, gallerie, timeline, progetti) che compongo dal pannello. Quando un contenuto cambia, Directus ricostruisce e pubblica il sito da solo.\n**Ogni blocco esiste due volte.** Una versione Legacy e una Native leggono gli stessi dati: cambiare modalità non ricarica la pagina, cambia solo il modo di disegnarla.\n**Si parte sempre da Legacy.** Il server prepara la versione anni '90, semplice e leggibile ovunque; la Native si accende nel browser e la scelta resta salvata per le visite successive.\n**Animazioni con misura.** Widget, timer e ritratto ASCII si fermano quando escono dallo schermo, per non consumare risorse inutilmente, e lo scorrimento morbido è attivo solo in Native.\n**Il curriculum si genera da sé.** A ogni pubblicazione un browser headless stampa il CV in PDF nelle tre lingue; se non sta in una pagina, la pubblicazione si ferma invece di mettere online un CV tagliato.",{"id":665,"block_list_id":657,"languages_code":26,"label":666,"title":667,"items":668},92,"how it works","Under the hood","**A static site.** Nuxt generates every page as ready-made HTML, in all three languages: there's no server to keep running, and pages arrive instantly.\n**Block-based content in Directus.** Every page is a sequence of blocks (texts, galleries, timelines, projects) that I put together from the panel. When content changes, Directus rebuilds and publishes the site by itself.\n**Every block exists twice.** A Legacy and a Native version read the same data: switching mode doesn't reload the page, it only changes how it's drawn.\n**It always starts in Legacy.** The server prepares the '90s version, simple and readable anywhere; Native switches on in the browser, and the choice is remembered for the next visits.\n**Animation in moderation.** Widgets, timers and the ASCII portrait stop when they leave the screen, so as not to waste resources, and smooth scrolling is on only in Native.\n**The CV generates itself.** On every publish a headless browser prints the CV to PDF in all three languages; if it doesn't fit on one page, publishing stops instead of putting a cut-off CV online.",{"id":670,"block_list_id":657,"languages_code":32,"label":671,"title":672,"items":673},93,"cum funcționează","Sub capotă","**Un site static.** Nuxt generează fiecare pagină ca HTML gata făcut, în cele trei limbi: nu există un server de ținut pornit, iar paginile ajung imediat.\n**Conținut pe blocuri în Directus.** Fiecare pagină este o succesiune de blocuri (texte, galerii, cronologii, proiecte) pe care le compun din panou. Când un conținut se schimbă, Directus reconstruiește și publică singur site-ul.\n**Fiecare bloc există de două ori.** O versiune Legacy și una Native citesc aceleași date: schimbarea modului nu reîncarcă pagina, schimbă doar felul în care e desenată.\n**Se pornește mereu din Legacy.** Serverul pregătește versiunea anilor '90, simplă și lizibilă oriunde; Native se aprinde în browser, iar alegerea rămâne salvată pentru vizitele următoare.\n**Animații cu măsură.** Widgeturile, cronometrele și portretul ASCII se opresc când ies de pe ecran, ca să nu consume resurse degeaba, iar derularea lină este activă doar în Native.\n**CV-ul se generează singur.** La fiecare publicare un browser headless tipărește CV-ul în PDF în cele trei limbi; dacă nu încape pe o pagină, publicarea se oprește în loc să pună online un CV tăiat.",{"id":675,"collection":161,"sort":185,"item":676},81,{"id":677,"engines":57,"widgets":132,"translations":678},33,[679,684,689],{"id":680,"block_text_id":677,"languages_code":20,"label":681,"title":682,"text":683,"steps":132},97,"come è stato costruito","Diretto da me, scritto con l'AI","Il design ha preso forma in **Claude Design**; il codice e i testi, in tre lingue, sono stati scritti da **Claude Code** sotto la mia direzione, con il metodo **Superpowers**: ogni modifica nasce da un piano, passa dalla mia approvazione, viene verificata nel browser in entrambe le modalità e si chiude con un commit piccolo e leggibile.\n\nDirigere un'AI è un mestiere a sé: bisogna sapere cosa chiedere, riconoscere una soluzione fragile e dire di no al momento giusto. Gli obiettivi, l'architettura e i contenuti sono miei, e mia è l'ultima parola su ogni passaggio. Molte idee vengono da me, come la timeline delle esperienze ripresa dal vecchio sito, che resta ferma mentre scorri e accende l'anno che stai leggendo; altrettante le correzioni, dal ritmo degli spazi tra le sezioni ai dati allineati al curriculum.\n\nNon è un sito generato con un clic, ma la somma di molte scelte, ciascuna ponderata e decisa da me.",{"id":685,"block_text_id":677,"languages_code":26,"label":686,"title":687,"text":688,"steps":132},98,"how it was built","Directed by me, written with AI","The design took shape in **Claude Design**; the code and the copy, in three languages, were written by **Claude Code** under my direction, with the **Superpowers** method: every change starts from a plan, goes through my approval, is checked in the browser in both modes and ends with a small, readable commit.\n\nDirecting an AI is a craft of its own: you need to know what to ask for, recognise a fragile solution and say no at the right moment. The goals, the architecture and the content are mine, and so is the last word on every step. Many ideas come from me, like the experience timeline taken from the old site, which stays put as you scroll and lights up the year you're reading; just as many corrections, from the rhythm of the spacing between sections to the data aligned with my CV.\n\nIt isn't a site generated with one click, but the sum of many choices, each one weighed and decided by me.",{"id":690,"block_text_id":677,"languages_code":32,"label":691,"title":692,"text":693,"steps":132},99,"cum a fost construit","Condus de mine, scris cu AI","Designul a prins formă în **Claude Design**; codul și textele, în trei limbi, au fost scrise de **Claude Code** sub conducerea mea, cu metoda **Superpowers**: fiecare modificare pornește de la un plan, trece prin aprobarea mea, este verificată în browser în ambele moduri și se încheie cu un commit mic și ușor de citit.\n\nA conduce un AI este o meserie în sine: trebuie să știi ce să ceri, să recunoști o soluție fragilă și să spui nu la momentul potrivit. Obiectivele, arhitectura și conținutul sunt ale mele, la fel și ultimul cuvânt la fiecare pas. Multe idei vin de la mine, precum cronologia experiențelor preluată din vechiul site, care rămâne fixă cât derulezi și aprinde anul pe care îl citești; tot atâtea corecturi, de la ritmul spațiilor dintre secțiuni la datele aliniate cu CV-ul.\n\nNu este un site generat dintr-un clic, ci suma multor alegeri, fiecare cântărită și decisă de mine.",{"id":695,"collection":563,"sort":202,"item":696},82,{"id":259,"engines":57,"translations":697,"images":716},[698,704,710],{"id":657,"block_gallery_id":259,"languages_code":20,"label":699,"title":700,"text":701,"captions":132,"items":702,"localized_images":703},"risultato","Più spazio a chi sono","Rispetto alla V2 il sito dice molto di più, e lo dice da sviluppatore.","**Più contenuto**: servizi, progetti, esperienze e la mia storia, in tre lingue.\n**I progetti in primo piano**: quelli con un case study dedicato hanno una pagina che racconta il lavoro per esteso, e si raggiungono dalla home.\n**Chi sono e la mia storia** hanno più risalto, con una pagina che racconta da dove vengo.\n**Una grafica che parla di me**: la modalità Legacy richiama il web da cui sono partito, la Native quello in cui lavoro oggi. Anche l'esperienza più datata entra nel racconto.\n**Più spazio alle esperienze lavorative**: la timeline le ripercorre anno per anno.",[],{"id":544,"block_gallery_id":259,"languages_code":26,"label":705,"title":706,"text":707,"captions":132,"items":708,"localized_images":709},"result","More room for who I am","Compared with V2 the site says much more, and says it as a developer.","**More content**: services, projects, experience and my story, in three languages.\n**Projects up front**: those with a dedicated case study have a page that tells the work in full, reachable from the home page.\n**About me and my story** stand out more, with a page that tells where I come from.\n**A look that speaks about me**: Legacy mode recalls the web I started from, Native the one I work in today. Even my oldest experience becomes part of the story.\n**More room for work experience**: the timeline goes through it year by year.",[],{"id":677,"block_gallery_id":259,"languages_code":32,"label":711,"title":712,"text":713,"captions":132,"items":714,"localized_images":715},"rezultat","Mai mult loc pentru cine sunt","Față de V2 site-ul spune mult mai mult și o spune ca dezvoltator.","**Mai mult conținut**: servicii, proiecte, experiențe și povestea mea, în trei limbi.\n**Proiectele în prim-plan**: cele cu un studiu de caz dedicat au o pagină care povestește lucrarea pe larg și se ajunge la ele din pagina principală.\n**Despre mine și povestea mea** au mai multă vizibilitate, cu o pagină care spune de unde vin.\n**O grafică ce vorbește despre mine**: modul Legacy amintește de web-ul de la care am pornit, Native de cel în care lucrez azi. Chiar și experiența cea mai veche intră în poveste.\n**Mai mult loc pentru experiențele profesionale**: cronologia le parcurge an cu an.",[],[],{"id":718,"collection":215,"sort":214,"item":719},83,{"id":351,"engines":217,"variant":720,"translations":721},"split",[722,726,730],{"id":723,"block_cta_id":351,"languages_code":20,"label":724,"title":725,"title_accent":132,"text":132},52,"\u002F\u002F prossimo passo","Hai un progetto simile in mente?",{"id":727,"block_cta_id":351,"languages_code":26,"label":728,"title":729,"title_accent":132,"text":132},53,"\u002F\u002F next step","Got a similar project in mind?",{"id":731,"block_cta_id":351,"languages_code":32,"label":732,"title":733,"title_accent":132,"text":132},54,"\u002F\u002F pasul următor","Ai un proiect asemănător în minte?",1792388666092]