Project Portfolio
Fresh off the press
All stories
Professional & Freelance
- Vita Mavrič: A handcrafted site for theater artist Vita Mavrič, featuring clean typography, considered layout, and zero dependencies. Built to let her work speak for itself.
- Gašper Stražišar: A clean editorial site for journalist Gašper Stražišar, built on WordPress with a custom theme that keeps the focus where it belongs.
- Cartridge World Cyprus: Internship at Cartridge World Cyprus, working on the development of their WordPress e-commerce site, including SEO and quality assurance.
- Ajsa Pet Spa: A polished site for a pet grooming studio, with dynamic price list and photo gallery the owner can update without touching a line of code.
Passion Projects
- Guitar Backing Tracks: I got tired of digging through folders every time I wanted to practice. So I built a simple player that keeps all my backing tracks in one place, ready to go.
- Peal: A nine character string of place notation generates sixty rows of six bells, none of them repeated, and lands back exactly where it started. Hear it rung on bells built from the partials a founder actually tunes, watch one bell's line cut through the rows, then take a rope and find out that a bell is three hundred milliseconds wide and you are eighty of them late.
- Bearing: A co-op game for two, because every other game here is one of you beating the other. You each sweep a radio antenna and learn which direction a collared animal is in, never how far, so one bearing is a line and only two crossed from different places are a spot on the map. Work out what she is doing from the track you build together, then agree where she will be next and have someone standing there when she arrives.
- Battleship: Battleship where falling behind pays out. Every hull you lose salvages a heavier weapon, from sonar sweeps and decoy buoys up to a depth charge that flattens a three by three, so the fleet that is burning is the one with options. Play a friend over a four letter room code, or take on the bot.
- Seam: Connect four, except the ground keeps disappearing. Play into a column that is already full and the deepest row of the whole board is cut away, so every piece drops a row and the line you were building may be gone. You get three of those, and never two turns running.
- Spy Game: Everyone knows the location except one person. That person is the spy. Pass one phone round the table, or open a room so everyone gets their own screen, votes in secret and finds out together who was lying. Plays in English or Slovenian.
- Tarok: A scorekeeper for Slovenia's beloved card game. Handles radelci, multipliers, and full game history, so the table argument about who's winning stays settled.
- Beseda: Duolingo doesn't teach Slovenian and the apps that do want your money, so here is a free one. A new word every day inside real sentences, where hovering any word tells you what it means. Keep a streak going if that helps you show up.
- Tells: A logical fallacy sits in the argument where anyone can point at it, a cognitive bias sits in your head where nobody can, and a tactic is someone triggering that bias on purpose. Here are 48 of them on one grid, each with what to actually say back. The drill shows you a different example every time, so what you learn is the pattern rather than the sentence.
- Botaniq: Never forget to water a plant again. Add your plants, set a watering schedule, and write down exactly how to care for each one. Simple and always one glance away.
- Multi-Source IP Locator: Asks ten independent geolocation services where an IP lives and draws every answer on one map, so you see where the consensus lands and not just one provider's best guess.
- Workout Tracker: Build workouts from your own exercise library, whether it's reps, weights, holds, or runs, then log every round as you go. Each session is saved, so you can look back and see yourself getting stronger.
- Maze Generator: Generate your own maze puzzles and print them out. Pick a shape, pick a style, and get a unique maze every time with the solution ready if you need it.
- Sourdough Tracker: Good sourdough takes days, and it is easy to lose track. This keeps the whole process in one place so you always know where your dough is: fed, folded, proofing, or ready for the oven.
- Blog: A place to write down the occasional thought on building software and the projects on this site. Rendered straight in the browser.
- Recipes: A cozy recipe box where anyone can browse and cooks can write their own. A guided cooking mode walks you through each step with built in timers and a bell.
- Paper Flowers: Build a bouquet out of nothing but CSS: pick roses, sunflowers, poppies and more, and every petal is a flat div rotated into place. Then send someone a link to their arrangement.
- Nebo: A live map of the night sky: every naked eye star, the five visible planets, and the Moon in its exact phase, computed right in your browser from orbital mechanics. Drag time and watch dusk fall over the dome.
- Trails: Somewhere over the Alps with no wifi, you want to know where you are and what that city under the wing is called. Trails records the whole flight on your phone with no signal at all, draws it on a chart that needs no tiles, and works out what is over the horizon from your altitude.
- Trips: Holiday photos end up as one long scroll in your camera roll, with no sense of where each one was taken. Trips turns a holiday into a line on the map: add each place as you reach it, and the photos you take there land on the spot, even with no signal, with the people you travel with adding theirs too.
- Share: Put share. in front of any address on this site and you get a page built to be pointed at a phone: what the project is, what it does, and a QR code big enough to scan across a room. The encoder is written by hand, so the code is drawn without loading anyone else's script.
- Tanken: German filling stations change their prices several times a day, and by law they have to report every change within minutes. Tanken shows the stations near you cheapest first, then answers the question that actually saves money: which hour of the day to turn up. The daily curve comes from eleven years of price changes, normalised so the oil market drops out and only the shape of the day is left.
Academic & Research
- Virtual Runner: My thesis focuses on creating a digital twin of a runner, integrating multiple subprojects into an application to demonstrate practical use of various technologies.
- OCR Algorithm for Assisting People with Disabilities: An OCR pipeline that reads license plates and faces to grant permit holders with disabilities instant parking access. Awarded a national silver prize for research innovation.
- Fruit Sequence Optimization with Dynamic Programming: A direct comparison of brute force and dynamic programming on a deceptively tricky placement puzzle, with runtime charts to prove which one wins.
End of the edition
Set in Bricolage Grotesque & Space Mono
No trees were harmed
Back to the masthead ↑