nikola@novi-sad: ~/portfoliosr|en

nikola@novi-sad:~$ whoami

Nikola Vlačić, information technologies student

nikola@novi-sad:~$ ls

README.mdprojects/cv.jsoncv.pdfcontact.sh

nikola@novi-sad:~$

README.md

# About

> Faculty of Sciences, Novi Sad, fourth year · Novi Sad, Serbia

I study information technologies at the Faculty of Sciences in Novi Sad and I'm in my fourth year. Outside of classes I build my own apps, mostly for web and desktop.

## What I work with

I write my own projects in TypeScript and React (Next.js, Expo, Electron). At university we work in Java and Spring Boot.

## Right now

I'm working on Rezzo (0.1.0) and Košarkaški iks-oks (0.19.0).

## Other

I follow football and basketball, I'm curious about AI and I like to travel.

projects/

$ ls -l projects/

  • 2026rezzo.mdA desktop app for cutting vertical clips out of podcasts and talk shows.
  • 2026iks-oks.mdTic-tac-toe with EuroLeague players.
  • 2026elfantasy.mdA private helper for EuroLeague Fantasy.
  • 2026evidlab.mdTracking chemicals and lab supplies.
  • 2026Bakini receptiA family app for keeping and finding recipes. [React, Convex, Clerk]
  • 2026Travel ItinerariesA social network about travel, a university project. [Java, Spring Boot]
  • 2025Football Club Management System ↗Football club management, a course project with a UML model. [Java, JavaFX, SQLite]
  • 2022NScore ↗Live football scores, made while I was in high school. [HTML, CSS, JavaScript, REST API]

projects/rezzo.md

# Rezzo

> A desktop app for cutting vertical clips out of podcasts and talk shows.

I post podcast clips on social media, and the work is the same every time: find an interesting moment, crop a wide shot down to 9:16, keep whoever is talking in frame, add captions. The apps that handle this well either stamp a watermark on the video or put the useful parts behind a monthly subscription. Rezzo does the same job for free, and every feature is in the free version because there is no other version. It's made for Serbian shows first, since that's what I work with.

stack: Electron React TypeScript FFmpeg whisper.cpp MediaPipe WebGL

kind: Desktop app, open source, 2026

status: v0.1.0 · Windows

link: github.com/dzonyv/rezzo // Source on GitHub

more: projects/rezzo.md →

The Rezzo editor: two people in a split frame, captions between them and the timeline below
// A clip in the editor. Frames are from Tears of Steel, (CC) Blender Foundation | mango.blender.org.

projects/iks-oks.md

# Košarkaški iks-oks

> Tic-tac-toe with EuroLeague players.

The board is 3×3 and every square has two criteria (club, nationality, position, title, era). To take a square you type in a player who meets both. You play with a friend through a link or on one device, with a timer and rematches. There is also a daily board, the same for everyone, that you solve on your own. I made the promo video in Remotion, and the match and colours in it come from the app itself.

stack: Expo React Native Web TypeScript Supabase Cloudflare Pages Remotion

kind: Web game, PWA, 2026

status: prototype · v0.19.0

link: kosarkaski-iks-oks.pages.dev // Play

more: projects/iks-oks.md →

// Promo video, 24 seconds, no sound.

projects/elfantasy.md

# elFantasy

> A private helper for EuroLeague Fantasy.

I made it to see player stats, index by position against a team, injuries and prices in one place.

stack: Next.js Convex Clerk TypeScript shadcn/ui

kind: Web app, private, 2026

status: v0.3.2

link: el-fantasy-nine.vercel.app/sign-in // Open (invite only)

more: projects/elfantasy.md →

projects/evidlab.md

# EvidLab

> Tracking chemicals and lab supplies.

A team project from university. We built it for a department at the Faculty of Sciences, following Scrum practices, to replace the records they kept in Excel. In the spreadsheet names were duplicated, nobody could tell how much of anything was really in stock, expiry dates were missed, and anyone could change the numbers without leaving a trace. That also made it hard to plan what to order. The app has an AI assistant and voice input too, but it works without them.

stack: React TypeScript Spring Boot PostgreSQL Docker

kind: Team project, web app, 2026

status: Faculty of Sciences · Scrum

more: projects/evidlab.md →

EvidLab inventory overview: number of chemicals and variants, warnings and recent activity
// Inventory overview, with demo data.
{
"education": [
{
"years": "2023-",
"school": "Faculty of Sciences, University of Novi Sad",
"program": "Information Technologies"
},
{
"years": "2019-2023",
"school": "Gymnasium “Jovan Jovanović Zmaj”, Novi Sad",
"program": "Students with special abilities in computer science and informatics"
}
],
"skills": {
"programming languages": ["Java", "TypeScript", "JavaScript", "C#", "C", "Python", "PHP", "SQL"],
"web and apps": ["React", "Next.js", "Expo", "Electron", "Spring Boot", "Astro"],
"data": ["PostgreSQL", "SQLite", "Supabase", "Convex"],
"tools": ["Git", "Docker", "Remotion"]
},
"certificates": [
{
"year": "2023",
"title": "Participation in the “Mathematical Youth Podium” conference, Spring Festival of Mathematics"
},
{
"year": "2022",
"title": "First Certificate in English (B2), Cambridge Assessment English"
},
{
"year": "2019",
"title": "Introduction to Structured Programming (C), Center for Young Talents Foundation"
},
{
"year": "2017",
"title": "Scratch Junior course, Vojvodina ICT Cluster"
}
],
"languages": {
"serbian": "native",
"english": "B2",
"german": "basic"
}
}

contact.sh

#!/bin/sh

# Get in touch

mail nikolavlacic04@gmail.com

open github.com/dzonyv