An Android app that tracks screen time and enforces the limits you set — app limits, schedules, a Shorts/Reels blocker and a smart alarm.
- Kotlin
- Jetpack Compose
- Room
- WorkManager
- UsageStatsManager
- AccessibilityService
- JUnit
I'm Vidan, a final-year software engineering student at the School of Computing (RAF) in Belgrade. Most of my work is Android apps and backend services, and I've also written a compiler and changed an operating system kernel to understand what sits underneath them.
Every project sits on the layer of the stack it lives in. Bold ones are written up below.
Apps people touch
Servers, APIs, real-time
Processing, storage, reports
Parsing and interpreting code
Inside the operating system
An Android app that tracks screen time and enforces the limits you set — app limits, schedules, a Shorts/Reels blocker and a smart alarm.
A full-stack simulation of a cloud platform for provisioning, controlling and scheduling virtual machines, with a hand-built security layer.
Three extensions to the xv6 teaching kernel in C — shell history in the console driver, symbolic links in the file system, and named shared memory between processes.
A small statically typed language with a full pipeline — ANTLR parser, AST, type checker, bytecode generator and a stack-based virtual machine.
A three-minute 1v1 mobile game where two players with the same budget bid on athletes to build the stronger starting five.
I like problems where the details matter: a state machine that has to stay consistent when the network drops, a day boundary that breaks statistics, a page table that two processes share. I try to keep the core logic plain and testable and push the framework code to the edges.
I also tutor C, C++, Java and C#, which keeps me honest about explaining why code works, not only that it does. Outside of code I follow the banking sector and train boxing and table tennis.
I'm looking for a graduate or junior role. The fastest way to reach me:
Belgrade, Serbia