I have shipped several React apps to production, and have experience with different syntaxes (hooks, classes), different build chains (vanilla apps, Next, Gatsby, create-react-app), and different use cases (authentication, routing, forms, ...).
I have worked on several React Native apps, and have experience with different syntaxes (hooks, classes), different build chains (vanilla apps, Expo), and different use cases (authentication, routing, forms, animations, ...).
I know JavaScript like the back of my hand and am very proficient with it. Today, I mostly use TypeScript as I think it delivers more value in terms of code maintenance and ratio of bugs. I have migrated large codebases from JavaScript to TypeScript, and can help your team write sensible TypeScript code.
I know semantic HTML, and always leverage native features so that your website works flawlessly on all supported browsers. Accessibility is always one of my top priorities. I also have extensive experience with SEO and will be able to meet the needs of your business.
When working with CSS, I optimize for great user experience and maintainability, so that developers who come after me can iterate quickly as the features need to evolve. I have a lot of experience with responsive design.
Network & state management
I have a lot of experience with REST APIs, and have built apps with Redux as a state management solution. I have also worked with Apollo GraphQL for two years, at first by writing gateways over REST APIs, then by consuming a native GraphQL API. I am quite familiar with the internals of the Apollo codebase.
Server side rendering (SSR)
I have implemented several custom server side rendering solutions, and have also worked with tools such as Next & Gatsby.
When working on business critical workflows, state machines can add extra safety by forbidding impossible states. I have worked with state machines several times, using tools such as xstate.
Design systems are in my opinion one of the tools that bring the more value to an organization. I have been in charge of a design system for over a year, and can help you implement one in your organization. It will also be compatible with all your different browsers and OS using the same API, and your team's productivity will increase tenfold.
Documenting components is important when you need several developers or several teams to know how a set of components are working. I have worked with tools such as Storybook and Playroom, and can implement a component library for your organization.
CMS are great to offload work from your developers team, and to give ownership to the right teams. I have been in charge of implementing several CMS for blogs and public websites, and I know multiple SaaS and open source solutions (Strapi, Contentful, ...).
Internationalization (i18n)
It is quite common to need an app to be available in different countries and languages. I know how to manage an app available in different languages, how to setup a translation service, and how to make sure you app works in all the countries and timezones you target.
A/B testing & feature-flagging
A/B testing can help you improve your product based on the decisions of your user. Feature-flagging allows you to provide some features to a subset of your users only, and to have control over what and when you are releasing. I know how to implement both solutions, and how to make them fit in the architecture of your apps.
I have implemented analytics services such as Google Analytics, Facebook Pixel, Amplitude, and Google Tag Manager in several apps, and can quickly set you up on the solution you need.
A strong bug-tracking pipeline can be the difference between releasing once a week and several times a day. I can set up this kind of pipeline in your organization and give you the confidence you need to iterate even faster.
There will never be enough documentation, but few people like to write it. I know how to set up a generated documentation system so that your documentation can live right beside your code, and make it all accessible via a neat website.
Monorepositories are all the rage right now, but they can cause nasty bugs if you don't know how to set them up properly. I have encountered a lot of bugs because of monorepositories, and now know how to set them up properly so that your services interact well together.
I use Webpack to bundle most of my apps, and Webpack configs don't scare me one bit. I know how to set up parallel builds, different builds for your server, your client, and latest browsers, how to write plugins and loaders that will fit your use cases, or how to optimize your builds so they become blazing fast.
A strong linting system can help avoid many bugs, and I have set up many different over the years. It is now the first thing that I do when starting a new work project, and I can help your team gain confidence and stop wasting time during PR reviews.
Tests are a must if you want to deploy on fridays with confidence (or any day, that is). From unit tests to end-to-end tests, I can help you implement a testing strategy that will be as smooth as possible for your dev and/or QA teams, and that will help you make sure critical code paths and user scenarios are always working.
I have implemented several pipelines that handle building and deploying the code to your platform of choice. From linting your code to deploying your app to your infrastructure, I can set up an optimized workflow that will replace your manual deployments.
I have practiced hosting apps on several platforms, and I can help you choose which platform is best suited for your project. I can also help you optimize the release process of your project on your platform of choice.
I know back-end technologies such as Express, MongoGB, and Apollo Server. I can set up the back-end for your project, or build a GraphQL gateway on top of your existing REST services to help you integrate Apollo Client in your front-end apps.