Projects

Personal projects I've built to explore new technologies and ideas

Featured Projects

Klox

A tree-walk interpreter built with Kotlin, following Crafting Interpreters as a guide

In this project, I implemented a tree-walk interpreter with all its building blocks, from scanning tokens to generating an AST and executing it at runtime. The language features OOP, functions, closures, and of course variables, arithmetic expressions, and control flows.

KotlinRecursive Descent parsing algorithm

Clox

A bytecode compiler and virtual machine written in C

In this project, I implemented a compiler that scans tokens and generates bytecode instructions, which the VM then executes. Compared to Klox, this language features garbage collection, a stack-based VM, and heap allocation. It's well-tested using Criterion for C.

Cmemory-managementPratt parsing algorithm

Linkupp

Friend matching mobile app (Tinder-like, but for making friends)

In this project, I customized my own Kotlin stack. I used Spring Boot with Exposed ORM instead of JPA for better performance and native Kotlin support. Kotest as the main testing library instead of JUnit, because of its beautiful DSL and Kotlin-first design. Applied DDD with functional core, imperative shell, a domain layer composed of immutable types and pure functions. React Native for the mobile app.

KotlinSpring BootExposed ORMLiquibaseKotestFPDDDReact NativeTypeScript

CS. Cleanup Services

Cleanup services website for a client in Germany

Built with Next.js to showcase CS Cleanup Services, a cleaning company based in Germany.

Next.jsresendtailwind

Open Source & GitHub

View all on GitHub →