Ahmed's portfolio
Hi, I'm Ahmed Abuelgasim
My story
I'm a product-focused senior software engineer who delivers performant, accessible and feature-rich digital products. My expertise lies in the frontend, mainly using React, Angular and TypeScript, and I'm also confident working on the backend with Node.js and Python. I also have extensive experience building modular UI architectures, RESTful APIs and CI/CD pipelines.
I've worked on numerous cross-functional teams to tackle challenging problems across diverse, impactful projects, mainly for Google, with a high emphasis on UX, scalability and quality. I'm a naturally creative person who always brings a unique perspective to any project I work on. I also enjoy teaching what I've learned and have led numerous workshops, tutorials and presentations, and written numerous magazine articles and blog posts.
I previously worked as a Nanofabrication Process Engineer after completing a PhD in Electronic Engineering. Feeling unfulfilled in that career path, I taught myself coding and embarked on a new journey as a software engineer.

My skills
Libraries and Frameworks
React
Angular
Vue
Next.js
Express
Sass
Tailwind
Languages
JavaScript
TypeScript
Dart
GraphQL
CSS
HTML
Python
Testing
Cypress
React Testing Library
Jest
Vitest
GitHub Actions
GitLab CI/CD
Other
Node.js
MongoDB
Google Cloud
Firebase
Figma
My work
Keywords
Watchy
- angular
- typescript
- rxjs
- dexie
- jest
Watchy allows users to create lists of movies and TV shows. It uses TMDB's API to get movie and TV show details and saves the lists locally to indexedDB using Dexie.js so there's no need for user accounts or a back-end server.
Although the app is written in Angular, I configured it to run Jest unit tests instead of Jasmine as a personal preference.


Accessible Custom Elements (ACE)
- accessibility
- node.js
- typescript
- cypress
ACE is an open-source library of accessible UI components for assistive technology users. Components follow W3’s WAI-ARIA Authoring Practices and feature minimal, easily overridden styling, ensuring compatibility with any design system. The main goal of ACE is to enable developers to build beautiful, fully inclusive websites.
I led a team of developers and designers to create and build the library then drove it's adoption across high-impact Google and Potato products. Components were built using TypeScript, utilised a bespoke custom events API for programmatic control and event handling, and were tested extensively using Cypress.
I also implemented a dynamic documentation system using Node.js and CI/CD that renders components alongside their latest code and provides one-click copy, enabling side-by-side preview and seamless developer integration.


My publications
CSS Methodologies
- article
- CSS
Analysis of CSS methodologies, describing the most popular ones and explaining how they may be combined together.
A Comprehensive Guide to Using CSS Grid
- article
- CSS
In-depth guide into using CSS grid for creating responsive layouts.
Build a Dynamic Webpage Using CSS Grid
- CSS
- article
Tutorial on using CSS Grid to create shape-shifting layouts with a fallback for unsupportive browsers.
Develop and Deploy Sites with Gulp 4.0
- article
- gulp
Tutorial explaining how to set up a development environment with task-runner Gulp.
Quantity-specific CSS Styles and Layouts
- article
- CSS
Tutorial covering how to change styles and adapt layouts based on the quantity of elements using just pure CSS.
Custom WordPress Theme for Gutenberg Editor
- article
- wordpress
A guide for how to create a custom theme for the WordPress Gutenberg editor.
My journey
-
As part of the Web team, I am an integral contributor to an ongoing platform rebuild using React, Next.js, Apollo and GraphQL, handling real-time market and portfolio data on a high-traffic platform with over 7M users.
I introduced limit order trading, extending the existing trade flow stepper with a new view and form including validation for target price, amount and currency wallet selection. I also created a new route where users can view and manage open orders in a paginated infinite scroll table, grouped by type such as buy, sell, cancelled and executed, with actions to place orders, set price alerts or cancel.
I also worked on the introduction of real stock trading, owning updates to the Asset Detail Page to support the new asset class. This expanded the platform significantly from primarily crypto into a broader multi-asset product, driving increased usage, engagement and new revenue opportunities, with clear impact in rapid user adoption.
-
I converted user dashboard components from Dart to a React and TypeScript microfrontend architecture. I focused on improving performance, scalability and maintainability, while applying a new design system and significantly expanding test coverage using Jest and React Testing Library.
Previously, I played a key role in building and maintaining a React component library aligned with Workiva's UI standards. The library empowers internal and external builders to customise Workiva platform solutions using JSON configuration and create complex, tailored UI experiences with minimal coding required. As part of this work, I developed a Node.js templating system to automate schema and boilerplate code generation for new components. I also implemented extensive test coverage, localisation support and accessibility best practices.
-
I led key front-end development efforts on an Angular app that enables content creators to build customisable web storefronts to sell digital products to their fans. The app provides tools for community management, content promotion and engagement monitoring, as well as integrations with third party services, like Stripe, and internal services built in collaboration with YouTube and Google Web3 teams.
It also included a multifaceted admin dashboard, with analytics tools that provide deep insights into sales metrics, content performance and user engagement, delivered through a variety of dynamic and interactive data visualisations.
-
I was a core contributor on cross-functional teams working on multiple projects, almost exclusively for Google. I collaborated closely with UX and backend engineers to build accessible and performant user experiences through scalable, reusable and maintainable front-end architectures.
I also identified a recurring need to build accessibility features into new components, which led me to create ACE, an open-source library of customisable UI components fully accessible to assistive technology users. To facilitate easy adoption, I automated documentation updates using Node.js and CI/CD, enabling users to interact with the latest version of components while viewing the source code simultaneously. I led the project from concept to completion and supported adoption across multiple Google digital products and Potato’s website.
Another key achievement was architecting and leading the front-end development of an Angular app for Google Ads enabling clients to assess digital marketing maturity and receive tailored service recommendations. After a successful launch, it was expanded to support Google's News, Retail and Cloud teams. Over a two-year period, the project complexity grew significantly due to varying branding, design, assessment criteria, recommendations and other requirements across stakeholders.
As a member of the Accessibility Guild, I regularly conducted accessibility audits and implemented improvements that consistently achieved perfect Lighthouse scores. As part of the Quality Guild, I developed GitLab CI/CD templates to automate deployment to Google Cloud or Firebase, and to integrate Lighthouse testing directly into pipelines, helping minimise regressions.
I also investigated replacing AngularJS on two major Google projects ahead of its deprecation. I authored technical specification documents comparing alternatives and led the refactoring efforts, resulting in improved performance, security and long-term maintainability.
-
Apr 2016 - Oct 2017
Freelance Software Engineer
I created websites from layouts I designed using sketches, wire-framing and Photoshop. I developed the sites using HTML, CSS, SASS, Javascript & AngularJS, and created custom WordPress themes using PHP to allow for content management.
Although my freelance work was primarily for me to learn to code, I also learned a lot about how to collaborate with clients and guide them towards focusing on what they needed over what they wanted.
-
PhD, Electronic Engineering
University of SouthamptonFor my PhD I increased the resistivity of silicon through deep level doping compensation, acquiring excellent research and analytical skills in the process.
-
Master's degree, Electronic Engineering (First Class Honours)
University of SouthamptonAs part of my degree I studied software engineering, computer systems engineering & C programming, and used many low-level programming languages like VHDL, Verilog and Assembly.
-
A-Levels
Bilborough CollegeComputing: A
Further Math: A
Math: A
Electronics: A -
International GCSEs
Unity High SchoolPhysics: A*
Chemistry: A*
Biology: A*
English: A*
Computing: A
Additional Math: A
Math: A

