Development time: 6 months - 2 years
I've spent little bit over a year programming EngiSafe, mainly in cooperation with Ing. Martin Ledvinka, Ph.D., who led the technical development of this project for a long time, before I joined, while working for AKAENE Partners. I learned basically everything I know about React and much more while developing this project. What I really enjoyed were our weekly syncs, where we would discuss future development, available solutions for problems we were working on and much more from the world of programming. Overall, I really enjoyed the collaboration, and am thankful that I was given an opportunity like this. PS: the login page is not fully done yet, but the portal looks good in my opinion
Another long-term project and once again for internal usage, but this one's special! Ok, now, close your eyes, and let your imagination off the hook. You have a company that functions since 1953. They have a legacy app (created in the 90s) that needs total rewrite from the ground up. This legacy app contains data since 1970s stored in dBase (before dBase it was excel, and before that paper, but somebody has already done that migration in 1998). You have around a year to migrate the data to MSSQL, create the new app and add new features. Welcome to my situation! I really enjoyed this rewrite, as it was unique and highly rewarding (even tho I'm usually against rewrites).
Lunch Ordering and Management System
This program consists of 5 parts. A desktop application, that allows you to order lunches locally. Another desktop application that makes it easy to receive your food by using RFID chip associated with your name. A mobile app that allows you to order lunches from the comfort of your home. A web management system that allows HR people to manage lunches, export payroll deductions (subsidies included) and block some people from ordering lunches. Lastly, an automated task that runs twice per day and sends emails with orders for next day/week to company that's supplying the food.
Multi-Device Monitor and Control System
I developed a program to control a factory with two parts: a desktop app to set up, manage and control IOT devices, and a website to generate graphs and analysis. The app turns devices on/off based on settings, such as heating the factory before workers arrive, locking doors in the evening and adjusting temperature in different rooms. The desktop app manages and website analyzes data from 21 temperature sensors, 5 humidity sensors and 33 I/O modules placed across the factory at VPSR. I published first version in early 2021, the program runs there to this day.
Development time: 1 month - 6 months
KeyXpert is an app for remapping keyboard keys and shortcuts on Windows. It's just a side project I was working on to learn more about win32 API and try out Tauri before using it on a larger project. I've decided, to split the project into two executables, for performance reasons. The first one is a mapper service, which starts after boot and only handles the mapping itself. Second one is the UI written in Tauri that manages the settings which the mapper service consumes. Btw, yes, you can do this with Microsoft PowerToys, however, PowerToys is a whole suite of tools. KeyXpert is optimized to do only one task and that's remapping keys and keyboard shortcuts (less CPU and RAM usage than PowerToys). Feel free to check it out and test it out!
Personal website tomasdiblik.cz
It might not look like it, but this website took me some time to develop! Code-wise it took me about 2 weeks to make the UI, and code in all the functionality. However, you also have to consider all of the work around as development time, such as: Figma designs, writing content (took probably 75% of the time in total), minifying images, editing photos, creating a logo, etc... I didn't want to use any kind of new fancy/shiny JS framework just to show off, as it would be a total overkill. SSG HTML & CSS & a little bit of JS, is more than enought for this. All things considered, I'm very happy with the final result.
Main Gate ALPR
I really like playing around / fine-tuning existing AI's into my projects. To be honest, I tried developing AI's multiple times, and it's just (currently) not for me. This project is an example of me playing around with multiple AI's, mashing (and fine-tuning) them together and creating something that helps gatekeepers at VPSR. This program repeatedly checks Main Gate camera, tries to find a car, and if it finds a car, it detects its licence plate and sends it right to the gatekeepers (picture + text). It achieves this with fine-tuned yolov8 and tesseract. It was a really interesting project, and needless to say, it was a fun 2023 summer break!
This web app is designed to help technicians test out different variables while preparing tanks without the need to manually calculate multiple hard calculations, ensuring that they know everything important about each tank. Because this software simplifies a lot of calculations, and shows it clearlly in it's UI, it significantlly reduces the chance of human error, saves technicians time, and ensures accurate tank preparation. I would never be able to finish this program without the help from Mgr. Hana Sádovská. She helped me, and straight up came up with some of the calculations used! I'll be forever thankful!
Robot-Assisted Laser Plate Processing
Believe it or not, but this was my first real programming project - January 2020. I've written it in Python, because the robotic arm used provided a nice simple Python API. This project has been the initial spark for my programming passion! I have spent 2 months perfecting this project (back then, I've never spent that much time on anything except games) and even tho it's a simple python program I'm really proud of it to this day.
Development time: 1 day - 1 month
Naive Network Scanner
I started this project to build a penetration testing tool, even though I lacked experience in the field. As I developed it (and expanded my pen-testing skills), I realized that what I was building, wasn't going to help while penetration testing, at all. So, I decided to reshape this into solely a naive network scanning tool and keep it as is :D In the end, I archived it with the following features working: Fetching Hostnames, IP Range Scans (Range / CIDR / Manual input), Port Scans (Range / Common Ports / Manual input), Adding & Removing Devices, Visualizing connectivity, and overall decently looking UI.
While browsing the internet one day, I came across iptoasn.com. This prompted two questions in my mind: "Who owns how many IPs?" and "How many IPs are not yet routed?". Curious to find out, I decided to investigate. The results surprised me because I had assumed that a larger percentage of IPv6 addresses would still be un-routed. However, I discovered that both IPv4 and IPv6 addresses had a similar percentage of un-routed IPs. Feel free to check it out and/or use the provided API. Since this was more of a "research" projet, I didn't really care about the UI (and the result shows), so please, don't criticize me for that :D. Feel free to check it out and/or use the provided API
IR Signal Cloner
One day, while playing with Arduino, I found two (to me at that time) unknown diodes in my drawer. At first, I didn't know what they were for. After some research, I realized that they were an IR receiver and an IR transmitter. After playing around with them for a while, an idea struck me: Would it be possible to combine them to create a device that captures and repeats the IR signals? After one sleepless night, I had a functioning device that I tested on countless number of IR based devices (tv remotes, projector remotes, light remotes, etc) ...and it worked every time! Here's how I did it, and how YOU can make something similar at home.
VSCode number peeker
While playing around with bit manipulations, I always had to get the number I wanted to manipulate, convert it online to hex / binary / decimal representation, and then, finally, I could perform the desired manipulation in my head or on a piece of paper. This process was tedious and annoying, so I created this extension. Now, all I have to do is hover over the number I want, and voila! I can see a helpful representation of the number and I can get into thinking about the bit manipulations right away. This extension skips the tedious process of converting the desired number using some random online sites and embeds it right into VS Code.
Game of Nim TUI
After developing the Tower of Hanoi TUI, I've wanted to try out developing another game using the ratatui library, since I liked the experience a lot. Another school assignment came around and I knew that that's what I wanted to do. This time, I had an assignment to make The game of Nim . The game of Nim is a mathematical strategy game in which two players take turns removing objects (matches in my case) from distinct heaps (rows in my case). Even though I archived it, I'm not the biggest fan of the grid layout. I feel like I could make it 10 times better, if I wanted to invest more time in it, however since it's a small one-day for-fun project, I don't really care that much.
Tower Of Hanoi TUI
I haven't made TUI for a while at that time, and since I was planning to make a larger TUI project, I wanted to create something simple, just to get back "into-it". Also, I got it as a school assignment. At the core of it, it's nothing THAT interesting, just standard implementation of the Tower Of Hanoi Game in TUI using ratatui (the tui-rs-revival project). I've made TUIs using Rust in the past using tui-rs, however, I wanted to try out ratatui. Spoiler alert, it's literally tui-rs but actively maintained :D (at least atm). And what exactly is Tower Of Hanoi? The Tower of Hanoi is a math puzzle with 3 sticks and differently-sized disks. Starting with ascendingly stacked disks on one stick, the goal is to move the entire stack to another stick.
Program for checking active PCs on network periodically using DNS names or IP addresses. Picture yourself in the role of an IT administrator. You want/need to know which computers are turned on during the night. Then, this program is the solution for you! You just set it up on some server, add IP(s) or domain names of PCs, SMTP server and you're done. Every night, PCs will get periodically pinged and you'll receive report about their status throughout the night to your mailbox in the morning. This program has been developted privatelly for private usage in VPSR, however it has been decided to release the source code (which I'm really thankful for). All relevant info is inside the project's README.
Strava.cz bruteforce default login
One day, my friend noticed that when you get a strava.cz account, intentionally or not, username and password are the same - at least at the place we got our accounts from. Also, account's username is a number that goes up gradually - again, at least at the place we got our accounts from. We wondered how many people did not change their default passwords (being same as given username). This tool is a proof of concept .... or .... This is what happens when I get bored on saturdays .... ba dum tss (I am 100% aware that was a really lame joke)
RouteMapper is a social network that enables you to document and vote on broken spots on the roads. This whole idea and app were created in +-6 hours by Me, Michal Vaniš, Daniel Beneš and Jan Skládal. My second hackathon, and we actually won it! If it were to become real, the idea was, that people will document and upvote broken spots on the road. We would then match this with region's own datasets of road status, road usage frequency and road repair frequency resulting in algorithmically selected recommendations of roads to fix.
Medifinder is an app that helps you find a doctor in your area, based on symptoms you describe. This whole idea and app was created in 24 hours by Me, Vojtěch Volf, Michal Vaniš and Daniel Beneš. We came in 2nd place, which is fine, but it's not first :D At first, the app sounded like a good idea, however after the hackathon ended, we thought about it a little bit more and we decided to abandon the project. Mainly because some of the judges, who we thought could help us with a large scale implementation, didn't think it had a lot of potential.
Space is awesome website!
As unbelievable as it may sound, I've been programming webpages without ever touching CSS from April 2020 until December 2021! I have been making internal programs, so bootstrap was always more than enough. In January 2022 I decided that enough was enough and I needed to learn CSS. At school, I had a week-long project assignment, and I challenged myself to do it in 2 days. This is what came out. The site is not that pretty and has some known bugs, but I've learned a lot while developing it. Since then, my css abilities have grown exponentially!