Merott Movahedi
Verified Expert in Engineering
Software Developer
London, United Kingdom
Toptal member since February 20, 2017
Merott is a full-stack developer with a strong interest in front-end development. Proficient in JavaScript, he can pick up new frameworks and quickly get up to speed with new projects. His framework of choice is React, although he also has extensive experience working with Angular and Vue. Merott believes testing and quality assurance to be the responsibility of developers—not dedicated QA teams—and advocates automated testing in all projects.
Portfolio
Experience
Availability
Preferred Environment
TypeScript, React, Next.js, Prisma, GraphQL, GraphQL Code Generator
The most amazing...
...contribution I've recently made was an automated workflow, generating React hooks to query a GraphQL back end, with end-to-end type safety backed by TypeScript.
Work Experience
Senior Web Developer
Apple
- Primarily worked on a custom code editor built with CodeMirror for internal use.
- Developed CodeMirror extensions to enhance the user experience through input validation, error highlighting, navigational capabilities (e.g., cmd+click to open), and contextual autocompletion.
- Designed and created React hooks for registering, updating, and deregistering CodeMirror extensions through a simplified and reactive API.
- Set up Vitest and added the project's first set of unit tests.
Front-end React Developer
Class Twist Inc. dba ClassDojo
- Developed a reliable and efficient pattern for managing modals—a challenge because ClassDojo apps rely heavily on modals that may be opened from various parts of the app, and at the same time, they needed to be available for deep-linking.
- Used Cypress to create end-to-end and component tests for ClassDojo app localizations.
- Created a custom ESLint package, consolidating the ESLint configuration and custom rules used across the company's various apps as part of a monorepo, significantly reducing the amount of ongoing maintenance work.
TypeScript Developer
Flux
- Architected and developed exporters for generating Gerber files that allow users to order Printed Circuit Boards from manufacturers, a major milestone in Flux's journey to wide user adoption. Built with TypeScript.
- Developed an end-to-end testing process to ensure quality and avoid regression issues in the future.
- Created TypeScript definitions for JSON representation of KiCad PCB files, allowing for strict type checking of all exporter code.
- Architected and developed the foundation of a TypeScript API to generate Gerber files natively without reliance on third-party tools.
Front-end React Developer
Nas Education (via Toptal)
- Implemented an editable text component for inline editing of the website copy in a brand-new CMS back end.
- Built multiple web components for use on product pages.
- Refactored common components for reusability and maintainability.
Senior Software Engineer
GfK - Growth from Knowledge
- Converted dozens of legacy Svelte components to React with TypeScript.
- Created an automated workflow to generate React hooks for querying a GraphQL back end, including end-to-end type safety with TypeScript.
- Set up integration testing for components using Jest.
- Delivered team training on the best practices of React, TypeScript, and GraphQL.
- Constructed end-to-end system tests using Cypress.io.
- Developed the initial version of a Webpack build system, migrating over from a legacy Rollup configuration.
Senior Software Engineer
Array
- Built reusable web components using React and vanilla JavaScript.
- Implemented a pagination mechanism for custom vanilla JavaScript components.
- Built multiple pages of the company's website at Array.com, which were mobile-first and responsive.
Lead Front-end Developer
Verb Tech (via Toptal)
- Created the monorepo architecture, applying best practices from Nrwl/Nx, including Redux stores.
- Trained the team on best practices and unit testing in Angular.
- Set up automation to speed up development and maintain quality.
Freelance Front-end Developer
MedChat, LLC
- Developed the foundation and architecture of the client's new front-end in Angular.
- Set up continuous integration for the deployment of code to production, including automatic deployment of feature branches.
- Created pages for chat analytics and monitoring with a reusable Redux pattern using NgRx.
- Developed chat log navigation functionality for administrators.
- Supported the team in the maintenance of the legacy AngularJS platform.
Senior Software Engineer
BGL Group
- Built a Node.js API using Swagger, Express, and MongoDB to capture entrant information for marketing promotions at comparethemarket.com.
- Built interactive web content to entertain and engage visitors of comparethemeerkat.com.
- Trained members of the team on core JavaScript topics, best practices, advanced patterns, functional programming, and new features of ES2015.
Front-end Developer
Checkout.com
- Built, tuned, and improved "Checkout Hub," the checkout portal for account administrators and merchants.
- Promoted, encouraged, and demonstrated TDD with AngularJS.
- Automated anything and everything that could be automated using Grunt or Gulp.
Software Engineer
KPMG UK
- Developed full-stack web applications using .NET technologies for the back-end and frameworks such as Knockout.js and AngularJS for the front end.
- Developed a hybrid HTML5 app with AngularJS, wrapped with PhoneGap for native deployments.
- Presented tech talks on interesting topics such as AngularJS, BDD with Cucumber, and ECMAScript 6.
Experience
Polar Habits
https://polarhabits.comIt's built with TypeScript, Next.js, and Tailwind CSS on the front end, GraphQL on the back end, integrated with Stripe for payment processing, Prisma for connecting to the PlanetScale database, and Postmark for sending emails.
Building something entirely from scratch has been a fun challenge, especially as I had to work with tools and libraries I'd rarely or never used before, including Recharts, Stripe, Postmark, and Prisma.
I launched the app on January 1, 2023, and in March, I introduced a paid plan, which generated $1,000 within two weeks. As of April, the app has around 350 weekly active users.
Beyond the Boring
https://beyondtheboring.comIt was a personal project that was fun to build, with a few tricky challenges to overcome. For example, making the website header responsive turned out to be more complex than expected due to the combination of a background pattern, gradient, and its sloped appearance.
The images on the website are lazy-loaded, using primitive art such as triangle shapes as placeholders. Generating these placeholders is slow and intensive, which significantly slowed down the website's build process. I solved this by caching placeholder values into a file that would be checked into source control, and I made sure to implement that so that it would stay out of my development workflow.
The source code for the website is available at github.com/beyondtheboring/garden.
Course Creators Weekly
https://coursecreatorsweekly.comXebel
Nativescript-pdf-view
http://go.merott.com/nativescript-pdf-viewSemantic-release-codeship-example
http://go.merott.com/semantic-release-codeship-exampleEducation
Bachelor of Science Degree in Information and Communications Technology
Queen Mary, University of London - London, UK
Skills
Libraries/APIs
React, Vue 2, RxJS, NgRx/store, NgRx, Chai, Vue, REST APIs, jQuery, Node.js, Liquid, Stripe, Recharts, Stripe API, React Query
Tools
GitHub, JavaScript Testing, Git, GitLab, Pivotal Tracker, Mocha, PostCSS, Figma, Slack, Gulp, Grunt, Webpack, GitLab CI/CD, Prisma, Stripe Checkout, Sentry, CodeMirror
Languages
ECMAScript (ES6), TypeScript, HTML, CSS, JavaScript, HTML5, GraphQL, Sass, MDX, SCSS, CSS3, C#
Frameworks
Next.js, Tailwind CSS, Jest, AngularJS, Cypress, Redux, Nuxt.js, Swagger, .NET, ASP.NET MVC, Knockout (Knockout.js), Ionic, NativeScript, Jasmine, Angular, Svelte, Express.js
Paradigms
Testing, Agile, Functional Programming, Automated Testing, REST, Jamstack, Continuous Integration (CI), Mobile Development, Unit Testing
Platforms
Vercel, Netlify, ConvertKit, MacOS, Visual Studio Code (VS Code), Docker
Storage
MongoDB
Other
Front-end, QA Automation, Mentorship, ESLint, User Interface (UI), User Experience (UX), Mobile First, APIs, Gridsome, Serverless, Monorepos, CI/CD Pipelines, Information & Communications Technology (ICT), Electronics, Stripe Payments, Postmark, Storybook, Apollo, GraphQL Code Generator, Performance
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring