Kevin Bolčič Start a projectContact

← Back to the work/Sites & products

Built, shipped, still running

Every project here is live and mine — designed, built and kept in production. Each case study ends with an AI analysis: what the build is made of, what it measures in the real world, and the one design decision that carries it.

Screenshot of grafline.work, the Grafline platform site. CAPTURE 01 · grafline.work · LIVE

01 · Business platform

Grafline

Problem. The same order was being typed into three different systems, and nothing agreed with anything by Friday.

Built. One platform: inventory, orders, quotes, invoices, Slovenian e-invoices (eSlog 2.0), bank-statement matching, document sync to OneDrive. Payments auto-apply only when the reference, amount and payer all agree; otherwise a human decides.

Status. It has run the company every working day since launch. Every AI feature I sell was field-tested here first.

grafline.work (opens in a new tab)

AI analysis

Stack
Next.js front end, Express/Node API, PostgreSQL. Boring on purpose — a company runs on this, so every piece is replaceable and debuggable at 6 a.m.
Scope
From stock levels to state-compliant e-invoicing and open-banking reconciliation in one data model. The hard part is not any feature; it is that they all agree.
Guardrail
Triple-match rule: payment reference + exact amount + payer name must all agree before money touches an invoice. The AI is never allowed to guess with money.
Measured
Public site: ~8 KB HTML, ~0.22 s to first byte. The platform behind the login is measured differently: zero lost orders since launch.
Verdict
Software with consequences. The design constraint was not beauty; it was that a real company breaks if this breaks.
Screenshot of the grafline.eu promotional products store homepage. CAPTURE 02 · grafline.eu · LIVE

02 · E-commerce

Grafline shop

Problem. Supplier catalogues arrive in five formats and none of them speak Slovenian.

Built. WooCommerce storefront with supplier importers, a print-position configurator on every product, per-variation photography, and an EN→SL translation pipeline that re-runs daily so new products land already translated.

Status. 2,500+ live products, growing on its own.

grafline.eu (opens in a new tab)

AI analysis

Stack
WordPress + WooCommerce behind a CDN, with full-page caching and WebP images. Chosen for the merchandising tooling, then made fast despite itself.
Automation
Supplier feeds import, translate and photograph themselves; the daily translation cron means the catalogue grows with no human in the loop.
UX call
The print-position configurator — showing where your logo goes on each product — is the difference between a catalogue and a shop that answers the customer's actual question.
Measured
~0.4 s to first byte cold through the CDN (0.1 s warm), homepage payload cut by a third in the last optimization pass.
Verdict
A stock platform pushed to custom-build behaviour. The engineering is in the pipelines, not the pixels.
Screenshot of the probull.eu studio site hero. CAPTURE 03 · probull.eu · LIVE

03 · Studio site

PROBULL

Problem. Client work needed a home that did not look like a template with my name on it.

Built. The bull mark, the brand, and a kinetic-scroll site in two languages where the motion is the portfolio piece: everything animates the way I would animate yours.

Status. Live on probull.si and probull.eu.

probull.eu (opens in a new tab)

AI analysis

Stack
Hand-built front end, ~26 KB of HTML, ~0.33 s to first byte. No page builder anywhere near it.
Motion
Scroll-driven kinetic typography and pinned scenes — the risky kind of design, shipped with reduced-motion fallbacks so it degrades politely.
Design call
No AI-generated imagery. For a studio selling design judgment, the portfolio site itself is the proof, so every asset is drawn.
Languages
Slovenian on .si, English on .eu — same brand, two markets, no flag dropdown.
Verdict
The site is the showreel. It sells motion work by being motion work.
Screenshot of the GetLaserQuote laser cutting cost calculator. CAPTURE 04 · getlaserquote.com · LIVE

04 · Web tool

GetLaserQuote

Problem. Pricing a laser job needs the customer's file, and nobody wants to upload their file to a stranger's server.

Built. A calculator that measures SVG, DXF and PDF entirely in the browser; the file never leaves the machine. 21 machine profiles from diode to industrial CO2, plus a cost model taken from my own workshop, not from a textbook.

Status. Live and free, with its own suite of standalone calculators.

getlaserquote.com (opens in a new tab)

AI analysis

Stack
Static site with client-side file parsing — SVG, DXF and PDF path extraction running in the visitor's browser, ~0.28 s to first byte.
Privacy
No upload is the feature. The architecture is the trust story: there is no server to leak your part drawing because there is no server touching it.
Domain depth
The cost model prices machine time, material and margin the way an actual workshop does — it comes from running the laser, not from estimating averages.
Measured
~33 KB HTML, indexed for the exact questions makers search ("laser cutting cost per minute"), monetised with ads instead of a paywall.
Verdict
Expertise packaged as a free tool. The calculator is the marketing, the privacy model is the moat.
ONE ENGINE TENANT A TENANT B TENANT C ISOLATED DATA · PER-TENANT MAIL + AI KEYS DRAWING 05 · FAKTURO · IN DEVELOPMENT

05 · SaaS product

Fakturo

Problem. Every small shop in the country runs on the same chaos mine did, and none of them can afford custom software.

Built. The Grafline platform rebuilt multi-tenant: invite-gated signup, per-tenant mail and AI keys, isolated data. Same engine, many companies.

Status. In development, pilot stage. Not for sale yet; ask me anyway.

AI analysis

Stack
The proven Grafline engine with a tenancy layer: one codebase, isolated data per company, encrypted per-tenant credentials.
Strategy
Product from production: the features exist because a real company needed them, which skips the SaaS trap of building what nobody uses.
Gate
Invite-and-approval signup while piloting — growth is deliberately throttled until the platform earns it.
AI angle
Document capture and mail-to-order ship as bring-your-own-key: the tenant owns the data and the bill.
Verdict
The rare SaaS that ran a company before it had a signup page. Risk lives in distribution, not in the software.
Screenshot of kevinbolcic.si with the laser-drawn KB monogram in the hero. CAPTURE 06 · kevinbolcic.si · YOU ARE HERE

06 · This site

kevinbolcic.si

Concept. A designer's site should be its own proof, so the whole page borrows the language of my workshop: cut lines in red, engrave lines in blue dashes, score lines in green dots, registration marks in the corners, and a bed grid that warms up under your cursor.

Built. Hand-written HTML, CSS and JavaScript. No framework, no tracker, no cookie banner because there are no cookies. The monogram was re-vectorised from my original construction drawing and animates as a toolpath.

Status. You are reading the case study from inside the case study.

AI analysis

Stack
Three hand-written files. ~26 KB HTML, ~0.28 s to first byte, zero dependencies, zero cookies, ten-year asset caching.
Motion
The monogram draws itself as a single toolhead sequence — ring, glyph, cut line — and every animation pauses off-screen and disappears under reduced-motion preferences.
Design system
The laser-bed metaphor is load-bearing: the red/blue/green line coding maps to the three services, so the visual language and the offer are the same diagram.
Access
Keyboard-first: skip link, focus states, ARIA on every control, honest fallbacks without JavaScript.
Verdict
A portfolio that is its own case study. Every claim on the page is demonstrated by the page.