Product design for AI and data systems people actually trust.
Senior Product Designer with 10+ years in products where the hard part is the data: live sensor feeds, maps, time-series, alerting rules and regulation. Betting platforms under strict compliance, hotel operations software, and my own real-time monitoring platform, now the leading service of its kind in Serbia.
Vodostaj.rs in numbers
A real-time water monitoring platform I designed, built and run. Search numbers come straight from Google Search Console, from launch to November 2026.
Sources: Google Search Console and Google Analytics 4 for Vodostaj.rs. Station count from the live site, November 2026.
Case studies
Seven projects across data products, enterprise SaaS and regulated platforms. Each one opens into the full story: the problem, the structure, the decisions and the results.
Vodostaj.rs
Founder & Product Designer · Solvers Hub DOO · 2026 to present
Real-time monitoring platform built from zero: 3,200+ hydrological stations across eight countries, fed by automated scraping and API integrations with national meteorological agencies. Map interface, time-series views, and the threshold model behind flood and drought alerts. Every alert is traceable to the rule that fired it.

Hotel Sync
ex OTA Sync · Aug 2022 – Jan 2024
End-to-end redesign of an enterprise operations platform from 1.0 to 2.0: the PMS back-office, a native manager app, and the guest-facing Booking Engine. Re-architected 40+ configuration screens, defined the pattern library engineering built against, and stayed embedded through the rollout.

Bethard / Uberlucky
Betting platform · Feb 2021 – Aug 2022
Hypothesis-driven conversion work and end-to-end product design on a licensed betting platform, under compliance constraints on every screen. Designed the full Uberlucky web product (homepage, KYC-heavy registration funnel, account panel, deposit and bonus systems) and delivered production CSS for the sportsbook module myself.
More work

Unternehmerheld
B2B SaaS, Berlin · Aug 2022 – Jan 2024
Registration and onboarding redesign for a German B2B financial planning SaaS. Worked directly with PM and CEO, ~6,000 active users. Contracted through Interventure, in parallel with my Hotel Sync role.
Read the case studyMaxbet
Part of Flutter Entertainment Group · Feb 2025 – Present
Stood up the research and insight practice for a 28-person product org that had none: GA4 event taxonomy, FullStory funnel analysis, Maze usability validation, Looker health dashboards, and a shared research repository, all inside a compliance-heavy regulated environment.
Read the case study
Luigi Rent a Boat Hvar
rentaboat-hvar.com · Side project
End-to-end web design for a Croatian boat rental and tours business. Homepage, boat rental pages, tour listings, water taxi, and full mobile responsive, built and live.
Read the case study
AKC Gnezdo
akcgnezdo.rs · Side project
End-to-end site designed entirely through Claude. No Figma. Public homepage, event pages, calendar, gallery, and a full admin panel for the editor to run everything. Built for friends, and a proof that AI-assisted design can deliver a production site with full management tooling, fast.
Read the case studyDesigning for AI
Most of my recent work sits on top of automated output: rule engines, threshold evaluation, forecasting, behavioural models. The interesting design problem is never the model. It is the moment a person has to decide whether to act on what the system just told them. These are the principles I design to.
Traceable, not oracular
An automated flag is only useful if the user can see the rule behind it. Every generated output I design links back to its source: which threshold, which regulation, which reading, at what timestamp. A verdict nobody can audit is a verdict nobody acts on.
Confidence is part of the data
A forecast shown without an error bar reads as a fact. I design predictive UI to expose its own uncertainty (range, data freshness, and the conditions under which it degrades) so people calibrate their trust instead of inheriting it.
The human keeps the decision
The system narrows the field; the person still chooses. Review, override, and disagreement are first-class states in the flow, designed up front, not error handling bolted on after the model ships.
Design the failure case first
Stale feeds, dropped sources, low-confidence output, zero results. In a live data product these are not edge cases, they are Tuesday. I specify the degraded states before the happy path, because they decide whether people keep the product open.
Complexity belongs in the system
Dense domains earn their complexity: hydrology, hotel operations, betting compliance. The work is to absorb it into structure, hierarchy, and progressive disclosure so the surface stays operable by someone who is not an expert in it.
Prototype it, don't argue about it
I build working prototypes with AI-assisted development, so a contested flow becomes something a team can click through in days rather than something they debate over a static mock for weeks.
Where this is applied
Designed it, then shipped it
Products I designed and built myself, end to end, through Solvers Hub. Evidence of implementation awareness, full-stack product thinking, and the technical acumen to prototype an idea rather than only specify it. Running in production on Next.js, TypeScript and Supabase, which is why I know what is cheap to build, what is expensive, and what breaks.
Invoicing and business platform for the Serbian market. Ten modules: invoices and quotes, government e-invoicing (SEF) integration, delivery notes, a ledger for flat-rate entrepreneurs, bank statement imports, inventory, payroll with tax forms, and a software fiscal register currently in certification. Three customer segments (flat-rate entrepreneurs, companies, accountants), designed and built solo on Next.js and Supabase.
The product studio I run alongside my primary role. Everything shipped end to end by me. Vodostaj.rs was migrated from a React SPA to Next.js here. From launch to November 2026 it reached 5.45M search impressions and 139K organic clicks, at #1 regional rankings. Design decisions measured against outcomes, not opinion.
Crowdsourced environmental reporting for the Balkans. Full geospatial pin lifecycle on MapLibre and OpenStreetMap: submission, EXIF-aware image pipeline, moderation admin, and resolution, across six languages. The closest thing here to a field-reporting and inspection tool.
Full-stack e-commerce for a fishing tackle brand: catalogue, checkout with order emails, order management, and an admin dashboard the client runs themselves. Empty repo to production in a 24-hour sprint.
Multi-tenant platform for a regional sports federation: 85 clubs across 40+ disciplines, each with its own content, membership and permissions, under one administrable roof. Plus client platforms for manufacturing, hospitality, and multi-location service businesses.
What I bring, and how I work
Nine areas where I do my best work, and the four steps every engagement follows.
Time-series & data visualisation
Charts with thresholds, min/avg/max bands and confidence ranges; occupancy and revenue dashboards; funnel analytics. Making dense data readable at a glance is the core of most of my work.
time-series · thresholds · KPI dashboardsGeospatial & mapping interfaces
Station networks and pin lifecycles on MapLibre and OpenStreetMap, with EXIF-aware image pipelines and moderation tooling behind them. Designing the map is easy; designing what happens at 3,200 pins is the work.
MapLibre · OpenStreetMap · GIS · clusteringThreshold, alerting & risk detection
The rule model behind flood and drought alerts: how a user defines a threshold, how the system explains which rule fired, and how you earn the right to interrupt someone. 134 user-set alerts, all still enabled.
rule modelling · traceability · notification UXEnterprise workflow architecture
40+ configuration screens regrouped into domain-based navigation. A nine-step reservation flow reduced to four. The value in a complex product is decided in its structure, long before anything is styled.
IA · progressive disclosure · state modellingDesign systems & foundations
Twelve inconsistent interaction patterns consolidated into one modular component system and pattern library engineering built directly against. Comfortable being the person who establishes design foundations where none exist.
Figma · component systems · pattern librariesResearch & usability validation
Discovery interviews, event taxonomies, session and funnel analysis, moderated and unmoderated usability testing, competitor benchmarking, plus the repository standards that keep findings usable after the study ends.
GA4 · FullStory · Maze · Looker · Confluence · MiroCompliance-aware UX
Licensed betting at Bethard and Maxbet, German financial planning at Unternehmerheld, public-safety-adjacent hydrology at Vodostaj. Translating a rulebook into something people can actually use is half the job.
regulated markets · auditability · disclosureInstitutional data integration
Automated scraping and direct API integration with national meteorological agencies across eight countries, behind a source-adapter layer. Each source has its own format, cadence, and way of failing. The interface has to absorb all of it.
government APIs · ingestion · multi-tenantPrototyping in code
Next.js, React, TypeScript, Supabase, Tailwind, Stripe. I build what I design when building it is the faster way to settle a question, and it means I know what is cheap to build, what is expensive, and what breaks.
Next.js · React · TypeScript · Supabase · StripeFrame
Get to the real problem with the people who own it. Audit the existing system, map every user task to the steps it actually costs, and agree what "better" means in numbers before anything is designed.
Architect
Structure first: information architecture, states, edge cases, and the rules the system runs on. This is where most of the outcome is decided, and where I spend the most time.
Prototype & validate
High fidelity in Figma, working prototypes in code when that answers faster. Test with real users, instrument the flow, and let behaviour settle the disagreements instead of seniority.
Ship & measure
Stay inside the implementation cycle: review builds, adjust in flight, and tie the change back to click cost, support load, activation, conversion. A design isn't finished at handover.
Where I have worked
Ten-plus years across enterprise SaaS, licensed betting, embedded engineering and real-time data platforms.
Built the research and insight practice for a 28-person product organisation: analytics, usability testing, benchmarking, dashboards.
My own platforms and studio, designed and shipped end to end on Next.js and Supabase.
Owned design across web, mobile and client apps. Re-architected 40+ configuration forms and stayed embedded through the v2.0 rollout.
Business plan and financial modeling modules, plus onboarding and registration flows. About 6,000 active users.
A/B testing on the deposit funnel, Uberlucky product design, and production CSS for the sportsbook module.
Website UX overhaul for a global audience of embedded engineers.
Systems thinker, comfortable with ambiguity
Senior Product Designer, 10+ years across enterprise SaaS, licensed betting, embedded engineering, and real-time data platforms. Used to being the only designer in the room and the one who establishes the foundations.
Based in Serbia (CET). Available full-time, remote contract or permanent, and open to relocation.
„Prozor u prošlost" (A Window to the Past)
A public heritage installation at the Kruševac fortress: a glass panel that visually completes the ruined medieval Donžon tower when you stand in front of it, drawing the missing structure back in at full scale, in place. It has gone viral several times and is now a small landmark of my hometown. Same instinct as everything else on this page: take a thing people cannot read, and make it legible.
Lifelong angler, which is where Vodostaj.rs came from: I built the tool I needed on the riverbank. I like products born from real, personal problems.
Let's talk about your product.
Open to senior product design roles. Based in Serbia, available full-time, and open to relocation.