I'm a lifelong learner driven by curiosity and a passion for exploring diverse subjects. My journey spans various fields, and I’ve developed a strong intuition by diving into practical essentials and uncovering the unique nuances of multiple programming languages. I thrive on challenges, especially those requiring niche knowledge, like tinkering with Gradle to build APKs for Android 2.1 Froyo (API level 7 from 2010). I value both breadth and depth, never settling for boredom and always pushing the boundaries of what I can learn and achieve.
Code challenges written by me
Sieve of Applications
An app designed to help me categorize and review many applications and find the best ones.
Technologies: Kotlin, Android, SQLite, Kotlin Flows, MVVM architecture
- Developed an application that allows users to rate and categorize mobile apps, storing results in a structured database.
- Made use of Kotlin Flows and tried functional approach for efficient data handling and state management.
- Gained hands-on experience in low-level Bluetooth communication and advanced Android database operations.
- Designed to solve the challenge of managing a large number of apps after I installed over 1400 and I struggled with that.
Despite encountering hardware limitations (I exceeded upper limit of apps and was forced to hard reset), which resulted in the loss of significant data, I am still eager to continue this project.
rsa-calculator
To share my passion for asymmetric encryption, I developed an interactive RSA calculator guiding users through generating RSA public and private keys step-by-step.
Key technologies: JavaScript, Rust, WebAssembly
- Designed with user-friendly features like a one-click “yes” button for fully automated key generation.
- Integrated BigInt support, enabling theoretical key generation of any bit length.
- Built a benchmarking tool to test the efficiency of the key generation algorithm.
- Added SSH and PGP key format outputs, making the calculator useful across various applications.
- Enhanced performance by offloading core calculations to Rust with WebAssembly, letting users toggle between JavaScript and WebAssembly modes to see performance differences in real time.
Pikne Zadania
repo Wiki (endpoints, exercise format)
Interactive platform for students to input and solve physics tasks with on-server answer checking
Key technologies: Deno (TypeScript), Docker, Docker Compose, MongoDB, JWT
My role:
- Designed the complete REST API.
- Led the backend team, assigning tasks and ensuring smooth project flow.
- Set up and integrated the backend and frontend within Docker containers using Docker Compose.
- Managed a testing environment within containers for efficient development.
- Implemented JWT-based authorization and managed MongoDB databases for student-specific data.
- Enabled real-time quiz creation by teachers, with random data for students and class/group segmentation.
pilka-nozna.8lo.pl
A custom PHP 5 website for managing school football tournaments, featuring a photo gallery, announcements system, and match management (scheduling, score recording, table generation).
Key technologies: PHP 5, MariaDB, Apache, Bash
- Refactored legacy code, implemented a custom PHP framework, and fixed numerous bugs.
- Redesigned the database structure in MariaDB, improving performance and scalability.
- Introduced Apache redirects and automated server setup with Bash scripts.
- Enhanced the photo gallery, optimizing its speed and efficiency.
9x9
Game rules Communication protocol Backend code Mobile app code Website code
Multi-Player WebSocket Game - Tic-Tac-Toe on Nine Boards
We developed a multi-player game inspired by Tic-tac-toe, played on nine boards simultaneously. The game allows players to join without registration and operates via a client-server communication protocol using WebSockets.
Key Technologies: Python (asyncio), Bash, WebSockets, Kotlin (mobile), HTML/CSS/JS (web)
My role:
- Project management: Led and coordinated the entire development process across three repositories (server, mobile app, and website).
- Communication protocol: Designed and iteratively improved the client-server protocol over WebSockets, ensuring real-time interactions and seamless gameplay across all platforms.
- Backend development: Built the game server in Python using asyncio, enabling efficient handling of multiple players concurrently.
- Automation: Wrote Bash scripts to automate the server installation as a service.