Avatar

Hi, 👋
I'm Mehmet Ümit Özden

Profile

Software developer who has enthusiasm for open source software. Primarily utilizing Go and Linux in his work. Enjoys automating and optimizing repetitive tasks. Likes to design and develop systems to make things efficient. Fast and ambitious learner who pays close attention to detail in his work. Self motivated, a team player with cooperative attitude. Takes initiative to solve problems. Denotes a strong determination to fulfill his goals, always willing to go one step further and enjoys getting his hands dirty when it comes to deeply understanding technologies.

Projects

Dexus

 Cloud native URL shortener that provides dynamic extensibility based on needs.

- Developed using Go, Go-Chi, Docker, Bash, Make, GoReleaser, GolangCI.

- Hexagonal architecture and SOLID design principles used for extensibility and maintainability.

- CI/CD pipeline implemented through Github Actions.

- Testing integrated into both the development environment and the CI process.

- Implemented multi stage docker image build to optimize image size and minimize attack surface.

- REST server implemented with go-chi library.

- Implemented graceful shutdown with signal handling.

- Caching implemented as an adapter and used in caching middleware.

Bowl Chat

 Cloud based distributed chat application which aims to data privacy and protection.

- Developed as a final year project.

- Developed using NodeJS, Socket.IO, MongoDB, Electron, VueJS, tailwindcss, SQLite3, bash, Docker, Nginx.

- Electron used to create desktop application with web technologies and store data effectively within nodes.

- Deployment pipeline implemented using shell scripting to deploy backend service to the Dockerized test environment.

- Authentication, end-to-end encrypted messaging, group chat, and contact chat features implemented.

- Nginx reverse proxy used to forward requests to docker services to prevent exposing redundant ports.

VitaBrowser

 Convenient and fast browser based on a web view, primarily developed for Android TV.

- Downloaded more than 4,000 times

- Android web view used for rendering web pages.

- Voice search feature implemented.

- Developed pointer acceleration to provide a fluid experience for users.

- Designed fast and easy to use user interface.

- Inspired from struggling with watch live TV content on Android TV.

LoRa Communication Network

 Especially after disasters, problems are experienced in wireless communication processes depending on the density. Usually, this communication is based on client-server architecture. In this architecture, when a problem occurs on the server, communication will be interrupted. In this case, there is a need for a form of communication to be used without a server. The goal of this project is by using free bandwidth frequency provide long range distributed communication environment.

- Serial communication achieved through the UART device.

- RF modules used for wireless communication.

- Asymmetric Encryption used to achieve encrypted communication.

- The checksum method developed to check data loss.

k380-swap-keys

 Convenient way to swap upper fn keys on Logitech K380 Bluetooth keyboard.

- Udev rules are used to automatically swap keys on reconnections.

- Developed using bash scripting.

Colpick

 Developed a Linux tool using shell scripting that allows users to pick color on mouse position.

- Integrated configuration option for allowing users to adapt their workflow.

- Bitmap screenshot and mouse position used to get pixel color codes.

- Notifier, hex to RGB conversions and clipboard features implemented.

CHIP-8

CHIP-8 emulator written in Go

- Developed with Go and Go-SDL2

Color Image Segmentation

 Color Image Segmentation Using Kruskal's MST Algorithm And Graph Cuts

Vehicle Sales And Service Automation

 Software developed through the Python Tkinter library to be used for sales of new vehicles and service tracking.

- Custom window pipeline developed.

- OOP design principles used.

- Implemented hash functions to authenticate users.

DymPaint

 Paint application for daily usage that provides to users various tools.

- Developed with Java Swing.

auto_ssh_gen

 Platform independently generates an asymmetric encryption key pair, adds the private key to the authentication agent and copies the public key to the clipboard.

RectHockey

 Air hockey game against computer.

- Python Pygame library used.

- Developed collision detection and hockey puck acceleration from scratch.

js_snake

 Snake game on HTML canvas.

- Implemented the queue data type to give movement effect to the snake.

js_hopper

 Game like flappy bird on HTML canvas.