Hi, I'm Luka

Full-stack engineer

I design the systems, AI helps me build them faster, from a Raft implementation to a 400-card online TCG.

Projects

01 · Season 1 live

Carsnap

An AR car-spotting game. Point your camera at a car, AI identifies it, and it becomes a collectible battle card with real-world stats. Build a deck and climb ranked seasons in turn-based duels.

  • Flutter
  • FastAPI
  • GCP
  • YOLO
  • AI
CarSnap AR camera snapping a car
CarSnap rare car card reveal
CarSnap turn-based battle board
How it's built
car models
1,000+
AR detection
Real-time
live now
Season 1
  • A YOLO-powered camera detects cars in real time, and AI identifies the make and model.
  • Every capture becomes a card with real stats: horsepower, handling, weight and more.
  • Turn-based ranked duels with modifier cards and a synergy system.
  • Matchmaking queue, ranked seasons, daily challenges and achievements.
  • Pack opening, a deck builder and a multi-currency economy.

Under the hood

A Flutter app backed by FastAPI services on Google Cloud Platform. A YOLO model detects the car in the camera feed, AI identifies the make and model, and the backend turns it into a card and runs matchmaking, ranked battles and the economy.

  • CarSnap pack opening and card reveal
  • CarSnap deck builder screen
  • CarSnap garage collection view
  • CarSnap matchmaking queue screen

02 · Live at sterza.app

Sterza

A driving companion for car enthusiasts: discover and share great roads, plan scenic routes, time circuit laps and get a corner-by-corner debrief after the drive.

  • React Native
  • Maps & GPS
  • AI coaching
Sports car on a winding countryside road at sunset
Sterza Discover map showing driving roads around Istria
How it's built
GPS sampling
5 Hz
lap time check
±1.0 s
off-track lap rule
40 m
  • Road Atlas: trace, save and share driving roads on the web, no account needed.
  • Route builder for scenic drives, shared exactly the way they were driven.
  • Built-in circuit lap timer with leaderboards; laps more than 40 m off the track do not count.
  • Car meets and group drives: a pin, a time and who is coming, with the exact address revealed two hours before.
  • Sterza Plus: braking and throttle zones on the map, apex cues, ghost laps and an AI summary of what to change next time.

Under the hood

A React Native app with map-based road discovery, GPS recording at 5 Hz for laps and runs, and an AI coaching summary after each drive.

  • Sterza circuit lap timer above a race track

03 · Play on itch.io

Lacuna

An online trading card game with 442 cards across eight colours. A TypeScript rules engine runs on an authoritative game server, and the Unity client only renders the state and sends back moves the server has validated.

  • Unity
  • TypeScript
  • Socket.io
  • Supabase
  • Stripe
Lacuna main menu with the active deck, play modes and a featured leader card
How it's built
cards
442
colours
8
test files
114
  • Server-authoritative: every state update ships the legal actions, so no game rules live in the client.
  • Rules engine with a response chain, instant-speed windows, formations, triggers and mulligans.
  • Online play through private rooms with codes, plus a practice bot and a turn timer.
  • Accounts and collections on Supabase; booster packs, crafting, quests, progression and cosmetics.
  • In-game shop with Stripe checkout and webhook-based fulfilment.

Under the hood

A pnpm monorepo: a pure TypeScript engine package, a shared package of types and legal-move hints, a Socket.io game server deployed on Fly.io, and a Unity 6 (URP) client that is a presentation layer only.

  • Lacuna battle board mid-match
  • Lacuna booster pack opening

04 · Open source

Raft in FastAPI

A Raft-replicated key-value store: four FastAPI nodes elect a leader, replicate every write through an append-entries log, and elect a new leader when the old one goes down.

  • Python
  • FastAPI
  • Distributed systems
How it's built
FastAPI nodes
4
randomised election timeout
10–20 s
built
2024
  • Each node is a FastAPI app exposing the key-value API (GET, POST, PUT, DELETE) and the Raft RPCs.
  • Leader election over a /vote endpoint with randomised timeouts and a majority that discounts dead nodes.
  • Writes go through the leader and are replicated to followers via /append_entries.
  • A heartbeat monitor thread keeps followers in line; followers start an election when heartbeats stop.
  • Reads can be redirected to the least-loaded follower.

Under the hood

Run one uvicorn process per node; each node's /docs page exposes every endpoint for demonstrating elections and replication.

05 · Open source

Portal

A Flutter app for running language models on your own machine: browse, install and hot-swap models, chat with streamed responses, tune generation settings per model and see what your hardware can handle.

  • Flutter
  • Dart
  • FastAPI
  • Local LLMs
How it's built
token-by-token chat
Streaming
generation settings
Per model
hardware check
CPU · GPU
  • Model manager: install, activate (hot-swap) and delete models from a catalogue.
  • Chat that streams tokens as they are generated.
  • Per-model generation settings: temperature, top-p, max new tokens, repetition and length penalties.
  • Device panel showing CPU, RAM, GPU and CUDA availability.
  • A 3D model viewer and animated video background in the UI.

Under the hood

The Flutter client talks to a local FastAPI backend on 127.0.0.1 that manages the models and runs inference; this repository is the Flutter frontend.

Also built

  • SpellchainThe game from those mobile ads, turned into a roguelike endless runner.Unity · C# · Supabase

    A portrait mobile crowd runner: steer a coven of wizards through gates that grow your army, crack chests for spell powers and outlast a guardian every level. Levels are generated from their number, so level 37 is the same for everyone.

    • Your army is both your health and your firepower.
    • Gates you can shoot to raise their value, chests with spell powers, and an elite guardian every fifth level offering a power or a passive.
    • Seven enemy types, each demanding a different response: focus fire, dodge or kill first.
    • Per-level difficulty curves for enemy health, speed, attack frequency and upgrade costs.
    • Supabase backend with server-side purchase verification.
    • Spellchain store screenshots: gates, a huge army, a boss and roguelike rewards
  • SUI OmnimarginA margin trading plugin for the Sui network.Sui
  • FIPU QuizUniversity exam app with AI proctoring that catches photo and video spoofing.Vue · FastAPI · AI

    A test-taking web app for university exams that uses AI to check the student is present on camera, and detects a photo or pre-recorded video used as the camera feed, or a camera that is too dark.

Plus a handful of private projects in progress. Happy to talk about them.

How I use AI

  1. 01

    I own the architecture

    Data models, system boundaries and trade-offs are decided by me before any code exists.

  2. 02

    AI multiplies the build

    I use AI agents to move faster on implementation, so I can take on projects bigger than one developer usually should.

  3. 03

    Nothing ships unread

    Every change is reviewed and tested by me. I can explain any line in production.

Experience

  1. Now

    Software Engineer · Cenosco

    Built the framework for the new AI system that drives the company's legacy application, now the foundation for every new feature.

    • Implemented the framework for the new AI system that controls the legacy application; all new features build on it.
    • Built mission-critical components.
  2. 2024

    Intern · Asseco Group

    Java developer intern: a Spring Boot backend service, a Svelte web app and a Kotlin Android app.

  3. 2022

    Team Lead · Huawei Seeds for the Future

    Led one of two Croatian teams designing a sustainable energy-saving solution. Selected as the top-performing candidate in Croatia and invited to the Huawei Talent Summit in Athens.

Stack

Languages
PythonTypeScriptJavaScriptDartC#JavaKotlinSQL
Backend
FastAPIDjangoFlaskSpring BootNode.js.NET
Frontend & mobile
FlutterReactReact NativeVueSvelte
Games
Unity
Data & cloud
PostgreSQLMongoDBFirebaseSupabaseGoogle CloudDocker
AI
Local LLMsAI features in productsAI-assisted development

Say hi