
Salah Alomari
Verified Expert in Engineering
Full-stack Web Developer
Amman, Amman Governorate, Jordan
Toptal member since November 13, 2021
Salah is a senior software engineer, architect, and tech lead with five years of experience designing and building scalable full-stack web systems using Python, Django, React, and Redux, hosted on cloud technologies like AWS and GCP. With his technical expertise and excellent project management skills, Salah is equipped with the expertise necessary to develop and maintain state-of-the-art front-end and back-end solutions from scratch or extend an existing complex system.
Portfolio
Experience
- Python - 5 years
- React - 5 years
- Django REST Framework - 5 years
- MySQL - 5 years
- CSS5 - 5 years
- Django - 5 years
- Redux - 4 years
- MongoDB - 4 years
Availability
Preferred Environment
Virtual Studio, PyCharm, MacOS, Ubuntu, Slack, GitHub, GitLab, Chrome, Docker
The most amazing...
...thing I've engineered is a complete rewrite of Edraak's legacy platform into a modern SOA Python-powered platform running on React and Redux toolkit.
Work Experience
Front-end Developer
ServiceRocket, Inc
- Using Thought Industries' in-house content management system to build and customize a learning management system from Figma designs.
- Learned how the system works and its capabilities to convert Figma designs into a pixel-perfect responsive learning platform; used CSS for most of the work in addition to occasional custom HTML and JavaScript code.
- Introduced a development process to enable multiple contributors to work in parallel when customizing the website template. Used SCSS and GitHub on a merge workflow to provide version control, re-usability, and unification across the website.
- Provided the work breakdown, estimation, and scoping for new designs that weren't included in the initial phase of the project.
Senior Software Engineer
Edraak
- Managed a major refactor project to transform the core technology into an SOA to scale performance and reduce maintenance costs by enhancing the application and data layers through database partitioning and modularization.
- Led the team in building a new dashboard experience powered by React and Redux with an AI-driven content recommendation system and user ramp-up process, increasing the user engagement by 35% and reducing the bounce rate by 50%.
- Established the test-driven development and vigorous code review process to enhance the delivery success and establish a culture of high-quality code.
- Built a simplified user registration process with React and Redux to increase conversion rates by 30%.
- Developed a modular forum service to handle messaging among users using Django, MongoDB, and React to increase user retention and activity.
- Established GDPR compliance on Edraak's technologies, including user data tracking consent, underage verification, and personal data retrieval and deletion.
- Enhanced website speed and performance by improving SQL and MongoDB queries, lazy loading in React, code splitting, server-side caching in Memcached, and memoization.
- Reduced the release lifecycle by establishing a CI/CD pipeline through building a Jenkins CI server.
Developer
Istidama Consulting
- Built an SVG converter to make units drawn into SVG clickable and colored according to status while also caching within the browser to reduce load and update times.
- Converted SVG images into a map with features like zoom, pan, and move using the React SVG Pan Zoom library.
- Used and customized SurveyJS with Django to allow the client to build surveys and record responses. Using CSS, I was able to make the surveys work in RTL mode which was broken by the native library.
- Dockerized the app and used executable code to convert it into an exportable desktop browser program with pre-filled out data (drawn from database dumps) that can load on Windows, Mac, and Ubuntu.
Experience
Toptal React Accelerator
Educational Platform Rewrite
The CMS included features like drag and drop, fill-in-the-blank sentences, drop zone creation, video components, among many other features.
I was the technical lead on a team of four engineers, including myself. I redesigned the architecture to exclude learner state management—a heavily used resource—into a separate service that integrated with the main monoloth through HTTP calls.
I also redesigned the data structure on the database using graph theory and binary search trees in order to reduce state updates to a logarithmic complexity down from quadratic complexity of the top down approach used earlier.
I also moved the calculations from on-read to on-update in order to reduce the complexity of loading course content along student state and make state change propagation faster.
This project also involved making a fully functional learning management system on React with a large variety of educational content, which involved advanced features like integrations with OpenAI for voice recording and recognition to build oral spelling questions.
Inline Forums
I built the forum data architecture on MongoDB, using document embedding and references to link various user-added content. This also included handling editing, deletions, reporting, and reactions. The front end was built using React and Redux with SCSS styling to create a responsive experience.
The list of posts was placed on an infinite scroll with back-end API pagination to reduce the load on the database. Comments on posts were also hidden and only loaded on user-triggered expansion. Upon requesting the comments and in response, the list would open with a CSS in-out animation and JavaScript-induced scroll to the last comment.
The front and back ends were all built decoupled from the main monolith on the logical layer; however, they resided on the same server but were built in a way to allow easy decoupling into their service at any future time.
Edraak Learner Dashboard
https://programs.edraak.org/en/learn/learnerThe app is built with React, Redux, Python, and Django. I was the tech lead and full-stack developer creating the REST APIs and responsive application with React and Redux that increased user retention by 35%.
Education
Master of Engineering Degree in Computer and Communications Systems Engineering
University of Birmingham - Birmingham, UK
Certifications
Toptal React Accelerator Graduate
Toptal, LLC
Advanced Software Engineering Bootcamp
ReBootKamp
Skills
Libraries/APIs
Django ORM, React, React Router, jQuery, Redux Form, Node.js, React Query, Google Task Queue, Context API, React DnD, Web Audio, Redis Queue, React Redux, Flask-RESTful, RecordRTC, SurveyJS
Tools
PyCharm, Slack, GitHub, Jira, Confluence, Git, NPM, GitLab, Redux Toolkit, Webpack 4, Google Analytics, CircleCI, Create React App, Jenkins, Mongoose, Figma
Languages
Python 3, Python 2, SCSS, JavaScript, ECMAScript (ES6), Python, HTML, CSS, HTML5, Bash, CSS3, TypeScript, SQL
Frameworks
Django, Django REST Framework, Redux, Material UI, Bootstrap, Flask, OAuth 2, Angular, Express.js, JSON Web Tokens (JWT), Next.js
Paradigms
Agile Project Management, Design Thinking, Load Testing, REST, DevOps
Platforms
MacOS, Ubuntu, Docker, Open edX, Linux, Amazon EC2, AWS Lambda, Heroku, Backbase, Amazon Web Services (AWS)
Storage
MySQL, Web Forms, MongoDB, Google Cloud, Redis, Redis Cache, Databases, JSON, Amazon S3 (AWS S3), MongoEngine, PostgreSQL
Other
Software Engineering, CSS5, Front-end, Full-stack, Technical Hiring, Source Code Review, Code Review, Task Analysis, Interviewing, Architecture, Technical Leadership, Web Development, Software Design, Full-stack Development, Minimum Viable Product (MVP), Product Management, Scalable Architecture, Data Analysis, Virtual Studio, Prototyping, Learning Management Systems (LMS), Content Management Systems (CMS), Screen Recording, System Design, Micro SOA, Service Workers, Data Migration, Message Queues, Profiling, Serializers, APIs, Pagination, SVG, Data Visualization
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring