Youssef Sharif, Full-stack Developer in Sharjah, United Arab Emirates
Youssef Sharif

Full-stack Developer in Sharjah, United Arab Emirates

Member since May 21, 2018
Youssef is a full-stack engineer with 5+ years of experience specializing in building internal platforms and cloud resources for businesses. In addition to being an expert in JavaScript-based technologies for front-end and back-end development, Youssef has a profound interest in building web scrapers.
Youssef is now available for hire

Portfolio

Experience

Location

Sharjah, United Arab Emirates

Availability

Full-time

Preferred Environment

Jira, Bitbucket, Slack, Lean, Agile, Teams, Visual Studio Code, VS Code, GitHub, MacOS

The most amazing...

...software I've developed is an Arabic text-to-speech synthesizer, which was the most popular open-source Arabic TTS at that time.

Employment

  • Full-stack Developer

    2021 - PRESENT
    Synthesis AI (via Toptal)
    • Began building features and fixing bugs in an existing codebase the first day after knowledge transfer.
    • Created a library that removed the complexities of end-to-end tests and integrated end-to-end tests into the project.
    • Developed new React Hooks to reduce the amount of duplicated code in the codebase.
    • Developed and maintained a Go API with a PostgreSQL database.
    Technologies: React, Redux, Puppeteer, Mocha, Jest, TypeScript, CircleCI, Stripe, MUI (Material UI), PostgreSQL, Stripe API, Payment Gateways, Go, API Design
  • Back-end Developer

    2021 - 2021
    Multiplayer Games Platform (via Toptal)
    • Developed a back-end service for multiplayer games with video calling capability between players.
    • Reconfigured the Socket.IO connection so that the server still recognizes registered clients, even after a server crash.
    • Integrated a Cloud Firestore database with an existing codebase.
    • Refactored an existing codebase for a multiplayer gaming platform and decoupled and modularized the code.
    Technologies: TypeScript, Twilio API, Express.js, Cloud Firestore, Firebase, Socket.IO, Node.js, Mocha, JavaScript, Google Cloud, Socket Communication, WebSockets, API Design
  • Front-end Developer

    2020 - 2021
    Telecommunications Company (via Toptal)
    • Scraped production-level websites to replicate them locally and performed updates on them.
    • Implemented CSS changes on the fly, using the browser only where the code was not convenient for use.
    • Adapted styles to a variety of screen sizes and different browser environments.
    Technologies: Web Scraping, CSS, JavaScript, Chrome Developer Tools, GNU Wget, Sass, Front-end, HTML, SCSS
  • Software Engineer

    2019 - 2020
    Speechmorphing
    • Developed microservices for an Arabic text-to-speech (TTS) system based on Tacotron neural network architecture.
    • Used Google Cloud Storage to store machine learning models and another GPU server in GCP for training.
    • Developed a controller service deployed in Heroku. It turns on and off the GPU server to save money, communicates with the diacritizer, and interfaces with the front-end app.
    • Dockerized the machine learning model training and speech synthesis workflow to work in almost any environment.
    Technologies: Angular, Node.js, Google Cloud Platform (GCP), Python, Google Cloud Storage, Google Compute Engine (GCE), TypeScript, JSON, REST, SCSS, Web Architecture, JavaScript, Google Cloud, Docker, Amazon Simple Queue Service (SQS), API Design
  • Full-stack Developer

    2019 - 2019
    Toptal Client
    • Developed a crawler that sends log messages in semi-real time to the front end using Socket.IO. The crawler has options for filtering URLs and for maximum crawl depth.
    • Crawled websites saved as a zipped archive in an S3 bucket; links to those files are kept in a MongoDB database.
    • Used Angular on the front end to build the admin panel for monitoring crawls.
    Technologies: Socket.IO, MongoDB, Amazon S3 (AWS S3), Angular, Node.js, Web Scraping, Amazon Web Services (AWS), Puppeteer, SCSS, TypeScript, JavaScript, Socket Communication, WebSockets
  • Full-stack Developer

    2019 - 2019
    Auto Auction Company (via Toptal)
    • Developed an admin panel that managed cars for auctions, featuring a sophisticated image uploader/sorter and chips.
    • Migrated from an old Python Flask API service to a Node.js service.
    • Migrated third-party data to the system's MongoDB database.
    Technologies: MongoDB, RxJS, Amazon S3 (AWS S3), TypeScript, Node.js, Angular, Material Design, SCSS, Mocha, Storybook, REST, Jest, CSS, Full-stack, JavaScript
  • Software Engineer

    2019 - 2019
    Manufacturing Company (via Toptal)
    • Built an admin panel with sophisticated client-side state management that enabled a manufacturing company's admins to create and monitor jobs and parts manufactured along with an employee management system.
    • Developed a Node.js API service and handled the deployment of the admin panel and a MongoDB database.
    • Showcased my UI components with Storybook and built unit tests to test the front- and back-end logic.
    • Used the Hygen code generator to generate UI components and routes quickly.
    Technologies: MongoDB, Google+ Authentication, NGXS, Amazon S3 (AWS S3), Jest, RxJS, TypeScript, Node.js, Angular, Code Generators, Amazon Web Services (AWS), REST, JSON, Mocha, CSS, SCSS, Full-stack, JavaScript, Google Cloud
  • Technical Team Lead

    2017 - 2019
    ThoughtDesign
    • Built a Node.js application that demonstrates an architecture for building Node.js back-end services using the command-query responsibility separation principle and event sourcing.
    • Conducted code reviews for projects built in Angular.
    • Added features and fixed bugs for a web portal used to administer managed cloud hosting on AWS and Microsoft Azure.
    • Received recognition as the best team by a client who had previously dealt with failing technical teams.
    • Built new features and maintained an enterprise project while practicing Scrum with other developers.
    • Migrated AngularJS components to Angular for a web portal and added unit tests.
    • Assessed and interviewed senior and junior developers in the hiring process.
    Technologies: Express.js, Sass, MongoDB, JavaScript, Node.js, C#, Webpack, Angular, Scrum, Architecture, Jasmine, SCSS, CSS, Jest, TypeScript, REST, JSON, Technical Leadership
  • Senior Developer

    2017 - 2017
    ThoughtDesign
    • Designed and developed a platform concerned with online buying, selling, and bidding services.
    • Developed and maintained an enterprise solution for which I built Angular components.
    • Migrated and optimized the build and bundling process for an enterprise solution that consisted of three Angular apps.
    Technologies: Node.js, JavaScript, CSS, Sass, Webpack, Angular, TypeScript, Jasmine, SCSS
  • Full-stack Developer

    2016 - 2017
    34ML
    • Architected and developed the back end and the admin panel for a platform that featured quizzes for employees in Merck, the multinational pharmaceutical company.
    • Developed an admin panel that featured real-time notifications and different authorization access layers for a reservation system.
    • Wrote sophisticated MongoDB queries to increase query speed.
    Technologies: Socket.IO, Express.js, MongoDB, AngularJS, Node.js, Less, CSS, REST, JSON, JavaScript, Socket Communication, WebSockets
  • Front-end Developer

    2016 - 2016
    34ML
    • Maintained and fixed bugs for an admin panel that lets users manage their laundry and dry-cleaning accounts.
    • Developed a fully functional and responsive admin panel using AngularJS.
    • Learned and applied a variety of technologies in a short time.
    Technologies: CSS, Angular Material, FullCalendar, AngularJS, Less, JSON, JavaScript

Experience

  • Project MC (Confidential)

    A platform related to one of the world's largest companies in information technology services. In addition to migrating AngularJS modules to Angular 5, I was involved in adding unit tests along the way using Jasmine.

  • Project CldGt (Confidential)

    A platform for one of the world's largest companies in information technology services. This platform is used to administer managed cloud hosting on AWS and Microsoft Azure. My role involved Angular front-end app migration, code reviews, feature development, and bug fixes.

  • Toptal React Academy: Bike Rental Project
    https://github.com/youssefsharief/bikes-rental

    The Toptal React Academy is an exclusive learning program that teaches the React framework to select members of the Toptal network. After a month of study, all graduates are tasked with completing a 30-40 hour final project to build and deliver a React app from scratch.

    I built a React app for renting bikes along with a Node.js API for which I built reusable React UI components. The app featured two authorization levels and used Redux and Redux-observable for state management.

  • CalTrack
    https://github.com/youssefsharief/CalTrack

    An app that allows users with different authorization access levels to keep track of their daily caloric intake and provides useful analytics. I built a single-page application, the API service, and the database design.

  • Sample App | CQRS and Event Sourcing Node.js Architecture

    A sample application that demonstrates an architecture for building Node.js back-end services using the command-query responsibility separation principle and event sourcing.

    Code:
    https://github.com/youssefsharief/nodejs-cqrs-commander
    https://github.com/youssefsharief/nodejs-cqrs-web-api-read-model
    https://github.com/youssefsharief/nodejs-cqrs-event-handlers
    https://github.com/youssefsharief/nodejs-cqrs-e2e

  • SAS Users
    https://github.com/youssefsharief/scrape-analyse-and-save-users

    A scraper that scrapes users and saves users that fit a specific criterion in a database. It was built with JSDOM, InversifyJS, and Requests, and it uses various third-party APIs to help analyze the data, such as a gender guesser.

  • Ask.fm Automator
    https://github.com/youssefsharief/ask.fm-automater

    An automator that allows users to supply a set of users and a set of questions and then bypasses reCAPTCHA to ask the questions. (I used an external API for reCAPTCHA.) The automator is smart enough not to ask a single user a question more than once and not to flood the user with all the questions it has to ask simultaneously. In this way, it does not appear as though a bot is performing the tasks.

  • Arabic Tacotron TTS
    https://github.com/youssefsharief/arabic-tacotron-tts

    An end-to-end Arabic text-to-speech system I developed, which turned out to be the best open-source Arabic TTS in terms of natural speech.

    Audio Samples: https://youssefsharief.github.io/arabic-tacotron-tts

  • Reservation System (NDA)

    A reservation system with real-time notifications and authorization access layers. My role involved building the admin panel and developing the back- and front-end of the Socket.IO notification system.

  • Merck Smart

    A quiz platform that featured quizzes for employees at Merck, the multinational pharmaceutical company. The system consisted of a Node.js back end, an Angular admin panel, an iOS app, and an Android app.

    I architected and developed the back end and the admin panel. The back end involved multilayered MongoDB aggregate queries, CRUD operations, and authentication for the mobile app and the admin panel. The admin panel involved CRUD operations for various entities and for displaying quiz results and statistics for each quiz category, company department, and user.

  • Donation Places
    https://github.com/Life-Saving-Team/donation-places-server

    An app that allows users to add donation places, including drives and places. The donation places are viewed on a map and in a list that provides back-end pagination, filtering, and search.

    Server: https://github.com/Life-Saving-Team/donation-places-server
    Client: https://github.com/Life-Saving-Team/donation-places-client

  • Laundry Locker

    An app that allows users to manage their laundry and dry cleaning accounts. My role involved fixing bugs on the Node.js back end and developing features on the client-side AngularJS app.

  • iGrant
    https://github.com/youssefsharief/data_access_blockchain_iot

    A solution that allows IoT device owners to save their data securely and grant access to their data without relying on third-party providers. It utilizes blockchain, IPFS, and a hybrid encryption approach, specifically symmetric and asymmetric. I used the Ethereum smart contract platform and React, web3.js, and Redux on the front-end.

  • Blood Donation Real-time Map
    https://github.com/youssefsharief/blood-donation-real-time-map

    A Node.js back-end service and an Angular app that allows donors to register by clicking on their location on a map with search and location functionality. The map adds, deletes, or updates a donor's location, which is reflected in real time without the need for page refresh for other observers, including donors and patients.

  • Smoott

    A platform that is concerned with online buying, selling, and bidding services. My role involved building Angular views, adding unit and end-to-end tests, and providing functionality through a mock API.

  • Infer Commit Type

    A research exploration I performed while earning my master's degree at The University of British Columbia (not a project). This research involved utilizing NLP to infer whether a commit was a bug fix by using metadata, such as the commit message. I used a GraphQL API.

  • COVID-19 Alert System

    A system that allows users to register for a particular building and find out if anyone in the building is infected with COVID-19. I used Airtable as a database and Twilio for phone verification and for admins to change a building status. I built this with React and Redux for the front end and Node.js for the back end.

  • Medical Data DApp
    https://github.com/youssefsharief/medical_data_dapp

    A decentralized React app that allows patients to share their private medical data securely with selected doctors without the need for cloud storage. It depends on the blockchain with an Ethereum smart contract, IPFS, and a hybrid encryption approach, both symmetric and asymmetric. In addition to React, I used Redux on the front end for state management and web3.js for interacting with Ethereum nodes.

  • Ask.fm Chrome Extension

    A Chrome extension that calls a database to check the status of Ask.fm users when visiting their Ask.fm profile page. I used React for the UI and tools like crx-hotreload for a better developer experience.

  • React YouTube Course
    https://github.com/youssefsharief/academy-react-app

    Two React courses I provided on YouTube—one in Arabic and the other in English. The courses explain the basic concepts of React and Redux. Please refer to the GitHub URL for the links to the YouTube playlists.

  • JS Static Analyzers
    https://github.com/youssefsharief/bug-dataset

    A research exploration I performed during my master's degree at UBC (not a project). In this research, we wanted to determine if we could detect fixed bugs in open-source projects using static analyzers. I automated the process of cloning GitHub repositories, performing diffs along the repository commits, extracting and saving affected files for each commit, and performing linting operations on those files.

  • Tacola App

    Microservices that deploy an Arabic text-to-speech system based on Tacotron neural network architecture. The system includes these four microservices:

    1. An Angular app deployed on Zeit.
    2. A synthesizer deployed on a server that has a GPU in Google Cloud Platform (GCP).
    3. An Arabic diacritizer deployed on Heroku.
    4. A controller deployed in Heroku that turns on and off the GPU server, communicates with the diacritizer, and interfaces with the front-end app.

    I also used Google Cloud Storage to store machine learning models and another GPU server in GCP for training.

  • Is It Time to Use Node 8? (Publication)
    Node 8 has brought significant performance and feature upgrades. Should you use it on new projects? Is it worth upgrading existing codebases? In this article, Toptal Freelance JavaScript Developer Youssef Sherif gives a tour of Node 8's biggest changes and what they mean for your project.

Skills

  • Languages

    HTML, HTML5, ECMAScript (ES6), TypeScript, CSS, JavaScript, Solidity, Go, SCSS, Sass, Python, GraphQL, C#, Less
  • Frameworks

    Jasmine, Jest, Express.js, Angular, Redux, Cypress, Flask, JSON Web Tokens (JWT), Bootstrap, Chrome, Angular Material, Swagger, OAuth 2, AngularJS, .NET, MUI (Material UI)
  • Libraries/APIs

    React Redux, REST APIs, OpenID, React, Node.js, Facebook API, Google API, Puppeteer, NgRx, Social Media APIs, jQuery, Twilio API, ArcGIS API 4, Socket.IO, RxJS, Firebase Web SDK, React Router, Formik, Web3.js, D3.js, Stripe, MobX, Stripe API
  • Tools

    GitHub, JSX, Chrome Developer Tools, Redux Thunk, Git, Mocha, MongoDB Atlas, FullCalendar, Google Compute Engine (GCE), Bitbucket, GNU Wget, Jira, Slack, VS Code, Gulp, Karma, Webpack, GIS, CircleCI, Amazon Simple Queue Service (SQS)
  • Paradigms

    MEAN Stack, Web Architecture, REST, Unit Testing, Automated Testing, E2E Testing, RESTful Development, Test-driven Development (TDD), Agile, Responsive Layout, Lambda Architecture, Object-oriented Programming (OOP), Microservices, Microservices Architecture, Scrum, Continuous Delivery (CD), Continuous Integration (CI), Page Object Model (POM)
  • Platforms

    AWS Lambda, Google Cloud Platform (GCP), Heroku, Twilio, Blockchain, Docker, Firebase, Ethereum, Linux, Windows, Amazon Web Services (AWS), Visual Studio Code, Azure, Kubernetes, MacOS
  • Storage

    JSON, MongoDB, Google Cloud, Google Cloud Storage, Cloud Firestore, Redis, Amazon S3 (AWS S3), Amazon DynamoDB, PostgreSQL
  • Other

    APIs, Full-stack, Cloud Services, Web Scraping, Front-end, WebSockets, API Design, NGXS, Socket Communication, Browser Automation, Computer Engineering, Engineering, Back-end, User Interface (UI), Software Engineering, Architecture, Web Development, Software Development, Vercel, Airtable, CAPTCHA, Amazon API Gateway, Chrome Extensions, Mapping, Technical Leadership, Serverless, Graphical User Interface (GUI), Ethereum Smart Contracts, Smart Contracts, Web Extensions, Google+ Authentication, Authentication, Gatsby, Messaging, Material Design, Code Generators, Quality Assurance (QA), Webhook, Encryption, IPFS, Static Analysis, Lean, Teams, Computer Science, Storybook, JSDOM, Firebase Hosting, Google Cloud Functions, Redux-observable, Decentralized Applications, Payment Gateways

Education

  • Master of Applied Science Degree in Electrical and Computer Engineering
    2019 - 2021
    University of British Columbia - Vancouver, BC, Canada
  • Bachelor's Degree in Petroleum Engineering
    2010 - 2015
    American University in Cairo - Cairo, Egypt

Certifications

  • Toptal React Academy Graduate
    DECEMBER 2018 - PRESENT
    Toptal, LLC

To view more profiles

Join Toptal
Share it with others