Curriculum vitae · JT Digital
Toni Kocjan Turk
Co-founder & Head of Marketing, Product Development and Engineering
iOS engineer for 10 years, now full-stack architect. Built 7+ compilers as a passion, from OOP to FP to ownership to bytecode, culminating in a published MSc thesis on a lazy functional language without garbage collection. Authored a novel random graph model (Expanding-Shrinking) that produces real-world network properties from pure merge/split dynamics, and a noise-augmentation technique for robust music identification using CNNs. Now leading engineering, product, and marketing at JT Digital, building type-safe developer tooling and production systems.

Education
Two theses, two compilers.
MSc Computer Science
University of Ljubljana, Faculty of Computer and Information Science
Thesis: Lazy Functional Programming Language Without Garbage Collector
BSc Computer Science
University of Ljubljana, Faculty of Computer and Information Science
Thesis: Atheris: Compiler for an Object-Oriented Programming Language
Experience
From shipped iOS apps to a studio of our own.
Co-Founder & Head of Marketing, Product Development and Engineering
Leading engineering, product development, and marketing. Building fluent-html, Everyframe, and 15+ client applications. Pioneering AI-assisted fullstack development with Claude Code.
iOS Engineer
Shipped production iOS apps for Facelift, Noble Stay, and AXS VIP. Built PromiseKit, a monadic async library with Haskell-inspired operators, used by 50K daily users.
Teaching Assistant
Three semesters teaching at the Faculty of Computer and Information Science: assistant for Compilers and Virtual Machines, and tutor for Functional Programming across two semesters.
iOS Intern
Student internship on the iOS team, building Triglav Škode, Triglav Zdravje, and iTriglav.
Technical skills
Languages, domains, foundations.
Projects
23 projects, six disciplines.
Compilers, graphics, machine learning, systems, and tooling. Every claim below links to the real thing.
Compilers & Language Engineering
7+ compilers across Java, Swift, C, Zig, Mojo, and TypeScript: from OOP to FP to ownership to bytecode to DSLs.
Blang (Bitis) View →
Lazy functional language with compile-time ownership and borrowing instead of garbage collection.
Novel PL contribution: first lazy functional language using ownership/borrowing instead of GC, introducing self-borrows for cyclic data structures (graphs, infinite streams).
Atheris View →
Complete compiler for a Swift-like OOP language with vtables and polymorphic dispatch.
Designed and implemented from scratch: ~120 Java source files, 8,000+ lines.
SML-to-Racket View →
Source-to-source compiler with lambda calculus IR and Church-encoded algebraic datatypes.
Dual-target compiler with direct Racket emission and a lambda calculus IR featuring Church-encoded booleans, tuples, and algebraic datatypes.
PINS Compiler Course View →
8 progressive compiler assignments from lexer to interpreter for 100+ university students.
A complete 8-assignment course from lexical analysis to a working interpreter, growing from 12 to 73 source files incrementally.
clox View →
Single-pass bytecode compiler and stack-based VM in pure C with Pratt parsing.
From source text to executing VM with no AST intermediate representation.
Mojo Crafting Interpreters View →
Bytecode VM with mark-and-sweep GC in Mojo using compile-time parametric structs.
One of very few public garbage-collected language runtimes in Modular's systems language.
Graphics & Simulation
Real-time rendering, ray tracing, physics simulation, and game AI.
Monte Carlo Path Tracer + Spline Engine View →
Physically-based renderer with importance sampling and a functorial spline animation system.
Implements the rendering equation with importance sampling, Russian roulette termination, explicit direct light sampling via solid-angle cone sampling, and three BxDF models (Lambertian, specular with Fresnel, Oren-Nayar rough diffuse).
3D Rendering Engine with Shadow Mapping View →
Custom OpenGL engine comparing four shadow mapping algorithms with runtime switching.
Default, PCF, VSM with Gaussian blur, and CSM with per-cascade resolution, all in a single engine.
Tossing Balls View →
High school graduation project: a 2D physics puzzle game with Box2D integration and data-driven level loading.
Built at age 17 : a complete 2D physics game engine from scratch with a custom entity system, polymorphic animation framework, and XML level loading.
Pac-Man View →
Arcade-faithful clone with per-ghost personality AI and A* pathfinding.
Per-ghost personality targeting (direct pursuit, 4-tile ambush, vector-doubling flanking, distance-threshold retreat), faithful to the original arcade's documented behavior.
Level Designer View →
Companion level editor for the Tossing Balls engine.
Machine Learning & Data
Neural networks, 37M-node graph engineering, and numerical computing.
Music Classification with Deep Learning View →
IEEE-format research paper with novel noise-augmentation for robust music identification.
Trains for real-world degradation rather than clean-sample accuracy.
Expanding-Shrinking Network Model View →
A novel random graph model combining growth and shrinkage dynamics to produce networks with real-world properties.
At each step, either merge two random nodes (shrink) or split a random node inheriting all edges (expand), controlled by a single α parameter.
SwifyPy Numerical Mathematics Library View →
Protocol-oriented numerical computing in Swift with BLAS-accelerated matrix operations.
Six matrix types sharing a MatrixProtocol interface with compile-time BLAS dispatch through protocol witness tables.
Systems & Production Software
Type-safe frameworks, production libraries, and systems programming.
PromiseKit View →
Production Promise library built from algebraic first principles, shipped to ~50K DAU across multiple iOS apps.
map derives from flatMap, reduce from fold, and operators match Haskell's typeclass precedence hierarchy.
fluent-html View →
Zero-dependency, type-safe HTML builder for TypeScript with compile-time Tailwind CSS and HTMX safety.
A mixin architecture using TypeScript declaration merging + prototype assignment splits a 1,100-line Tag class into focused modules with zero API changes.
Everyframe View →
Multi-runtime video AI engine: one typed Rust pipeline compiles across FFmpeg, ONNX Runtime, and OpenCV.
Phantom-typed streams make feeding audio into a video filter a compile-time error ; the graph lowers to FFmpeg args, ONNX tensor configs, and OpenCV params, driving 30+ vision models across detection, segmentation, pose, depth, OCR, and redaction.
projects-template
Scaffolding monorepo that generates production TypeScript apps from a single interactive wizard.
Around 30 optional feature modules and three database engines live in one annotated source tree: inline block markers let the generator strip whatever you did not choose, instead of parallel forks that silently drift.
Algorithm Competitions
Two 1st places and one 2nd/3rd place across three timed MSc algorithm competitions.
Competition Highlights View →
Timed MSc algorithm competitions in heuristic search, optimization, and computational geometry.
1st place , Progressive Chess: A* converted to greedy best-first (g=0), Zobrist hashing with incremental XOR, composable per-piece heuristic dispatch, pawn promotion pruning.
SAT Solver View →
Boolean satisfiability framework reducing NP-complete problems to SAT via a generic Expression<T> free algebra.
Expression<T> as a generic, functor-equipped recursive data type: the free Boolean algebra pattern later reused in Everyframe's filter-graph AST.
Developer Tooling
CLI parsers, linting tools, and code generators.
ArgPar View →
Annotation-driven CLI argument parser.
LintLokalization View →
Localization linting for Swift projects.
Swift Code Generators View →
AST-based code generation tooling for Swift.
Work with Toni
The compiler does the complaining.
The same rigor behind these 23 projects goes into every JT Digital engagement: type-safe tooling, production systems, and software you can click before you sign.