Hi, my name is Kamil

Typing SVG

About Me

Profile Image

I'm a Computer Science Student at the Maritime University of Szczecin.

I'm passionate about software development and AI realated tools. Now I'm diving deep into Machine Learning and Data Science.

Contact with me

Projects

Handwritten numbers recognition

Simple recognition of handwritten numbers using the MNIST dataset. The project was created to learn the basics of machine learning and neural networks. The project build on tensorflow library.

Builded CNN model with 3 convolutional layers and 2 dense layers. The model was trained on 50,000 images and tested on 10,000 images. The model achieved an accuracy of 99%. After the training and testing phases, the program displays samples of incorrectly predicted images along with their labels.

Shooter

The project is still in development and is a more advanced shooter compared to my previous work. It is being built by a team of five people using Agile methodologies. This project has taught me valuable lessons about teamwork and how to effectively use Git in a collaborative environment.

My role in project

I was responsible for developing the shooting system, incorporating all the visual effects and game feel. Additionally, I managed the integration of code from other team members and resolved any conflicts that arose. Through this experience, I gained significant knowledge about Git and how to collaborate effectively within a team.

Zombie the game

This was my first project using the Unity engine. It was a simple shooter game where you have to survive as long as you can. Zombies come at you in waves, and their numbers increase over time to make survival more challenging.

What I have learned?

I have primarily learned how to use the Unity environment to build simple games. In this project, it was my first time when I aware used design pattern and adhering to C# naming conventions. I implemented the singleton pattern for the game manager.

OpenAI API Interface

Abandoned project. It was intended to offer a simple and user-friendly interface to the OpenAI API.

Project conception

The application aimed to support the OpenAI API for text models, audio models, and image models, all through a user-friendly interface. Additionally, it would to offer features such as token management, code syntax highlighting, custom prompt bindings, chat history, text-to-speech in real-time or from an MP3 file, image generation, image cropping, and generating new content in place of cropped images.

The project was realized as a holiday challange in tkinter library in Python.

Why abandoning the project?

When I started working on this project, the playground from OpenAI was not as developed as it is now. Code returned from prompts was not highlighted and it was hard to read. Also playground was not supporting audio and image models. It was many features that I want to used, but their was not implemented. So I decide to create my own interface with additional features.

After some time, OpenAI released new versions of the playground with many features that I wanted to implement in my project. Also I realized that I was spending more time on GUI programming than on other essential features. As a result, I decided to abandon my project.

Summary of project

Although I didn't finish the project, I learned a lot about software development. Working on this project learned me how to use custom libraries and read their code thoroughly for custom modifications. The breakthrough moment was when I figured out how to solve my problem and could help someone on GitHub issues section. At that moment, I felt that I could contribute to building someone else's software, which was very motivating.Additionally, I realized that using any API is not as difficult as it might seems, and I discovered how to build a GUI using the Tkinter Python library.

On the other hand, I used some design patterns, such as the Factory pattern, but at that time, they were not very clear to me. I applied them unconsciously back then. Additionally, my code was not as clean as it should have been. Since then, I have learned a lot about clean code practices and design patterns. My code wasn't divided into modules, making it difficult to read and modify. Now, I understand that I should separate the GUI from the logic using the MVC pattern.

Contact

kamilszot404@gmail.com