Ahmad Soliman, Developer in Barcelona, Spain

Ahmad Soliman

Web Developer

Location
Barcelona, Spain
Toptal Member Since
November 6, 2019

Starting as a Google intern, Ahmad has been leading the development of B2B services and admin web apps since 2015. On projects, he typically makes the architectural decisions about state management, framework selection, testing strategies, folder structure, team load and task allocation, and mentoring junior developers. Ahmad also has built shared UI components libraries, reusable CSS code, higher-order components, and best practices for scalable and maintainable codebases.

Ahmad is available for hire
Hire Ahmad

Portfolio

Cloud5 Technology
C#, .NET Core, Jest, NGXS, CSS, HTML, TypeScript, Angular, JavaScript...
TRIM Agency
GitLab, Kubernetes, Python, Prisma, Yoga, GraphQL, TypeScript, Angular...
bLAnk Company
Mobile Apps, Gulp, Firebase Hosting, CSS, HTML, AngularJS, JavaScript

Location

Barcelona, Spain

Availability

Full-time

Preferred Environment

Webpack, NPM, Visual Studio Code (VS Code), Arch Linux

The most amazing...

...project I’ve developed is an eCommerce build-your-own-online-store web application called GoyaSites, within a startup that I co-founded.

Work Experience

2017 - 2023

Senior Front-end Developer

Cloud5 Technology
  • Developed an app that manages each client's assets through a platform allowing employees to access asset information, reserve the asset, or create and respond to a job request needed for asset maintenance.
  • Led a team of three through two different projects by assigning tasks and reviewing code, designing, and architecting Angular apps.
  • Held workshops to improve the level of testing using a state management library like NGXS.
  • Built an Angular component framework that exports many basic components, such as dynamic layout components and a complex search-header module that allows several searching modes through tables of data for all of our projects.
  • Designed and coded an Angular skeleton repository that can serve as a starting point for new projects. It ships with folder structure, basic modules structure, HTTP services, interceptors, user authorization, routing, guards, NGXS, and Jest.
  • Implemented an online tutoring/consultancy web application using .NET Core Razor Pages. Using Agora video call API, a video conference call was implemented between clients and experts to join after the user book meeting and pay through PayPal.
  • Developed a tutoring platform where users book meetings with experts in any field and have a video call with them. Built with React, Next.js, TypeScript, MUI, Tailwind CSS, Agora for video calls, and PayPal for payments.
  • Deployed Next.js app on Azure using CI/CD pipelines.
Technologies: C#, .NET Core, Jest, NGXS, CSS, HTML, TypeScript, Angular, JavaScript, Agile Software Development, CSS5, HTML5, AngularJS, AngularUI, Angular Material, Material 2, Azure, Azure DevOps, DevOps, Pipelines, CI/CD Pipelines, TypeScript 3, .NET 6, Razor, Razor Pages, Web MVC, MVC Razor, React, Redux, Next.js, Tailwind CSS, MUI (Material UI), Front-end, Front-end Development, Web Development, Web UX
2019 - 2020

Senior Front-end Developer

TRIM Agency
  • Implemented multiple portal PWAs for creating a nutritional database. Set up the architecture and shared components and decided on frameworks and testing strategies. Decomposed modules into simple Asana tasks with clear and testable requirements.
  • Maintained a weekly delivery cycle within a team of 12 front- and back-end developers, designers, DevOps engineers, and a product owner, keeping up with daily standups, weekly sprints, deployments, sprint planning, code reviews, and task QA.
  • Mentored a junior front-end developer coming out of JavaScript code camp into Angular development with GraphQL API. Maintained regular one-to-one workshops, peer coding, code reviews, and teaching by example, learning a lot through the process myself.
  • Developed an Angular web app for creating a nutritional database by decomposing food ingredients text into simple ingredients with their nutritional data, along with an admin view for checking the progress and leaderboards of the team members.
  • Created a PWA Angular app for mobile devices to capture photos of branded foods sold in supermarkets and an internal team app to review the photos and convert their data to database entries.
  • Maintained a B2C Angular app that served as a nutritional guide and calorie calculator. Raised its performance noticeably by minimizing API hits and caching all unchanged data, decreasing the load on the API.
  • Deployed and maintained a CI/CD environment using GitLab pipelines, Helm charts, and Kubernetes to deploy three stages for each app on Google Kubernetes Engine (GKE), serving a secured deployment on three subdomains.
  • Joined a back-end team for a considerable database change and migrations to many microservices, including Python Flask apps, Prisma, and Yoga GraphQL APIs. Took architectural responsibility for which microservices should be removed or changed.
  • Migrated Python code to TypeScript that included an algorithm that parsed food ingredients text into an array of ingredients.
  • Designed and implemented an algorithm to sort an ingredients list as they appear in a long string, using the Levenshtein distance algorithm to do fuzzy string matching and its modified version to find a string in a text using approximate matching.
Technologies: GitLab, Kubernetes, Python, Prisma, Yoga, GraphQL, TypeScript, Angular, JavaScript, Algorithms, Web, Web UX, Web UI, TypeScript 3, HTML, HTML5, CSS, CSS5, DevOps, GitLab CI/CD, CI/CD Pipelines, Google Cloud, Dynamic Programming, Pattern Matching, Mentorship, Team Mentoring, Mentorship & Coaching, User Interface (UI), User Experience (UX), Testing, Jest, NGXS, NgRx, Asana, Angular CLI, Angular Material, Flask, REST, REST APIs, Microservices, PWA, Progressive Web Applications (PWA), Team Leadership, Remote Work, Remote Team Leadership, Web Development, Node.js
2016 - 2017

Senior Front-end Developer

bLAnk Company
  • Developed a single-page web app targeting mobile that features a 5-year plan tool for a startup bank. It considers all the user's financial aspects and decides which goals they can reach in the coming years.
  • Integrated Firebase to host the application since it didn't need a back end.
  • Enhanced the app with a chart (that I developed myself) that shows all the user's expenses, debt, and goals through the next five years.
Technologies: Mobile Apps, Gulp, Firebase Hosting, CSS, HTML, AngularJS, JavaScript
2015 - 2016

Senior Full-stack Developer | Co-founder

Goyasites
  • Developed eCommerce applications, like Shopify, allowing clients to create their online store by registering and entering all their products' information through our admin portal, then publishing their online store with a custom theme.
  • Designed and developed an optimized algorithm on the server that calculates a dynamic list of available tags for the user to filter the products according to the available and currently selected tags.
  • Participated in the architecture design of the back end and front end so that we could handle multiple store owners in a multiple-tenant database.
Technologies: Webpack, Gulp, Sass, CSS3, HTML5, AngularJS, Python, Django, JavaScript
2014 - 2014

Corporate Operations Engineer Intern

Google
  • Developed a Python webapp2 internal web application that lists all of Google's worldwide TechStop location information using multiple APIs.
  • Serviced TechStop (IT office) daily, offering technical support for Googlers.
  • Gave direct support for desktops/laptops, network access and maintenance, phone services, and video conferencing.
Technologies: CSS, HTML, webapp2, Python, Hardware, Networks

Experience

WiseCode

WiseCode is a nutritional PWA guide that helps users count their daily calories, create meals, and eat the leftovers. I joined and led a big team that developed this app along with several behind-the-scene apps and portals for collecting the nutritional database. I also worked on much of its front-end and back-end microservice pieces.

Zeemo Chat

https://zee-mo.com/
A .NET Core Razor Pages web app that connects clients with field experts through online video calls within the app using Agora's API. After a user book, a meeting is based on the expert's availability and payment through PayPal. Both join the meeting when it starts and have a video call to discuss anything the client needs to consult about. The video call also allows text chat, file sharing, and screen sharing.

Goyasites

https://goyasites.com/
I developed an eCommerce application, like Shopify, which allows clients to create their online store by registering online and entering all their product information through our admin portal. Also, they can choose a UI theme for their store, request a customized theme for their client's portal, and specify which features they require in their online store.

SmartAsset

https://www.smartasset.com.au
I developed a B2B service that allows a client to manage all his company's assets through a portal with different access levels for all their employees, filter through their assets, check in on them by location on the map, create/respond to job requests needed to be done on assets, and so on.

Bank Budgeting App

https://blankft-teaser-app.firebaseapp.com/
I created a youth-oriented bank budgeting tool, which was built as a single-page web app. We made the app to be mobile-friendly, and it features a five-year plan tool that takes into account all financial aspects of the client and decides which goals he can reach in the coming years through a chart.

Fuzzy String Matching in Practice

I designed and implemented an algorithm that could sort a list of ingredients according to their presence in a long string. It uses the Levenshtein distance dynamic programming algorithm to implement a fuzzy string matching as well as its modified version for finding a string in a long text using approximate matching.

Skills

Languages

C#, HTML5, CSS3, TypeScript, JavaScript, HTML, CSS, Sass, Python, Java, TypeScript 3, SCSS, CSS4, CSS2, GraphQL, SQL, C++, Haskell, Prolog, C, Ruby, Dart, Visual Basic .NET (VB.NET)

Frameworks

.NET Core, Angular, AngularJS, Angular Material, Razor Pages, Next.js, Tailwind CSS, Bootstrap, MUI (Material UI), Django, Jest, Razor, MVC Razor, .NET, Redux, Yoga, Flask, Express.js, webapp2, Ruby on Rails (RoR), Flutter, Django REST Framework, IdentityServer 4

Libraries/APIs

NgRx, React, Node.js, RxJS, jQuery, AngularUI, Material 2, jQuery UI, REST APIs, React Redux, jQuery DataTables, Flask-RESTful, Vue 2, Vue, Vuex

Tools

GitLab, GitLab CI/CD, Slack, Asana, Microsoft Teams, Angular CLI, Git, Visual Studio, NPM, GitHub, DataTables, Gulp, Webpack, Prisma, Helm, Google Kubernetes Engine (GKE), Mongoose, Agora

Paradigms

Azure DevOps, Testing, Unit Testing, Dynamic Programming, Responsive, Web Architecture, API Architecture, Agile Software Development, REST, Modular Design, DevOps, Prototype-based OOP, Microservices, CQRS

Platforms

Azure, Windows, Web, Visual Studio Code (VS Code), Linux, Arch Linux, Kubernetes, Amazon Web Services (AWS), Firebase, Docker, Google Cloud Platform (GCP)

Storage

JSON, Azure Cloud Services, MySQL, MongoDB, Google Cloud

Other

String-searching Algorithms, Code Review, Remote Work, Remote Team Leadership, NGXS, Web Development, Algorithms, Single-page Applications (SPA), Competitive Programming, Front-end Development, ACM Problem Solving, CSS5, CI/CD Pipelines, Web MVC, Web UI, PWA, Progressive Web Applications (PWA), Development, Websites, Web & Mobile Applications, Responsive UI, Responsive Web Apps, Responsiveness, CSS Frameworks, UI Frameworks, API Integration, Front-end, Front-end Architecture, HTTPS, Code Architecture, Sprints, Sprint Planning, Deployment, Web UX, Mentorship, Mentorship & Coaching, Team Mentoring, Team Leadership, OOP Designs, .NET 6, Pattern Matching, User Interface (UI), User Experience (UX), APIs, Full-stack, Full-stack Development, Scss-lint, Architecture, Leadership, Video Chat, Back-end, Axios, DNS, HTML5 Animations, Pipelines, Automated Deployment Scripts, QA Testing, Teams, Team Building, Cross-functional Team Leadership, Task Analysis, Project Estimation, Estimations, Firebase Hosting, Mobile Apps, Compilers, Networks, Embedded Systems, Cryptography, Cryptocurrency, Software Architecture, Chrome Extensions, Identity Server, Hardware, IT, Microsoft 365

Education

2010 - 2015

Bachelor of Science (BSc) Degree in Computer Science and Engineering

German University in Cairo - Cairo, Egypt

2008 - 2010

High School Diploma in IGCSE (International General Certificate of Secondary Education)

Saint Fatima International School - Cairo, Egypt