Projects

Experience

Skills

Adham Zahran

adhamzahranfms@gmail.com

A software engineer. A jack of all trades, master of none.

In this website, I will tell you all about my not-so-amazing skills.

Professional Projects

Salem

Jan 2019 - Apr 2023

Associated with RDI

This project required extensive coordination, technical expertise, and dedication to ensure its success.

In a project led by Amr Elgamal, I had the honor of playing both the roles of a project manager and an engineer. The project aimed to teach kids the Arabic letters, their forms, and pronunciations with different diacritics (Fatha, Damma, and Kasra), in addition to teaching the recitation of Al-Fateha.

As a project manager, I led the research and development of the backend while coordinating the entire project. My engineering role included C++ development, Python (Flask), and cloud engineering on Google Cloud Platform.

Responsibilities included:

Skills:

Databases . MySQL . Technical Leadership . Project Management . Hands-on Technical Leadership . C++

Sotoor, Kateb, Natiq and Tashkeel

Apr 2017 - Jun 2019

Associated with RDI

I worked as a systems engineer developing the C++ engines behind the AI suite of RDI: Sotoor, Kateb, Natiq and Tashkeel. OCR, ASR, TTS and Automatic diacratization of Arabic respectively.

The engines do feature extraction, feed forward, language model rescoring. They also interoperate with other languages to be usable by backend servers like java, python and C#

My responsibilities included:

Sotoor

Kateb

Natiq

Tashkeel

Skills:

C++ . Multithreading . Inter-process Communication . Interop . Memory Management . Server Programming . Network Programming . Cross-Compiling . CMake . Unit Testing . Continuous Integration (CI) . Continuous Integration and Continuous Delivery (CI/CD) . Parsing . Architectural Design . Project Management . Team Leadership . Technical Leadership

Hand-drawn Animation Autocomplete

Dec 2016 - Apr 2017

Associated with Ain Shams University

Our work is based on a paper by Jun Xing et. al. Called Autocomplete Painting Repetitions Which detects the patterns in the artists strokes and tries to predict the upcoming strokes accordingly. Here's a video by the original authors of a working prototype that shows the capabilities of the Autocomplete Painting Repetitions.

There is another paper by the same author called Autocomplete Hand-drawn Animations Which takes the pattern detection to be across frames.
Here's a video for the Autocomplete Hand-drawn Animations.

https://github.com/opentoonz/opentoonz/pull/1350

Skills:

Computer Graphics . C++ . CMake

Side Projects (The cool projects)

Ugly UI

Apr 2024 - Present

I attempted to re-create Qt's QML from scratch using C

https://gitlab.com/lordadamson/ugly_ui

Skills:

Parsing . QML . Lexical Analysis . C (Programming Language)

Gollash

Aug 2023 - Dec 2023

A visual shell language, and a pipe multiplexer. The idea is to visually create nodes and connect them together. So you connect stdin, stdout and stderr visually. Unlike text you are not limited to pipe to only one process.

https://gitlab.com/lordadamson/golash

Skills:

Inter-process Communication . Qt . Qt Creator . IPC . Unix Pipeline . QML . C++

Bile Manager

Jun 2021 - Sep 2023

A file manager. The UI is programmed from scratch using HTML5 canvas. The backend is a go server.

https://gitlab.com/lordadamson/bilemanager

Skills:

Cascading Style Sheets (CSS) . Web Servers . JavaScript . HTML5 Canvas . Graphical User Interface (GUI) . HTML . Go (Programming Language)

Habit Tracker

Jun 2021 - Aug 2023

I created a habit tracker inspired by github's contribution chart to track the good habits I want to gain, and the bad habits I want to lose :D

https://gitlab.com/lordadamson/habit_tracker

Skills:

SQLite . Databases . Cascading Style Sheets (CSS) . JavaScript . Scalable Vector Graphics (SVG) . HTML . PHP

Bath Tracer

Mar 2023 - Apr 2023

A simple path tracer that I made following the ray tracer in one weekend book: https://raytracing.github.io/books/RayTracingInOneWeekend.html

https://gitlab.com/lordadamson/bath_tracer

Skills:

Computer Graphics . Ray Tracing . C (Programming Language)

Sneaky Malloc

Apr 2020 - Jul 2021

We intercept calls to malloc, write the data to disk, so that it can later be visualized. This is a seed for a memory profiler. It produces visuals that are very cool.

https://gitlab.com/lordadamson/sneakymalloc

Skills:

Profiler . Ffmpeg . C (Programming Language) . Visualization

Terrain Generation

May 2021 - May 2021

Terrain generation using open simplex in Unity3D

https://gitlab.com/lordadamson/unity-terrian-generation

Skills:

C# . Simplex Algorithm . 3D Graphics

Journal QML

Jul 2020 - Jul 2020

A note taking application inspired by OneNote. Implemented using Qt C++ and QML.

https://gitlab.com/lordadamson/journal_qml

Skills:

Qt . Qt Creator . QML . C++

The Internet Canvas

Mar 2020 - Apr 2020

A canvas on the browser where people can go type and draw stuff, and it would synchronize in real time.

Server is written in C, implements web sockets.
Client is javascript on the browser, uses the HTML5 canvas.

https://gitlab.com/lordadamson/the_internet_canvas

Skills:

Realtime Programming . WebSocket . JavaScript . HTML . HTML5 Canvas . C (Programming Language)

vworld

Jan 2020 - Jan 2020

It's a chat client and server using Godot RPC

Does some funny animations like /sad /happy and others. They're inspired by "1 hour 1 life" game

https://gitlab.com/lordadamson/vworld

Skills:

Remote Procedure Call (RPC) . Godot . GDScript

Digit Recognition

Sep 2018 - Sep 2018

An implementation to a very simple neural network in C++ for learning purposes.

Recognizes images of numbers by training on the MNIST dataset.

https://gitlab.com/lordadamson/digit_recognition

Skills:

Neural Networks . C++

Journal

Mar 2017 - Sep 2018

A note taking application that is heavily inspired by OneNote.

https://gitlab.com/lordadamson/Journal

Skills:

Qt . Qt Creator . C++ . Object-Oriented Programming (OOP)

std::tuple and tie() implementation

Jul 2018 - Sep 2018

Implementation of std::tuple and tie() for learning purposes.

https://gitlab.com/lordadamson/implementations_of_cpp_stuff

Skills:

Template Metaprogramming . C++17 . C++14 . C++ . C++11

Notix

Mar 2018 - Mar 2018

A simple sticky notes app built with Qt Quick

https://gitlab.com/lordadamson/Notix

Skills:

Qt . QML . C++ . Qt Creator

QuickCD

Oct 2017 - Oct 2017

Bookmark locations that you visit frequently in your terminal!

https://gitlab.com/lordadamson/QuickCD

Skills:

Bash

php framework

Feb 2017 - Mar 2017

I Created an php MVC framework from scratch inspired by Laravel

https://gitlab.com/lordadamson/phpblog

Skills:

Model-View-Controller (MVC) . Databases . composer . MySQL . MariaDB . PHP

Al Ma7faza - Allowance Calculator

Feb 2017 - Feb 2017

Associated with Ain Shams University

An Android Application that helps you manage your money.
The idea is quite simple. You tell it how much money you have and for how long is that money supposed to keep you alive. It divides the money over the number of days to give you a daily allowance. Every time you spend money, you let it know and every time you get money. It gonna recalculate your daily allowance everyday.

https://github.com/Open-Source-Community/AllowanceCalculator

Skills:

Java . Android

groupsNmessages

Feb 2017 - Feb 2017

Communicate with your team in Facebook-like groups and messages without being distracted by Facebook.

Created using Laravel.

https://gitlab.com/lordadamson/groupsNmessages

Skills:

Model-View-Controller (MVC) . Databases . PHP . Laravel

Heat Flow Simulator

Jan 2017 - Jan 2017

Associated with Ain Shams University

This is a simple heat flow simulator that I had done back in university.

Done using Qt widgets.

https://gitlab.com/lordadamson/visualization-heat_flow

Skills:

Qt . Qt Creator . C++ . Visualization . Computer Simulations

Strategy Game

Feb 2016 - Jan 2017

Very basic strategy game using Godot engine

https://gitlab.com/lordadamson/strategy_game

Skills:

GDScript . Godot

FCIS Operating Systems Course Improved Development Environment

Feb 2016 - Mar 2016

Associated with Ain Shams University

The Operating Systems course in my faculty was being taught on a 10-year-old PCLinuxOS virtual machine, because the build system just didn't support newer toolchains.

So I hacked the system and made it possible to develop the system on modern OS without a virtual machine. The TAs graciously included my name in a thank you note, that is included to this day in the course material.

https://gitlab.com/lordadamson/FOS-improved-development-environment

Skills:

Problem Solving

Om 3ala2

Jan 2016 - Feb 2016

It's a game about a little boy who literally has a little chick head. When he got home he stepped on the just-cleaned rug with his dirty shoes. Now the rug is dirty and he's in so much trouble. His mother -who is a woman with a chicken head- now keeps chasing him around the roofs of buildings trying to catch him while he collects coins to buy eggs. Controls: just use the arrow keys space to jump c to crouch Don't forget to collects the coins and have fun :))

https://gitlab.com/lordadamson/7dayGame

Skills:

Computer Graphics . Godot . GDScript . 3D Graphics

CCCSync

Sep 2015 - Oct 2015

An alternative to Dropbox that uses a git and cronjobs to synchronize files. Zeneti is used for the UI.

https://gitlab.com/lordadamson/CCCSync

Skills:

Bash

latexCalculator

Jun 2015 - Aug 2015

This is a calculator that formats mathematical expressions in the way you would normally write them down with pen and paper.
So instead of having to type lame stuff like:
((2+33)/114)\*sqrt(25) You would elegantly type it in and it would look like the attached screenshot

https://gitlab.com/lordadamson/latexCalculator

Skills:

Cascading Style Sheets (CSS) . Parsing . JavaScript . HTML

Open World Game

Dec 2013 - Jul 2015

A game with a boy walking around in an open world. still needs a story and a purpose.

Implemented in Java JMonkeyEngine

https://gitlab.com/lordadamson/OpenWorldGame

Skills:

Java . 3D Graphics