- Computer Science master student at Louvain School of Engineering
- Cybersecurity and Software Engineering specialization
 
 - Passionate about Software Engineering, Logic of programs, Discrete Mathematics, and Advanced Computer theories.
 
- 
- Terminal-based program for local password management. Features password filter search, password generator, and uses hashing and encryption for security.
 - Roadmap: 
▰▰▰▰▰▰▰▰▰▰ 100% 
 - 
- Android app that allows you to manage passwords and notes locally. Features shareable vaults, password generator, ... .
 - Built on 
FlutterandDart. - Roadmap: 
▰▰▰▰▰▰▰▰▱▱ 80% 
 - 
- A fully working website using 
NodeJS. The website allows you to rent and lease goods, add comments, and report users. - Features a fully working moderation model with specific pages to moderate reported ads and comments.
 - Roadmap: 
▰▰▰▰▰▰▰▰▰▰ 100% 
 - A fully working website using 
 - 
- Note-taking app with pin-on-screen function, progress bar, and basic note-taking app functions.
 - Utilized 
PySide6and the power of inheritance. - Roadmap: 
▰▰▰▰▰▰▰▰▰▰ 100% 
 - 
- Simple resources displayer built in the terminal.
 - Displays CPU load, RAM usage, and battery percentage.
 - Roadmap: 
▰▰▰▱▱▱▱▱▱▱ 30% 
 - 
Many school projects, including:
- C-Multi-Threading: Implementation of mutex, semaphores; applied them to famous problems like the Philosophers' problem, Lecter-Writer, and Producer-Consumer.
 - C-Memory-Manager: Implementation of malloc and free with a fragmentation visualizer.
 - Twit-Oz: Uses 
n-gramsto predict the next word in a sequence of words with a Chat-GPT-like interface. - PacMoz: A PacMan game created using Oz and 
functional programming. 
 
- University
 - Ongoing development on multiple school and personal projects
 - Personally following training on JS, HTML/CSS, Advanced Python, Python QT, Java, C, ...
 
declare 
proc {Partition L X L1 L2}
	case L 
		of H|T then
			if H<X then 
				M1 in
					L1=H|M1 
					{Partition T X M1 L2}
			else /* H≥X */ 
				M2 in
					L2=H|M2 {Partition T X L1 M2}
			end
		[] nil then 
			L1=nil 
			L2=nil
	end
end
declare
fun lazy {LAppend L1 L2}
	case L1 
		of H|T then 
	  		H|{LAppend T L2}
		[] nil then 
	  		L2 
	end
end
declare
fun lazy {LQuicksort L}
	case L 
		of X|M then 
			L1 L2 S1 S2 in
				{Partition M X L1 L2}
				S1={LQuicksort L1}
				S2={LQuicksort L2}
				{LAppend S1 X|S2}
		[] nil then 
			nil
	end
end
declare X in 
X = {LQuicksort 2|3|1|5|7|nil}
{Browse X}		% >> _	~> I am lazy 
{Browse X.1}	% >> 1	~> Ok but just the first one then

