- Independently lead in depth investigations into the website infrastructure in order to devise upgrade strategies. Migrating our monolithic codebase from legacy (2018) NextJs to the latest release. This helped improve website performance, resource management and developer experience. Additionally, the loading times were improved by over 80% by decreasing the bundle sizes and weight of the static content without sacrificing quality.
- Devised data driven proposals to remodel our client facing website’s UI/UX to target a larger set audiences with mobile options around that helped increase conversion rates.
- Worked On various features and bug fixes including CMS integration, JSX component development and styling
- Lead the efforts for defining requirements for the Beta release of the web app (e.g. changelog integration, feedback system, etc...).
- Defined the UX and tech requirements for transitioning our connected TV platform into a web compatible application.
- Refactored components to be cross-browser and TV compatible.
Worked in the full application rebranding.
- Hero design
- EPG schedule
- Helping prepare the application for the 2020 Olympics.
- Helped develop and integrate a cross-platform compatible text-to-speech accessibility framework for devices such as Amazon Fire TV, Samsung, etc...
- Aided in the full UI/UX development. Including writing data mappers that resolve dynamic content from a video management system and integrating a fluid focus management system for in-app navigation.
- Worked directly with Figma designs for Hero component integration, video card design implementation.
Responsible for aiding in the development of the new ReactJs build of the Skiddle Events Promotion Centre.
- building new features & reusable components (e.g. Auto resolving breadcrumbs).
- Integrating unit testing from scratch and maintaining end-to-end tests.
- Improving code quality via refactoring and resolving technical debt.
- Implementing new code review processes.
Hot Spots provides an immersive and engaging Voice experience for kids to get fit and active with Alexa.
Hot Spots allows the user to team up with the awesome workout buddy, Fit Fox, who will let you choose the workout difficulty level. Complete your warm up, main circuit and cool down with the help of Fit Fox, who will explain how to perform each exercise and offer your encouragement as you go. Each exercise is based on a 'TABATA' time format, where the user does 20 seconds of exercise, 10 seconds of rest intervals on repeat.
My main contributions: From a conceptualization standpoint I worked on fine tuning the exercise routine, selecting the movements and making it modular using the exercise time format known as TABATA. From a development standpoint I helped build the integration of the Alexa and the WebGL parts (using Rx.js) to allow workout animations to be provided in a flexible JSON format and display correctly with the appropriate intervals. In addition to this I aided in the creation of some APL documents for display interactions.
This fun, immersive and rich audio (and visual) experience was developed in a mixed team of developers and designers for the Beyond Voice Hackathon
- Helped develop the text-to-speech accessibility integration for set-top boxes (e.g. Comcast).
- Lead the integration of In-App-Purchasing for Comcast devices.
- Additionally worked on: performance improvements, UI/UX improvements, bug fixes and cross-platform compatibility.
A CLI tool I built during my time at FX Digital that consists of globally executable command-line scripts to make it easier to deal with projects and repositories.
- Installation script (zero hassle setup)
- Script Selection (choose the ones that only matter to you)
- Automatic update checks for improvements and script upgrades
- Easy upgrade command to keep your local scripts in line with the master branch
Contributed to an existing Raycast extension and added commands that leverage the Stripe API to allow quick access to dashboard views.
Developed a Raycast extension that leverages the Coinbase Pro API to allow users to easily view their cryptocurrency portfolio in EUR, GBP and USD.
Developed a Raycast extension that leverages the Everhour API to allow users to quickly add hours to and view their timesheets.
Developed and published scripts that speed up development workflows for the Raycast community
For this a custom framework was built for focus / keyboard management (on top of React.js) to deliver a fully functional TV experience that actually works on low performance set-top boxes. Parameters have been built in to increase or decrease image quality to improve performance for devices with limited resources. The focus and keyboard management system has been tested on and works on TV devices. Beyond this, RX.js has been used to deal with streams of information and a video player and has been integrated to play one fixed piece of content.
- Hero (transitions as you scroll through cards)
- Accessibility Friendly with Text-To-Speech integration
- Debugging tools (enabled using "debug=true" URL parameter)
- Video Player with custom controls
- Network health checks (automatic redirect to offline page and redirect back when online)
- Performance Tiers for low to high powered devices (enabled using "perf=lowest/low/mid/high" URL parameter)
- Custom HTML Components created specifically for focus management and accessibility tag auto generation
Note: Demo does not work on mobile devices because the application is meant to be used on desktop (for development) and TVs only
FAZIZ-TRAINING is an easy to use booking system purchase and book personal training or coach lead group CrossFit classes. It was built with a Strapi CMS and Next.js. It has also been integrated with Google's Firebase for authentication and Revolut for payment management.
The current website you are on was built to showcase my work as a developer. It is built using NextJs for image and SEO optimisations. Along with this Tailwind CSS has been used for responsive design and the content is controlled using a Contentful CMS
Note: sound recognition no longer works as the API trial period has expired