Work

What we have built.

Client platforms and our own products. Each page leads with the one thing worth knowing about the project, and every number on it has a source.

One award video playing in full, then the frame pulling back to every video made for the cycle at once.
Client work

GZS Inovacije

Slovenia's national innovation awards, from the regional round in thirteen chambers to the national ceremony, on one platform we built and still run.

Every one of the 235 entries got a branded 35-second video for the ceremonies, made from the text of its own entry with a Slovenian voiceover. Nobody edited any of them. Technical terms are checked against Slovenia's official lexical database, and the narration is fitted to each video's length without a change anyone can hear.

2026 Gospodarska zbornica Slovenije
Read the case study
The questionnaire for a waste category, with criteria answered one at a time, room for a note against each, and a progress figure in the header.
Client work

Planet Positive Sport

The platform FIVB uses to measure, review and certify the environmental footprint of volleyball events, with reports rendered by the server and AI run on our own GPU.

One click freezes an event's numbers, and three things are built from that snapshot: the public web page, a PDF and a single HTML file with every photo inside. The server draws all nine charts, so the PDF, which runs no script, always prints complete. Photos per page view fell from 140.5 MB to about 19 MB.

2026 FIVB
Read the case study
The question screen on a phone, showing a countdown, a question about Austrian alpine skiing, and four lettered answers.
Client work

Olimpijski Kviz

A quiz played on ten thousand phones at once, in step with a live Winter Olympics broadcast, every night for sixteen nights.

Every phone asks the server what it should show, about once a second, over ordinary HTTP. There are no WebSockets anywhere. A single clock drives the quiz through lobby, question, sponsor break and standings, and the answers come from a cache prepared for the phase about to start.

2026 Sport Media Focus
Read the case study
The fluent-html.com home page, showing a TypeScript snippet, the exact HTML string the library returned for it, and that string rendered as a list item.
Our product

fluent-html

Our TypeScript library that writes HTML as function calls, and the rendering layer under every web app we ship.

When two files disagree about the name of an element, the page stops compiling. An HTMX swap aimed at an id the response does not contain used to break the page silently in the browser. Now the compiler names both ids before the code ever runs.

2024
See the project
The JT Cut editor on its Timeline step. A row of five style cards (Cinematic, Energetic, Elegant, Dynamic, Minimal) sits above a filmstrip of photo slides, with the transition between each pair written in the gap and each slide's length and camera move under it.
Our product

JT Cut

A video tool in the browser that turns a set of photos into a finished, narrated video in minutes.

Pick one of five looks and JT Cut sets the transition, the camera move and the length of every slide. A camera move is a slow zoom or pan across the photo. No two neighbouring slides get the same transition or the same move, so a video built in one click looks edited by hand.

2026
See the project
One gallery slot of a listing strategy in StorySell. The slot is Mechanism, fourth of seven. An orange card names the shopper doubt it answers, and below it the Angle A copy shows a headline, a subheadline and three callouts, each with a copy button, over closed rows for the designer brief, the reasoning and the checks, which all pass.
Partnership

StorySell

StorySell turns the documents and links an Amazon seller already has into a listing strategy, with every field written twice for A/B testing and scanned for Amazon's banned claims.

Each doubt that stops a shopper from buying goes to exactly one image in the listing's gallery, or one section of the A+ page below it. That slot's copy has to settle it. The rule came from a reviewed run where one strong claim appeared 81 times across six of the seven gallery images.

2026
See the project
The jury scoring screen. On the left, a sample entry with its campaign facts, summary and the Project planning section worth 30 points. On the right, the judge's score panel with a total of 55 out of 100 and a score for Planning, Budget, Execution and Evaluation.
Client work

SPORTO Awards

The entry and jury portal for the SPORTO Awards, where companies enter sports sponsorship campaigns, judges score them and the organiser runs the competition.

A judge scores each entry beside the entrant's own write-up. Planning, Budget, Execution and Evaluation appear in the same order on both sides, worth 30, 10, 30 and 30 points. The entry form and the score sheet read one list of criteria in the code, so the two can never drift apart.

2026 Sport Media Focus
See the project
A drawing of the Everyframe TypeScript SDK reference open at its AI section. The sidebar lists nine sections and the operations on the page. The main column shows the aggregateTracks operation with its code signature, a one-line description and a table of its three parameters.
Our product

Everyframe

The live site for our own video engine, showing real runs on real footage and documenting how developers call the engine from TypeScript and Rust.

The developer reference lists 222 operations, the video, audio and AI steps the engine can run, and nobody typed any of them. A script asks the engine for its own list and writes the page from it. A check command rebuilds the page and fails if a single byte differs from the copy in the repo.

2026
See the project
A phone screen with a beach photo of two figures whose faces sit under soft warm glows. Below it the Adjust sheet is open, with Soft blur or Mascot as the cover, four cover looks, a strength slider, a Location removed switch and a Done button.
Our product

Huluma

A phone web app that covers every face in a family photo with one tap and removes hidden location data before the photo is shared.

Huluma destroys a face before it covers it. The face area is shredded into coarse blocks and enlarged, so the original pixels cannot come back. The soft warm glow a parent sees is only the look on top, and the strength slider changes that look and nothing else. Confirming a photo deletes the original.

2026
See the project
The na cent dashboard in Slovene, with collected cash of 18.472,35 € and 5.368,00 € still unpaid under it, VAT to pay, money owed to the company, an overdue alert and the three latest transactions.
Our product

na cent

Our self-serve money ledger for small Slovenian companies, showing how much of the bank balance is really theirs once VAT and unpaid invoices are set aside.

Every amount is kept in whole cents, with net and VAT stored as typed. Balances are recalculated from the entries on every screen. A test reads the whole codebase and stops the build if anyone works out net by dividing a VAT rate out of the gross. Our own internal tool once had exactly that bug.

2026
See the project
The Competify judge screen for an idea called Tool board at every lathe. The idea's answers fill the left column. On the right, a dark card shows a total of 80.1 out of 100 with a Silver badge, above a slider for each weighted criterion.
Our product

Competify

Our own software for running an awards programme, from the entry form to the judges' scores and the final ranking, sold in Slovenia as Tekmovalni portal.

A judge drags a slider and the total and the medal change during the drag. The browser runs the same scoring function the server uses when it saves, so the number on screen always matches the number on the leaderboard. In the public demo nothing is saved, and the sliders still move the total.

2026
See the project
The composer board of a sample project, set to Croatian. Three columns for the ad's story sections, Hook, Problem and Emotion, each show its script versions, a recorded Croatian voiceover with its measured length, the Croatian caption and how long the first shot holds. The toolbar gives the length of the Croatian cut, and the footer multiplies 8 combinations by 2 languages and 3 formats into 48 files.
Our product

Everyframe Composer

Our pre-launch web app that turns one approved video ad into every cut of it, across opening hooks, languages and formats, timed from the voiceover.

The timing comes from the narrator. The app finds the pauses in each recorded voiceover and puts the default cuts in the longest ones. When the Croatian read runs 0.9 seconds longer, the cut moves by 0.9 seconds and the captions wrap again for Croatian. Every length on screen says whether it was measured or estimated.

2026
See the project
The gym's admin panel open on one member's page. It shows the member's name and email, their check-in QR code, a red Inactive badge, a Send QR code button, a form with the member's details, and an Add Subscription form on the right.
Client work

Excel Gym

A membership system for Excel Gym in Ljubljana, with an admin panel for staff, a members' app and a barcode scanner at the front desk.

A barcode scanner at reception reads the member's own QR code and answers with its own light and sound. Green and a short beep means welcome. Red and two long low tones means the membership has run out or is frozen. The code that talks to the scanner over USB is ours, written without Zebra's software kit.

2024 Excel Gym
See the project

Your project could be the next one here.

Tell us what you need and we build a working prototype first, so you see it before you pay for it.