About me

Ali Heydari in front of a laptop

Greetings, I'm Ali Heydari. I'm a front-end developer with a some experience in back-end development and DevOps. I build, maintain, and design websites and web applications. I've been coding for over 5 years and I'm always looking to learn new things.
I entered Chemical Engineering at the Sharif University of Technology on 2015. But I was always interested in coding and web development. So I changed my major to Computer Engineering at the Iran University of Science and Technology on 2016. I graduated on 2020 and started working as a front-end developer.
Besides coding, I also enjoy cooking and baking. I'm not really good at it, but I love to experiment with new recipes. I really like astronomy I think knowing about the universe and the stars is really cool and destroys ego.
I like to play video games and watch movies and TV shows. You can find my favorite movies and series onMovie tasteI'm almost always listening to music. When I'm code, drive, or the house chores. Also I like to listen to podcasts. You can find my favorite musics and podcasts onMusic tastepage. You can stalk what I'm listening or playing right now on the pagefooter. 😁

Skills

Experience

  1. Pragmidea LTD

    Front-end Developer

    Full-timeRemoteUnited Kingdom 🇬🇧Crypto

    Currently, I'm working on mostly crypto related projects. I have a chance to work with the latest technologies and learn a lot about the crypto world. Here are some of work I've done so far:

    • Maintained CRM, Referral dashboard, client/admin dashboard, and developed DApp for a cryptocurrency exchange
    • Developed Landing sites using Directues and NextJS with 90+ lighthouse score
    • Integrated Sentry with 15+ Front-end projects with readable stack trace by uploading and connecting sourcemaps on Sentry dashboard
    • Wrote modular OpenAPI specifications for existing API from network request and responses
    • Developed client TypeScript SDK generation with customized TypeScript parser, React Query and Zod as runtime validation
    • Improved code quality by applying more ESLint rules
    • Integrated code metric tools such as Code coverage and Type coverage
    • Wrote Unit tests and Storybooks for react components and end-to-end test using Cypress based on Page Object pattern
    ReactTypescriptNextJSGraphQLTailwind CSSStorybookJestTesting LibraryCypressDocker
  2. Lions Digital Solutions

    Front-end Developer

    Full-timeRemoteCanada 🇨🇦E-commerce

    It was my first remote job experience. We worked on a statistic dashboard for Amazon sellers called ClearSight. It works with the Amazon API to fetch data, Scraping and display it in a nice way and help sellers make better decisions. I worked on the front-end part of the project such as landing page and dashboard using React, Ant design, and Typescript. Although the project discontinued, It was a great experience to work on it.

    ReactTypescriptGatsbyAnt DesignStyled ComponentsTailwind CSS
  3. Ertebat Farda Co.

    Full-stack Developer

    Full-timeIn siteIran 🇮🇷Fintech

    It was my first full-time job. I was working on a fintech company. Here are some of my works:

    • Migrated all of the company's repositories from TFS to GitLab
    • Developed web APIs for internal and external usages with DotNet stack
    • Wrote preferment multi-stage Dockerfiles for 10+ traditional and cross-platform DotNet projects using windows containers and linux containers
    • Integrated 10+ server-side applications with Sentry, Prometheus and ELK Stack, Ensuring optimal performance users.
    • Designed and Developed Multi target Nuget packages
    • Developed client DotNet SDK generation from Open API specification with NSwag
    • Optimized APIs with caching
    .Net Frameworkdotnet CoreReactTypescriptNextJSDockerGitLab CI/CD
  4. Iran's national elites foundation

    Software Engineer

    Part-timeRemoteIranHMS

    I had the opportunity to work on a project funded by Iran's National Elites Foundation, which was supervised by Prof. Behroozi and Prof. Soleymani. During this project, my responsibilities included:

    • Carrying out team coordination and work
    • Meeting with hospital, clinic, and laboratory managers for requirements engineering and data gathering.

    As part of the project, we developed a follow-up automation software that is used in the process of discharging patients. This software helps hospitals and clinics stay in touch with their patients and coordinate the next check-ups. Additionally, it provides patients with educational content. Currently, this system is being used by Sina hospital.

    ReactTypescriptNextJSGraphQLApolloDockerWorkboxMaterial-UIPostgreSQLGitLab CI/CD

Education and teaching

  1. Git masters workshop

    Erterbat Farda Co.

    GitWorkshop

    When I was Teacher assistant in University I needed to learn Git professionally. Not only for teaching to my students but also for verifiying their homeworks. My manager and CEO of Ertebat Farda Co. asked me to teach Git to our developers. I decided to teach them Git in a workshop. I prepared a workshop for them and I taught them Git in 8 sessions. I tried to teach them Git in practical way. I used Git in terminal and I taught them how to use Git in terminal.

    Course content is available in the Git Masters website.

  2. Iran University of Science and Technology

    Head Teacher assistant

    C#WPFGitAzure DevOps

    I had the privilege of being a Teaching Assistant (TA) for the Advanced Programming course, supervised by Prof. Sauleh Eetemadi. During my time as a TA, I had various responsibilities, including:

    • Managing and coordinating TAs, Code reviewers, and other course staff.
    • Designing, implementing, and documenting programming assignments. You can find the assignments, along with their documentation, here.
    • Conducting weekly practice classes and workshops on topics such as Git, Azure DevOps, clean code, and WPF.
    • Designing, implementing, documenting, and scoring programming exams. The exams, along with their corresponding answers, can be accessed here.

    For more information about the course, please visit the course home page.

  3. Iran University of Science and Technology

    Bachelor of Computer Engineering

    I started my bachelor degree in Computer Engineering at Iran University of Science and Technology in 2017. I only studied courses that I was interested in and I didn't take any courses that I didn't like. 🥴 That's why I didn't get a good GPA 🤫 but I learned a lot of things that I'm still using them in my career. Some of my paper homeworks are available on my GitHub

  4. Sharif University Of Technology

    Bachelor of Chemical Engineering

    On 2016, I accepted to Sharif University of Technology. I was studying Chemical Engineering. After one year, I felt that I am not interested in this field. However, I learned a lot of things in this year, found a lot of friends, I decided to change my field to Computer Engineering.

Let's talk