4
Request a talent

Hello

Let us know about your hiring needs and we will help you find the best talent.

Request now

Karim Adel

Egypt

About me

A motivated front-end developer transitioning from a background in marketing and business operations. Skilled in JavaScript, React, TypeScript, and modern front-end tools like Tailwind and SASS, I bring a unique perspective to web development with a focus on both aesthetics and functionality. My experience managing business processes in previous roles has enhanced my ability to approach development with problem-solving skills, attention to detail, and a strong sense of user experience. I am passionate about creating responsive, dynamic applications and continuously advancing my skills in front-end technologies.

Me and Sprints

"I have successfully completed (Front-End Web Development BootCamp) at Sprints"

  • HTML
  • CSS
  • OOP in JavaScript
  • Advanced JavaScript
  • Functional Programming
  • Browser APIs and Web Storage
  • Server-Side JavaScript
  • ReactJS
Me and Sprints

"I have successfully completed (Front-End Web Development BootCamp) at Sprints"

  • HTML
  • CSS
  • OOP in JavaScript
  • Advanced JavaScript
  • Functional Programming
  • Browser APIs and Web Storage
  • Server-Side JavaScript
  • ReactJS

My personality traits

Innovative problem solver
Detail-oriented
Self-motivated
Adaptable

Technical skills

Docker Git GitLab CI/CD HTML/CSS JavaScript Jenkins Kubernetes Object-Oriented Programming (OOP) Performance Optimization and Tuning React.js Linux Version Control

Education


Modern Academy Maadi

Bachelor's degree . Business Administration

From 2015 to 2019

Courses and Programs


Front-End Web Development BootCamp

Sprints

From Jul 2024 to Sep 2024

Advanced CSS and Sass: Flexbox, Grid, Animations and More!

Udemy

From Jan 2023 to Jan 2023

The Complete JavaScript Course 2024: From Zero to Coach!

Udemy

From Mar 2023 to Apr 2023

Certified Kubernetes Administrator (CKA) with Practice Tests

Udemy

From Jan 2024 to Jan 2024

The Ultimate React Course 2024: React, Next.js, Redux & More

Udemy

From Aug 2024 to Sep 2024

Experience


Confidential Company

Virtual Assistant

Mar 2023 - Aug 2024

Property Consultant

The Address Investments

Jul 2022 - Mar 2023

Digital Marketer / Graphic Designer

Freelance

May 2021 - Jun 2022

Sales and Marketing Specialist

LinesArt Co.

Feb 2020 - May 2021

Get free access to our talents till Dec 2025

To get the contact info, please sign up now as a company

To download the CV please create a company account

Hello again,


Log in to your account

or
Don't have an account? Join Us

title_name

Register for free today and start your journey to finding the best talent

or
Have a company account on Sprints?

Password Recovery

or

Account verification

Log in to your account

or
Don't have an account? Join Us

title_name

Register for free today and start your journey to finding the best talent

or
Have a company account on Sprints?

Password Recovery

or

Account verification

const route = $(this).data('route'); $(this).addClass('loadingbar primary').prop('disabled', true); $.ajax({ type: 'GET', url: route, data: 'json', success: (response) => { $(this).removeClass('loadingbar primary').prop('disabled', false); window.open(response.join_url, '_blank'); }, }); }); $(document).ready(function() { const $techShiftBanner = $('#tech-shift-banner'); const EIGHT_HOURS = 8 * 60 * 60 * 1000; const techShiftHiddenTime = localStorage.getItem('techShiftBannerHiddenTime'); const currentTime = new Date().getTime(); if (!techShiftHiddenTime || currentTime - parseInt(techShiftHiddenTime) > EIGHT_HOURS) { $techShiftBanner.removeClass('tw-hidden').addClass('tw-flex'); localStorage.removeItem('techShiftBannerHiddenTime'); } $('.close-tech-shift-banner').on('click', function() { $techShiftBanner.fadeOut(); localStorage.setItem('techShiftBannerHiddenTime', currentTime.toString()); }); const $agfBanner = $('#agf-banner'); const agfHiddenTime = localStorage.getItem('agfBannerHiddenTime'); if (!agfHiddenTime || currentTime - parseInt(agfHiddenTime) > EIGHT_HOURS) { $agfBanner.removeClass('tw-hidden').addClass('tw-flex'); localStorage.removeItem('agfBannerHiddenTime'); } $('.close-agf-banner').on('click', function() { $agfBanner.fadeOut(); localStorage.setItem('agfBannerHiddenTime', currentTime.toString()); }); }); $("#user-mode-toggle").on("change", function() { }); const itiErrorMap = ["Invalid number", "Invalid country code", "Too short", "Too long", "Invalid number"]; $(document).ready(function() { var removeItemsTitle = ""; if (removeItemsTitle != '') { Swal.fire({ html: '

The' + ` ${removeItemsTitle} ` + 'is currently not available for purchase and removed from your cart

', icon: 'info', showCancelButton: false, backdrop: 'static', allowOutsideClick: true, }); } if (isNotActivateAccountRoute && (mobileRequired || nameRequired || needUpdateType)) { let model = $('#popup_complete_profile').html(); if (typeof model === 'undefined') { return; } model = model.replaceAll('phone', 'phone_number'); model = model.replaceAll('error-msg', 'phone_error_msg'); model = model.replaceAll('valid-msg', 'phone_valid_msg'); Swal.fire({ html: model, icon: 'question', showCancelButton: false, showConfirmButton: false, backdrop: 'static', allowOutsideClick: false, customClass: { content: 'p-0 text-left', }, onOpen: () => { $('[data-toggle="tooltip"]').tooltip(); renderPhoneField('phone_number'); }, width: '32rem', }); } }); let iti; let phoneNumber = null; let countryCode = null; function renderPhoneField(id, defaultCountry = 'eg') { const input = document.querySelector("#" + id); if (!input) { return; } input.setAttribute("dir", document.body.dir); iti = intlTelInput(input, { hiddenInput: () => ({ phone: "mobile", country: "country_code" }), initialCountry: defaultCountry, separateDialCode: true, nationalMode: false, }); countryCode = defaultCountry; input.addEventListener('countrychange', (e) => { countryCode = iti.getSelectedCountryData().iso2; }); input.addEventListener('keyup', (e) => { phoneNumber = e.target.value.replaceAll(' ', ''); }); } function validatePhone(id, returnValue = false) { const input = document.querySelector("#" + id); if (input) { let errorMsg = ''; let error = false; if (!input.value.trim()) { errorMsg = "Phone is required."; error = true; } else if (!iti.isValidNumber()) { const errorCode = iti.getValidationError(); errorMsg = itiErrorMap[errorCode] || "Invalid number"; error = true; } if (error) { if (returnValue) { return error } $.toast({ text: errorMsg, bgColor: '#f63c3c', textColor: 'white', hideAfter: 10000, position: 'bottom-right', icon: 'error' }); } return error; } }