CleverTech France

Head of Frontend, Senior Full-stack JS

@ CleverTech France

Full-time job

March 2022 - March 2023

  • Architect and develop mobile, web, and e-commerce applications (Android, iOS) using Next.js, React.js, React Native, Typescript, Redux Toolkit, Storyblok (as Headless CMS), MUI, and TailwindCSS.
  • Create reusable components and share them with the team to improve productivity and reduce code duplication.
  • Follow a mobile-first approach to create responsive designs, ensuring accessibility and best UI/UX practices.
  • Manage internationalization and dynamic routing for multi-language support.
  • Challenge and grow team members through technical designs and project milestones, encouraging experimentation and upholding quality expectations.
  • Institute best practices and proper coding standards across the team through processes like code review, implementation of ESLint/Prettier, and adopting SOLID principles in React functional programming.
  • Guide the team into the e2e testing world using Cypress, and configure unit tests with Vitest.
  • Help implement continuous integration and delivery using Docker and Jenkins pipelines, along with a proper branching strategy for projects.
  • Work with GitHub flow branching strategy, prepare Readme documentation, and use JSDoc for code documentation.
  • Continually suggest improvements to enhance code quality, delivery speed, and maintainability.
  • Work on Azure services (App Service, Static Web App) and understand Azure architecture (subscription, resource group, service principal).
  • Value collaboration to deliver “pixel-perfect” and “user-first” experiences.
  • Conduct frequent 1:1s and feedback sessions to ensure team well-being and deliverables.
  • Mentor and develop team members through live demos, sharing reports, and explaining complex technical topics clearly and concisely.
  • Dig into other areas of the product as needed beyond frontend development.
  • Optimize project performance, decreasing loading time by 50% (LCP, TTI, etc.): reducing bundle size by 48%, implementing lazy loading (React.lazy and Suspense), reducing asset sizes by 80%, and using React Profiler and memoization to reduce rendering.
  • Measure and improve project performance using tools like Source Map Explorer, Web Vitals, and DevTools.
  • Improve security through the implementation of security headers (HSTS, CSP, X-XSS-Protection, X-Frame-Options, X-Content-Type-Options), perform security audits to correct vulnerabilities, and implement OAuth2 logic by rotating the refresh token.
  • Prepare project architecture and help implement 3rd party APIs like IDCheck.
  • Work on the user experience of Storyblok integration to empower non-developer teams to manage content.
  • Create Storyblok custom field-type plugins using Vue.js to fetch products from Shopify via Storefront API and render them inside Storyblok.
  • Develop Shopify apps and generate Theme App Extensions to render Storyblok content inside Shopify Themes, configuring Vite as a development tool and minimizing DOM manipulation.
  • Implement SSR (server-side rendering) and ISR (incremental static regeneration) to improve performance.
  • Follow best practices like Next.js image optimization and use React patterns such as hooks and the composition pattern.
  • Test projects on different browsers and operating systems using BrowserStack.
  • Develop a Cloudflare Worker that caches calls to the Storyblok API, reducing server load by 99% and improving response times by 50% through CDN usage.
  • Conduct React profiling of the application and share ideas with the team to improve performance, such as image optimization.
  • Perform continuous delivery through GitHub and Vercel.
  • Configure continuous integration by running ESLint scans and creating e2e tests using Cypress.