Projects
Introduction
This page contains a sample of my projects, but of course I didn’t place everything here, so if you want to check if I worked on certain type of projects or a specific technology, please reach out to me and ask.
As I mentioned in the about section, I am a programmer, and I also build hardware products and make 3D mechanical designs (mainly for 3D printing), the projects below are categorized based on that, so feel free to check the category that interests you the most.
Open source projects
1 - Accountability Telegram bot
A Telegram bot that will manage your daily tasks and send you messages regarding your progress.
You can use this bot to manage your daily tasks (adding new tasks, deleting tasks, marking tasks as done,..) and the bot will hold you accountable by sending you random messages during the day to inform you about your progress (progress ratio and percentage).
GitHub repository: https://github.com/HassanKanj/accountability-telegram-bot
And here’s a video demo (in Arabic) for this bot:
2 - Telegram notifications API
A simple API to send notifications/messages to your phone through a Telegram bot.
GitHub repository: https://github.com/HassanKanj/telegram-notification-api/
And here’s a video tutorial (in Arabic) on how to use the API:
3 - Random Task Picker (for Trello)
Have you ever felt hesitant/overwhelmed about which task to work on next that you ended up doing nothing!?
Well, I made this fun project that will pick a random task for you, and it may actually be helpful.
The idea is simple, it is a CLI tool that you link to your Trello account, then you can use it without the need to open Trello app, it will pick a random task for you, and it has a feature to move the last picked task to your ‘done’ list once it is finished.
GitHub repository: https://github.com/HassanKanj/random-task-picker
4 - Create an empty project with a remote repository
A CLI tool that will create a folder locally for your new project in addition to a private GitHub repository and link them together.
GitHub repository: https://github.com/HassanKanj/create-empty-project-with-remote-repo
Software/Websites projects
1 - YouTube videos monitoring system
This is a system I made to monitor my YouTube channels, mainly coder voice - صوت المبرمج and Kanj Workshop, the system will monitor the videos for these channels and peridocally send me notifications (through a Telegram bot) about the videos stats (e.g new likes, dislikes, views, comments), and it will also notify me when new users subscribed to my channels.
In this way, I have a near real-time monitoring system for my channels without the need to access YouTube analytics, and this will help me get some good insights about the videos.
Technically speaking, the app is built using NodeJS, MongoDB and I also made a telegram bot to receive the notifications, and I containerized the app using Docker, the app also benefits from the YouTube API to retreive the data.
2 - Rkein Motors (website)
This is a website I made for Rkein motors (under my own personal registered business Qualtech), Rkein Motors services include buying, selling, trading, providing bank loans with or without downpayment, and after sale service, they sell cars both locally and internationally.
here’s the website link: www.RkeinMotors.com
and below you can find some screenshots:
3 - TIMEBOX Beirut (website)
I worked on the frontend/backend programming of TIMEBOX Beirut website, and here’s more details about the project:
TIMEBOX Beirut is an urban trail of early 20th century 3D images on the streets of Beirut. Each TIMEBOX holds one archival stereograph at the location where it was originally taken 100 years ago. Passersby experience that same street a century back in 3D. TIMEBOX is latched on 10 different street poles across the city.
The box is a modern plexiglas stereoscope specially designed to mount on a street pole. It’s comprised of two superposed images that give a three-dimensional effect when viewed through the special lens.
Each TIMEBOX places the viewer’s point of view within the perspective of the original stereograph, instigating an instant visual juxtaposition between past and present – and possibly a glimpse into the future?
4 - Redline Motors Lebanon (website)
This is a website I made for Redline motors (under my own personal business Qualtech), Redline Motors Was Established In 2011 By Abe Elkodary In The Heart Of Lebanon. Abe Elkodary Took His Passion For The Motorcyle Industry And Began To Put It To Work.
5- coder voice (website)
coder voice (صوت المبرمج) is programming educational platform in Arabic that consists of a podcast (Audio/Video interviews) and video tutorials.
- coder voice Website: http://www.codervoice.com
6 - SCENE Beirut (website)
This is a website I worked on for SCENE Beirut (under my own personal registered business Qualtech), it was built using the Magento E-commerce system.
SCENE draws on Lebanon’s traditions and pop culture and the Levant’s and Mediterranean aesthetics with bold graphic lines and shapes that makes every item firmly contemporary.
SCENE breathes Beirut, it is where Celine Khairallah takes her daily inspiration. She launched SCENE end of 2011, with the desire to create tops and tshirts with a Beiruti flare in the print, yet away from the regular souvenir t-shirt, something she could not find around her.
SCENE expanded into design and interior products. As Celine found herself unable to find fabric with the kind of graphics she wanted, She created her first cushions and poufs collection in 2012.
In the same year, she also started making the first collection of SCENE Bags, keeping the same spirit of colorful fabric, hand printed in small editions with Lebanese and Arabic Calligraphy, making statement bags, of different sizes and for different uses.
Hardware projects
1- A remotely controlled logo with LEDs
This is one of my favorite projects since it involves programming, hardware design, PCB design and 3D printing.
This project You can control the LEDs (pattern, brightness,..) by connecting to the product using WiFi.
These are mainly what I used to build the project:
- FreeCAD (to transform the logo into a 3D model)
- DipTrace (to design the circuit board)
- CNC machine (to engrave the circuit board)
- ChiliPeppr - Hardware Fiddle (to visualize and send the G-code to the CNC)
- FlatCAM (to generate G-code from gerber files)
- 3D printer (to 3D print the logo and the enclosure)
- LED strips
- NodeMCU development board
- MicroPython (to program the firmware)
3D CAD design/3D printing
1 - External SSD case for the laptop
a custom case I designed so I can easily move my MacBook around with my 2 drives attached.
You can download the 3D files from this GitHub repository: https://github.com/HassanKanj/external-ssd-case-for-laptop
2 - Headphone holder
Here’s a custom headphone holder I designed that you can attach to your desk.
The gitHub repo contains the design that I used but I have also included the design file (FreeCAD file) so you can modify the dimensions to suit your needs.
GitHub repository: https://github.com/HassanKanj/headphone-holder
3 - Refrigerator bottle holder
We had a problem at home where water bottles weren’t stable in the refrigerator, so I designed and 3D printed this item which solved the issue! 3D printing is super awesome for such stuff!
You can download the STL file from this GitHub repository: https://github.com/HassanKanj/refrigerator-bottle-holder
4 - Phone holder for the keyboard
This is a 3D design I made in order to attach my phone to the Apple Wireless Keyboard (though it may work with other keyboards, but I didn’t test it).
in my case, I wanted to use the phone to execute macros on my MacBook (through a web app I am accessing from the phone), but you may use this holder for a different scenario.
The holder is actually divided into 2 parts, that can be be attached to they keyboard using a nut and a bolt for each part with a diameter of 3mm.
GitHub repository: https://github.com/HassanKanj/phone-holder-for-the-keyboard
5 - Cables holder
Here’s a custom cables holder I designed that you can attach to your desk.
This repo contains the design that I used but I have also included the design file (FreeCAD file) so you can modify the dimensions to suit your needs.
GitHub repository: https://github.com/HassanKanj/cables-holder