Senior Frontend Developer · Bucharest
Cătălin Zălog
I build React, Next.js and TypeScript frontends for products with heavy traffic and lots of data: 8 years on this stack, 24 on the web.
I’ve led migrations and a frontend team, built design systems, and I still write code and automated tests every day.
React · Next.js · TypeScript · Node.js · Remote · EU / US hours
A component is the easy part. The hard part is code that several teams can change without breaking each other’s work, a site that stays up under heavy traffic, and pages fast enough to help sales and SEO.
Selected results
~7k
Applications in the 2026 national school principals competition, on a platform that sat unused for four years. I took it over alone, upgraded Node.js 14 → 24 and PostgreSQL 13 → 18, fixed the pentest findings and passed the security audit of STS (Romania’s Special Telecommunications Service) before adding anything new.
Ministry of Education and Research
4 months
To move the online store to Vue 2. I led a 6-person frontend team and we made it in time for Black Friday: ~60k concurrent users at the peak, no downtime in any of the 9 countries, and mobile PageSpeed up from 15 to 90.
Vivre
44
Commits merged into Bootstrap between 2014 and 2023, mostly in the Sass source of Bootstrap 4 and 5: variables, forms, grid and navbar.
Bootstrap
~20k
Weekly npm downloads of placeholder-loading, a skeleton loader I wrote in pure CSS. It also has ~1.5k stars on GitHub.
placeholder-loading
What I work on
React · Next.js · TypeScript · Node.js
Component systems, SSR and ISR, performance budgets.
Design systems
Shared UI libraries used across several products and teams.
Complex B2B interfaces
Dashboards, large tables, advanced filtering, real-time state.
Tooling and CI/CD
Build pipelines, code quality, code reviews that actually help.
On the side I work on real-time object detection for edge devices, with Python, OpenCV and YOLO. So when I build the interface of an AI product, I also know what runs behind it.
Experience
2002 → present
2026 – present
Ministry of Education and Research · Full Stack Engineer · contract
Sole developer of concursdirectori.edu.ro, the national school principals competition platform, from the code to the infrastructure in the government cloud: Docker, Caddy, mail, monitoring, backups. ~150 integration tests over HTTP pinned the platform’s behavior before the Node.js and PostgreSQL upgrades; a load test on staging measured upload and browse traffic.
2026 – present
Defendermate · Full Stack Engineer · contract
Pentest fixes across repos (per-request CSP nonces, SSRF hardening, reworked session invalidation), attack-path graphs, integration APIs, an AWS setup wizard, stricter types to get ready for the React Compiler, and a new app shell with a command palette.
2023 – 2026
Neogen · Senior Frontend Engineer
Vivre’s migration plan to Next.js: Vue 3 first, with the logic moved into composables so it could later be ported without a rewrite; a ride-sharing website from scratch, BestJobs on the App Router, design system components and technical SEO.
2018 – 2023
Vivre Deco · Senior Frontend Engineer
Led the storefront migration and the performance work after it, coordinated the external React Native team and mentored junior developers.
2002 – 2023
Earlier experience
Senior frontend developer at 1616.ro and Mediafax Group, volunteer at GovIT Hub and CivicTech Romania, and freelance and agency work since 2002.
Show moreShow less
2023
Life Is Hard - Work Soft · Senior Frontend Engineer · part-time
Frontend architecture and mentoring with Vue, Nuxt and Tailwind CSS.
2018
CivicTech Romania · Frontend Engineer · volunteer
2016 – 2017
GovIT Hub · Senior Frontend Developer · volunteer
Web and mobile apps published on the organization’s GitHub, among them ROdiaspora, an Angular mobile app.
2015 – 2016
Republica.ro · Senior Frontend Developer · freelance
Frontend and technical project management, Vagrant workflow, Git branching strategy.
2015 – 2018
1616.ro · Senior Frontend Developer
Frontend for the agency’s projects, among them digi24.ro; email and banner templates, project management, development workflow and mentoring.
2008 – 2015
Mediafax Group · Senior Frontend Developer
Frontend for news and media sites, support for backend teams, UX feedback for designers and product managers, mentoring and hiring.
2010
Orbital Voice · Frontend Developer · freelance
2008 – 2009
XHTML4U.com · Frontend Developer · freelance
2007 – 2009
rePublik agency · Frontend Developer · freelance
bmw.ro, vibefm.ro, revistavip.net and others.
2005 – 2008
Blue Soft · Frontend Developer
worldclass.ro and many hospital websites.
2003 – 2005
Webworks · Frontend Developer · contract
2002
Anomic · Frontend Developer · intern
Projects
2026
culte.gov.ro (opens in new tab)
State Secretariat for Religious Affairs
New website for the Romanian State Secretariat for Religious Affairs: a custom WordPress theme on Tailwind CSS 4 and Vite, pages for each recognized denomination, an interactive map with data imported from CSV, and an interface in Romanian and English.
WordPress · PHP · Tailwind CSS 4 · Vite · DDEV
2026
concursdirectori.edu.ro (opens in new tab)
Ministry of Education and Research
Application platform for the national school principals competition: candidate accounts and application files, with ~90k uploaded documents scanned by ClamAV. Candidates apply for a specific post in a school and get confirmations and emails with the exam calendar; commissions review the files and pull reports. The national school network is imported from the Ministry’s spreadsheets.
Node.js · PostgreSQL · Docker · Caddy · ClamAV · Pug · Bootstrap
2026
basilica.ro (opens in new tab)
Romanian Patriarchate news agency
News site on Next.js reading from a headless WordPress, with incremental static regeneration, cache purging from the editor, Cloudflare in front, and editions in Romanian and English.
Next.js · ISR · WordPress · Cloudflare
2026
cabral.ro (opens in new tab)
Personal blog of Cabral Ibacka
A blog I first built in 2014, now rebuilt in Nuxt on top of a headless WordPress.
Nuxt · Vue · WordPress · Node.js
2008 – 2018
Earlier projects
Projects I built or worked on, mostly for Romanian publishers, TV stations and brands, among them bmw.ro, descopera.ro, prosport.ro, republica.ro, digi24.ro, kanald.ro, trinitas.tv. Some are offline or have been redesigned since.
Show moreShow less
2018
iaa.ro (opens in new tab)
Romanian chapter of the IAA advertising association
wordpress · php · html · css · sass · bootstrap · jQuery · javascript · webpack · gulp · nodejs · git
2017
kanald.ro (opens in new tab)
Kanal D, a TV channel
html · css · sass · bootstrap · javascript · nodejs · gulp · vagrant · git
2017
gaseste.ro (opens in new tab)
Marketplace for local service providers
php · html · css · sass · bootstrap · jQuery · javascript · nodejs · gulp · vagrant · git · PM
2017
vreaudeviz.ro
Online quotes for home renovation · offline
html · css · sass · bootstrap · vue.js · javascript · nodejs · gulp
2017
trinitas.tv (opens in new tab)
Trinitas TV, the Patriarchate’s TV channel
wordpress · php · mysql · sass · bootstrap · jQuery · javascript · nodejs · webpack · gulp · vagrant · git · ci · cd
2017
ROdiaspora (opens in new tab)
Mobile app for Romanians abroad
angular · rxjs · ionic · typescript · javascript · cordova
2016
suntmamica.ro (opens in new tab)
Parenting site and community for mothers
html · php · css · sass · bootstrap · jQuery · javascript · nodejs · gulp · git
2016
gobet.ro
GOBet, a sports betting operator · offline
html · css · sass · bootstrap · jQuery · javascript · nodejs · gulp
2016
basilica.ro (opens in new tab)
News agency of the Romanian Patriarchate
wordpress · php · html · css · sass · bootstrap · jQuery · javascript · vagrant · nodejs · gulp · git
2016
digi24.ro (opens in new tab)
Mobile and desktop sites for the Digi24 news channel
html · css · sass · bootstrap · jQuery · javascript · nodejs · gulp · git
2015
ozinparis.com (opens in new tab)
Fashion and travel blog OZ in Paris
wordpress · php · html · css · less · bootstrap · jQuery · javascript
2015
caloria.ro (opens in new tab)
Diet and nutrition site
html · css · less · bootstrap · jQuery · javascript
2015
andreeaibacka.ro (opens in new tab)
Personal site of actress Andreea Ibacka
wordpress · php · html · css · less · bootstrap · jQuery · javascript · nodejs
2015
republica.ro (opens in new tab)
Opinion platform with columns by public figures and experts
html · css · sass · bootstrap · jQuery · javascript · nodejs · git · PM
2014
nush.ro (opens in new tab)
Q&A community
wordpress · php · html · css · less · bootstrap · jQuery · javascript · nodejs
2014
cabral.ro (opens in new tab)
Blog of TV presenter and actor Cabral Ibacka
wordpress · php · html · css · less · bootstrap · jQuery · javascript · nodejs
2014
apropotv.ro (opens in new tab)
TV guide and entertainment news
html · css · less · bootstrap · jQuery · javascript · nodejs
2014
practica-ta.ro
Student internship platform by Adecco · offline
wordpress · php · mysql · html · css · less · bootstrap · jQuery · javascript · nodejs
2013
bound.ro (opens in new tab)
Bound, a club in Bucharest
wordpress · php · html · css · jQuery · javascript
2013
tortionari.gandul.info
Gândul report on communist-era torturers · offline
html · css · jQuery · javascript
2013
2013
2013
tirbuson.ro
Wine club and online wine shop · offline
html · css · jQuery · javascript
2013
2013
criserb.com (opens in new tab)
Personal blog of Romanian blogger Cristi Șerb
wordpress · php · html · css · less · bootstrap · jQuery · javascript · nodejs
2012
businessdevelopment.ro
Business consulting firm · offline
wordpress · php · html · css · jQuery · javascript
2012
liga.prosport.ro
ProSport’s fantasy football game · offline
html · css · jQuery
2012
gq.ro
GQ Romania, the men’s magazine · offline
html · css · jQuery · javascript
2012
cineconduce.promotor.ro
Driving contest by Promotor and Opel · offline
html · css · jQuery · javascript
2012
travel.descopera.ro
Travel section of Descoperă magazine · offline
html · css · jQuery · javascript
2012
afiliere.mobilio.ro
Sign-up for the Mobilio mobile ad network · offline
html · css · jQuery · javascript
2011
2011
one.ro
Fashion site of ONE magazine · offline
html · css · jQuery · javascript
2011
2011
orlando.ro - v2011 (opens in new tab)
Orlando Nicoară’s blog on internet and media
html · css · wordpress · php
2011
storageroom.ro
Storage Room, a bar · offline
wordpress · php · html · css · jQuery · javascript
2011
oanacuzino.csid.ro
Health blog of TV doctor Oana Cuzino · offline
wordpress · php · html · css · javascript
2011
thecitybreak.ro
Guide to European city breaks · offline
wordpress · php · html · css · jQuery · javascript
2011
m.apropo.ro
Mobile site of the Apropo portal · offline
html · css
2011
2011
alo-moda.ro
AloModa fashion blog · offline
wordpress · php · html · css · jQuery · javascript
2010
intrefete.ro
Women’s lifestyle site · offline
html · css
2010
m.apropoid.ro
Mobile sign-in for Apropo accounts · offline
html · css
2010
prosport.ro - v2010
ProSport, a national sports daily · offline
html · css
2010
soferderomania.promotor.ro - v2010
Online driving game by Promotor and Opel · offline
html · css · jQuery · javascript
2010
liga.prosport.ro - v2010
ProSport’s fantasy football game · offline
html · css
2009
sportlaminut.ro
Sports news, mostly football · offline
html · css
2009
creativeweek.org
A web designer’s blog and portfolio · offline
wordpress · php · html · css
2009
greenblog.descopera.ro
Environment blog of Descoperă magazine · offline
wordpress · php · html · css
2009
blog.provideo.ro
Movie blog of the Pro Video DVD label · offline
wordpress · php · html · css
2008
revistavip.net
VIP, a celebrity magazine · offline
html · css
2008
americanexperience.ro (opens in new tab)
Agency for Work & Travel USA, H2B and Au Pair programs
html · css
2008
turabo-cafe.ro
Turabo Cafe, a coffee chain · offline
html · css
2008
bmw.ro (opens in new tab)
Official site of BMW Romania, built in Flash with XML content
xml · html · flash
2008
Contact
I work remotely with EU and US teams, and in Bucharest I can also work hybrid or on site.