About Me
I am a Computer Engineer who loves thinking about solutions for daily problems, especially computer ones. I have been experienced many fields in the computer world, such as software development, robotics and hardware design. My main focus is software development, specifically in the Android framework, but I have an open attitude about involving in other aspects of computer fields. Because having multi-dimensional thinking helps to overcome the problems more straightforward and in a reasonable time.
My personality type is INTJ, I’m eager to learn new things, and I have the spirit of working with small teams or alone.
Education
B.S. in Computer Enginnering
Shahid Beheshti University
2015 - 2020
- Ranked within the top 6 universities in Iran according to The World University Ranking 2020
- Thesis: “Implementation of Efficient Subgraph Matching Harmonizing Dynamic Programming, Adaptive matching order, and Failing set together (DAF, see paper ) algorithm in Apache Spark” supervised by Dr. Hasan Haghighi
Diploma in Mathematics and Physics discipline
Shahid Beheshti Highschool (Sampad)
2011 - 2015
- Affiliated with the National Organization for the Development of Exceptional Talents (NODET)
Experience
- In this position, I was responsible for designing and implementing Android applications for the e-commerce business. I was a member of a team that included developers, designers, project managers, and business managers.
- We launched two Android applications; Hamoon and Eways. I helped the company reach a real solution for its b2b android app, and it is ready for release. Also, I helped the team to finish the Hamoon app that satisfies business demands completely.
- In this position, I was responsible for maintaining and developing Android applications for the company’s business partners. I was a memeber of a team that included developers, project managers, and business managers, but my main interactions were back-end developers and DB manager.
- The first two months were internship, and I completed my first industry project in this period. I helped the company finish two remain and incomplete projects.
Projects
Eways Android Application
Tehran Internet's project
2019 - 2020
Eways is an Android application that helps small businesses from all around Iran access the newest electronic gadgets and their accessories and online services at the lowest price.
- As a development team member, I was responsible for design application architecture, developing, and maintaining the app.
- This app uses the MVVM architecture, Google architecture components, Dagger for dependency injection, RxJava and Coroutine for threading, and other newest methods and technologies. The development languages were Java and Kotlin together. Also, we had unit and integration tests to make bugs minimum before release.
- One of the most significant challenges we faced during the whole process was the complication of architecture design because of having different version types and the number.
Here are some screenshots of this application:
Hamoon Android Application
Tehran Internet's project
2018 - 2019
Hamoon (780) is an Android application that provides online services like buying Sim-card charges or internet packages, helping charities, etc.
- As a development team member, I was responsible for developing and maintaining the app.
- This application uses quite different architecture in comparison with other ones. We have developed a core with separate services (micro-services) in different layers . We have a customized XML parser to implement new rules. Also, all UI pages can be controlled over a simple back-end operator and without any new release, and users can see changes immediately without any app update.
- Java is the primary language used in this app, and all UI elements are designed and implemented from scratch.
Here are some screenshots of this application:
Mobile @Work Robot
National Work Skills
2016
This is an @work robot that can be helpful in storehouses, and we build it for Iran’s national work skills competition. It can detect objects by their barcode color and then catch the item, even if it is moving, and then transfer to a dedicated place. A 4-member team handled this project, and my responsibilities were programming for both software and hardware and syncing electronic devices with software core. We used C++ as the primary programming language, OpenCV for image processing, Arduino for processing sensors data, and other technologies that can be found in the below video. This video is just a brief of functionality and a test scenario.
Mobile @Work Robot
International Work Skills selection stage
2017
This robot is a newer version of the previous one. We update the front arm, and now it can hold a billiard ball too. Also, we added a human-like arm in the back, and it’s useful when we want to catch objects without a pallet. Writing the control unit program for the new arm was challenging because of its weight and cinematic. We updated image processing functionality, and now it can detect numbers and different kinds of barcodes. The below video shows a test for detecting barcodes, colors and numbers and new arm functionality.
A Little More About Me
I enjoy searching in other people’s codes, hiking, traveling, hanging around with friends, analyzing political events, listening to music and etc. 😊
Here are some photos of my travels :)