Karol Novljaković

About

I'm a principal software engineer with multiple years of building complex, user-centric web products — from visual editors with real-time collaboration to AI tools and the infrastructure behind them. I care most about the space where engineering, user needs and product meet.

Since 2020 I've been at Ceros, where I've moved between leading teams and working hands-on. Today I'm an individual contributor reporting to the CTO, working on the architecture of our next-generation editor and helping the teams building on it deliver their commitments. Before Ceros I spent two years at a software house and freelanced building websites and web apps.

Work

  1. Principal Software Engineer · Ceros Flex

    2025 – now
    • Led the move of our sync engine from two-way syncing to an intent-based operations pipeline: every change is validated, normalised and auto-fixed before it lands, so documents stay consistent across collaborators, offline edits and version history.
    • Helped shape how the DOM tree lives in the CRDT, with fractional indexing so concurrent moves stay conflict-free and cheap to observe on the client.
    • Built a way for customers to bring content made in Flex into their own sites and apps without relying on iframes.
    • Worked on performance across the stack — for example, a few recent changes made our server-side and static rendering around 30% faster.
    • Next.js
    • Y.js
    • WebSockets
    • NestJS
    • PostgreSQL
    • Terraform
  2. Lead Software Engineer · Ceros Flex

    2024 – 2025
    • Led a team of up to eight senior engineers rebuilding Ceros Studio — a client-heavy visual editor in the same family as Figma or Framer — and helped my reports grow into staff and lead roles.
    • Set the frontend architecture: real-time collaboration with offline and version history (Y.js), an extensible visual HTML editor built on Web Components, and a DSL that can be edited both visually and as code, which made adding AI collaborators straightforward.
    • Was part of a cross-team effort with QE and DevOps on our end-to-end pipeline: around 10,000 Playwright tests on custom AWS runners in 6–8 minutes on every PR.
    • Helped reshape our engineering culture at Ceros, balancing quality, security and speed of delivery in the age of AI-assisted development.
    • Lit / Web Components
    • Turborepo
    • Vite
    • Vitest
    • Playwright
  3. Senior Staff Software Engineer · AI assistant

    2024
    • Built an AI assistant that worked across Ceros products, with ideas that were early at the time: a voice-to-voice mode before realtime APIs were common, artifact-style outputs, and a visual guide that let vision models point at exact spots on an image.
    • The project was sunset after a change in leadership and strategy, but what we learned building it carried into AI features across Ceros products.
    • React
    • Python
    • FastAPI
    • LangChain
    • Temporal
    • Pinecone
  4. Senior, then Lead Software Engineer · MarkUp.io

    2020 – 2024
    • Joined early and spent four years on a product for commenting directly on live websites — which meant learning the limits of the web the hard way: proxying and shimming third-party sites into iframes, pins that stick to elements, and a Chrome extension for pages that refuse to be embedded.
    • Built a native screenshot pipeline (snapshot, rebuild, headless browser) that beat any HTML-to-image library on consistency, and helped architect instant and digest notifications for email, Slack and Teams.
    • Learned to build from customer evidence: analytics, customer learning sessions and a Slack community where you see the effect of a fix the same day.
    • React
    • Express
    • BullMQ
    • AWS SQS
    • DynamoDB
    • Chrome extension

How I work

I've never loved code for its own sake — what I enjoy is shipping things people use and seeing the result. Long before AI tools I was the top committer on my teams, writing it all by hand. Today most of my code is written by agents — I spend my time on architecture, on reviewing what they produce and on deciding what's worth building. Those years of writing it by hand are why I can review their work properly and stand behind what ships.

I like small teams with clear goals, and products shaped by evidence about their users.

Outside work

I'm based in Poland. Polish and Croatian are both native languages for me, alongside English and some Spanish. In 2026 I finished a bachelor's in economics at Kozminski University, studying at weekends alongside full-time work. Away from the keyboard you'll find me bouldering, out on a long run or a hike, cooking, travelling or listening to music.

Elsewhere

Get in touchor find me on GitHub · LinkedIn