KOLŠEK

Ljubljana, Slovenia · Faculty of Mechanical Engineering, University of Ljubljana

David
Kolšek

MSc Mechanical Engineering · Composite additive manufacturing and digital fabrication.

Doctoral researcher at the Faculty of Mechanical Engineering in Ljubljana. I work on long-discontinuous-fibre composites for FFF printing, make functional parts on CNC and conventional machines, and write the software that connects those processes.

Available for freelance work: design, prototyping, device development.

Design

  • CAD
  • GD&T
  • FEM
  • LaTeX
  • Illustrator

Fabrication

  • CNC milling
  • Turning
  • CO2 laser
  • FFF
  • Resin
  • LDF

Electronics

  • PCB
  • ESP32
  • Seeed XIAO
  • Raspberry Pi
  • C++

Software

  • Python
  • JavaScript
  • TypeScript
  • G-code
  • OpenCV
  • Three.js
  • WebXR

01Workshop

I repair and remake functional parts. A broken part becomes a CAD model, then it is machined or printed.

01

Making metal and plastic parts by CNC milling

From stock and my own CAD model I make custom parts that fit exactly: repairs, replacement parts and one-off tooling. The work is done on a CNC milling machine.

02

Making adapters and modifications by conventional turning and milling

From stock and my own drawings I make handles, spigots, adapters and modifications to existing parts. The work is done on a manual lathe and milling machine.

03

Making prototypes and finished pieces by FDM and resin 3D printing

From a 3D model I print prototypes, game parts, test specimens and finished pieces. On an FDM printer from standard PLA to carbon-fibre composite feedstock, on a resin printer for fine detail.

04

Making vessels by clay and paste extrusion

From a parametric description of the shape I generate G-code with my own generator, not a slicer, and print it on a Delta WASP 40100.

05

Making game boards, enclosures and engravings by CO2 laser cutting and engraving

From a vector file I cut and engrave wood, plywood and acrylic: game boards, enclosures, engraved QR codes and one-off pieces. On a CO2 laser.

06

Designing and building electronics with custom printed circuit boards

From the requirements of a device I make the PCB, firmware and sensing. Examples: the synthesiser's capacitive keyboard and the yacht vision system, on Seeed XIAO and Raspberry Pi boards.

07

Making parametric CAD 3D computer models

From a measured part, a sketch or a set of requirements I make parametric models, assemblies and technical drawings. Modelled for the manufacturing process, not just for a render, in CAD software.

08

Making vector graphics for laser and print

From a sketch or an idea I draw board-game illustration, logos, labels and instructions in Illustrator. The file is both the drawing and the machine file for the laser or the printer.

02Projects

Web tools, hardware and embedded systems. Every web tool is publicly available and can be opened.

Web tools

ClaySlicer

G-code generator

Parametric G-code generator for clay extrusion on a Delta WASP 40100.

Capabilities

  • Builds vessels from stacked cross-sections, with no intermediate slicer
  • Textures: weave, twist, ripple
  • Toolpath preview before the print starts
  • Tested profiles for one machine

Limits

  • Written for a single machine profile (Delta WASP 40100)
  • Repository is private

Stack

  • Vanilla JavaScript
  • Canvas
  • Python

gcode.pages.devPrivate repository

Filament compound calculator

Research tool

Computes composite filament recipes from chopped fibre and a compatibiliser.

Capabilities

  • PLA, PA6 and PC matrices
  • Chopped carbon or glass fibre
  • SEBS-g-MAH compatibiliser
  • Converts between mass and volume fractions
  • Scales a recipe to the capacity of the compounder

Stack

  • Vanilla JavaScript

ldfcalc.pages.devSource

Vibe coding — a practical guide

Guide

Eighteen chapters on building software with language models, in Slovenian and English.

Capabilities

  • Choosing a model and the working loop
  • Common mistakes and how to spot them
  • Publishing and handling sensitive data
  • Bilingual: SL and EN

Limits

  • Repository is private

Stack

  • Static HTML

vibecodeguide.pages.devPrivate repository

From salary to wealth

Educational portal

Costs, taxes and investment routes for a Slovenian investor, with a source behind each number.

Capabilities

  • A cited source behind each number
  • Rates are computed in the browser on each visit
  • The page stays static and still current

Limits

  • Educational material, not financial advice
  • Repository is private

Stack

  • Static HTML
  • Vanilla JavaScript

financnisvetovalnik.pages.devPrivate repository

TileGroove

TileGroove

prototype

Tangible instrument

Printed tiles on a glass surface are read by a phone camera and play loops in time.

Capabilities

  • Reads ArUco markers from a phone camera
  • Plays loops in time
  • Printed calibration sheet included
  • Original samples released under CC0

Limits

  • Needs a camera and even lighting

Stack

  • OpenCV
  • ArUco
  • Tone.js
  • WebRTC

tilegroove.pages.devPrivate repository

ScalePrint AR

Augmented reality

Shows an STL file at true size on your desk before the print starts.

Capabilities

  • Displays an STL at 1:1 scale
  • Check the size before committing to a long print
  • Runs in the browser, nothing to install

Limits

  • Needs a device with WebXR support

Stack

  • WebXR
  • Three.js

view3d.pages.devPrivate repository

Board Game Rules

Rules archive

Rules for 24 board games in Slovenian and English, with original diagrams.

Capabilities

  • 24 games, bilingual
  • Original SVG diagrams
  • Each game I build carries a QR code to its page

Limits

  • Repository is private

Stack

  • Static HTML
  • SVG

boardgamerules.pages.devPrivate repository

Nightona US&A

Nightona US&A

prototype

3D game

An arcade racer in the browser with a procedurally generated track.

Capabilities

  • Procedural track geometry and corner banking
  • Procedural opponents
  • Runs in the browser with nothing to install

Limits

  • Repository is private

Stack

  • Three.js

nightona.pages.devPrivate repository

What's Up Ljubljana

Automated pipeline

A daily bilingual bulletin for visitors to the city, published with no manual step.

Capabilities

  • A Python pipeline collects events and weather
  • Publishes daily with no manual step
  • Output is a static bilingual page

Limits

  • Depends on external data sources

Stack

  • Python
  • Static HTML

ljubljana.pages.devPrivate repository

DK Lab

DK Lab

maintained

Tool collection

A catalogue of small web tools and experiments.

Capabilities

  • Sensor kit, chess over WebRTC, language utilities
  • Each tool is a standalone static page

Limits

  • Experiments, not maintained products

Stack

  • Static HTML
  • Vanilla JavaScript

claudeartifacts.pages.devPrivate repository

Kviz Most

Kviz Most

maintained

Multiplayer quiz

A Slovenian multiplayer pub quiz that runs from static files.

Capabilities

  • Multiplayer
  • The whole quiz runs from static files
  • Hosting costs nothing

Limits

  • Repository is private

Stack

  • Static HTML
  • Vanilla JavaScript

triviador.pages.devPrivate repository

Hardware and embedded systems

ESP32 logger

in use

Data acquisition

A battery-powered temperature and humidity logger with its own web dashboard.

Capabilities

  • One record is 8 bytes; CSV is produced only on export
  • The board sleeps, wakes on interval, writes, and sleeps again
  • Dashboard runs on the board's own access point
  • Firmware measures its own clock drift during sleep and corrects it at every sync, so the data has no gaps or overlaps
  • Measures when the attached power bank cuts out and adapts its load pulse accordingly

Limits

  • Repository is private

Stack

  • ESP32
  • Embedded C++

Private repository

XIANO

prototype

Hardware synthesiser

A synthesiser with a capacitive keyboard on a custom PCB, built around a Seeed XIAO.

Capabilities

  • Custom PCB with a capacitive keyboard
  • Custom firmware
  • Fabricated enclosure
  • Complete small-scale electromechanical product development

Limits

  • Repository is private

Stack

  • Seeed XIAO
  • PCB
  • Embedded C++

Private repository

Marine Aid

prototype

Computer vision

An obstacle alarm for an 11-metre sailing yacht, using a single forward camera.

Capabilities

  • Sea segmentation from a single camera
  • Obstacle tracking
  • Risk estimate in the image plane
  • Audible alarm

Limits

  • A daylight aid; it does not replace a lookout
  • One camera, no radar and no AIS

Stack

  • Raspberry Pi
  • Python
  • OpenCV

Source

03Research

Doctoral study in mechanical engineering, University of Ljubljana, 2025–2028

Can long-discontinuous-fibre (LDF) composites be printed on affordable FFF equipment, without being tied to proprietary continuous-fibre systems?

Scope of work

  • Fibre preparation and wet sieving
  • Filament compounding
  • Extrusion through large nozzles (1.0–1.5 mm)
  • Critical fibre length models
  • Mechanical testing

Rationale

The feedstock for this route — matrix pellets and chopped fibre — is substantially cheaper than bought composite filament. With raw material cost no longer the constraint, larger test series become possible.

Basis of comparison: cost per kilogram of feedstock (matrix pellets and chopped fibre, laboratory purchase) against the price of commercial carbon-fibre filament at retail quantity, 2026 prices. The range depends on supplier, quantity and fibre type; methodology and sources are part of the doctoral work.

Research
Programmedoctoral, mechanical engineering
Period2025–2028
ProcessLDF-FFF
MaterialCF/PLA
Fibre fraction5–20 wt.%
Nozzle1.0–1.5 mm

04Commercial projects

Projects made for others. Detailed documentation is available behind a password.

Measurement device · 2024

Beehive scale

A device for monitoring hive mass. Design, sensor selection and fabrication.

Exhibition piece · 2026

Lunar hammer replica

A replica of the Apollo mission hammer for an exhibition piece.

Art installation · 2025

Robotic arm

A moving arm for an art installation: mechanics, drive, control electronics and installation.

Art installation · 2025

Mechanism design for an installation

From the artist's idea to a mechanism that survives the exhibition run.

05Contact

Write to me about fabrication, device development or research collaboration.

dk11573@student.uni-lj.si