I build WordPress sites, and more and more often tools and automations that give a team back a few hours every week.
Five years in. Based in Zagreb, open to remote work, full-time or part-time.
A website is only finished when it is fast, easy for the client to edit, and still works after the next plugin update. That last part is where most of my time goes.
Zagreb · Canada · open to new roles.
A mix of my own products, client work and ongoing collaborations.
Three web apps I planned and built with Claude as a pair programmer: Režije for shared household bills, a PWA that tracks delivery costs for boat skippers, and a lightweight CRM for keeping track of contacts.
Claude Code, PWA, Supabase
Own products
Built in Elementor, with one hand-written script behind every moving thing you see here.
Elementor, GSAP, Canvas
Case study
A live WordPress site connected to Claude over MCP, so routine content edits can go through an AI agent.
WordPress, MCP, Claude
Experiment
WordPress sites I built from the first layout to launch, including motion, speed and SEO. neshnorm.com, iv4n4-design.hr
WordPress, Elementor
Experiment
A review of my own WordPress site and a Supabase app: headers, TLS, plugin versions, row level security, written up as a report.
WPScan, SSL Labs, RLS testing
Case study
The technical side of a collaboration with a Canadian SEO specialist: he led the SEO strategy, I did the development and technical fixes on client sites for the Canadian market.
Technical SEO, WordPress
Collaboration
Ongoing care for high-traffic sites that can’t wait for a monthly check: updates, speed, fixes and new features, done carefully enough that visitors never notice.
WordPress, performance, uptime
Ongoing
This is a selection. I’m happy to walk you through more work on a call, including projects I can’t link to publicly.
Things I build to understand the browser better. Hover, drag and draw on them.
Every column of pixels shows a different moment in time, like the stretched finish-line photos.
Canvas, frame history buffer
Two simulated chemicals react and spread, the same maths behind zebra stripes and coral.
Gray-Scott reaction diffusion
A finished page, and under the lens the Elementor structure that builds it.
CSS mask, custom properties
Touch the word and it crumbles into grains that pile up on the floor. Leave it alone and every grain flies back to its place.
Falling-sand automaton, thousands of particles
Nine hundred small lines line up with the field of a magnet that follows you.
Dipole field, 2D canvas
A printed banner on a rod. It sways when you brush past, and tears exactly where you pull too hard.
Verlet physics, 2,500 threads
I’m Hrvoje. I started with HTML and CSS at Algebra in Zagreb and have spent the last five years on WordPress, mostly for agencies, where the work was mine and the name on it wasn’t. These days I also build a lot with Claude, mostly tools and automations.
V4, custom widgets, child themes, design systems
Core Web Vitals, structured data, crawl health
Landing pages, forms and checkouts built to turn visitors into leads
Claude Code, MCP, internal tools