Eugene Mirotin, Developer in Tallinn, Estonia
Eugene is available for hire
Hire Eugene

Eugene Mirotin

Verified Expert  in Engineering

JavaScript Developer

Location
Tallinn, Estonia
Toptal Member Since
March 31, 2015

Eugene has 20 years of experience in the tech industry, with more than 12 years of experience as a full-stack software engineer. He has worked in multiple companies, small and large, but mostly startups. His employment history includes balena.io (Internet of Things), Botpress (chatbots), and Cousno (construction industry documents workflow). He has held multiple roles, including principal software developer and team lead, and was responsible for business-critical features and code refactorings.

Portfolio

Moon Rocket
TypeScript, Content Management Systems (CMS), Express.js, Node.js, Radix UI...
Zeitls
Next.js, Node.js, React, Ethereum, MetaMask, Blockchain, Docker
Cosuno
TypeScript, React, Next.js, Playwright, APIs, SQL, Amazon Web Services (AWS)...

Experience

Availability

Part-time

Preferred Environment

Svelte, Visual Studio Code (VS Code), React, Node.js, Git, ITerm, OS X, Next.js

The most amazing...

...project I've designed and coded is an in-browser PDF annotation tool based entirely on the open-source software. It also worked in IE6.

Work Experience

Team Lead

2023 - PRESENT
Moon Rocket
  • Designed the entire project architecture, consisting of the Next.js–based front-end, serverless API with PostgreSQL database, a CMS, and the data synchronization routines, running on cron.
  • Established code style practices, linting, and continuous delivery through GitHub actions and Vercel integration.
  • Implemented integration with 3rd-party services, including the FastTrack CRM, Algolia search, and LiveChat.
  • Provisioned and fine-tuned Payload CMS, including the creation of the custom Rich Editor input type based on TinyMCE, the well-known WYSIWYG editor library.
  • Implemented end-to-end type-safe, documentation-driven API development mechanism.
Technologies: TypeScript, Content Management Systems (CMS), Express.js, Node.js, Radix UI, Next.js, Vercel, PostgreSQL, APIs, SQL, Amazon Web Services (AWS), Serverless Architecture, Amazon S3 (AWS S3), Full-stack, Architecture, API Integration, Software Architecture, Web Development, Front-end, Back-end, MERN Stack, CTO, Docker, Tailwind CSS, SVG, API Development, React Query, AWS Lambda, Figma

Full-stack Software Engineer

2023 - 2023
Zeitls
  • Worked as a full-stack developer and helped convert the MVP from a mixture of jQuery, Vanilla JS, and bits of React to Next.js.
  • Developed a component library and introduced Storybook to maintain its consistency.
  • Cleaned up and refactored several modules related to ETH authentication and smart contracts using MetaMask.
Technologies: Next.js, Node.js, React, Ethereum, MetaMask, Blockchain, Docker

Principal Software Engineer

2022 - 2023
Cosuno
  • Worked with the complex data structures representing the Bill of Quantities, managing them through the UI, exporting to Excel with formulae to refine data further, and PDF.
  • Implemented in-house HTML to PDF solution, replacing the previously used third-party SaaS tool. This has saved the company money, improved performance and resolved the bugs caused by the previous solution limitations.
  • Realized that Brotli compression was not used by the API and the front-end. Implemented it end-to-end. Part of the job was related to CloudFlare configuration to the Dockerized nginx.
Technologies: TypeScript, React, Next.js, Playwright, APIs, SQL, Amazon Web Services (AWS), Amazon S3 (AWS S3), Full-stack, API Integration, Software Architecture, Web Development, Front-end, Testing, Back-end, Docker, PDF, SVG, API Development, GraphQL

Full-stack Software Engineer

2018 - 2022
Play North
  • Developed the Next.js-based front-end for the iGaming website.
  • Implemented the cashback feature, which included the daily cron job to calculate amounts, separate storage, an API, and the front-end widget.
  • Implemented the hot and cold games widget, with the regular job to calculate the data, the storage, and the API to query the data from the front end.
Technologies: React, Node.js, Next.js, Material UI, CSS3, JavaScript, APIs, Full-stack, API Integration, Web Development, Front-end, Back-end, MERN Stack, Docker, API Development

Full-stack Developer

2017 - 2018
Botpress
  • Worked on the back-end application server and CLI.
  • Developed the front-end admin panel and the dashboard.
  • Implemented several end-to-end features, including an interesting conflict resolution approach we've called ghost content for the back end, front end, and CLI.
Technologies: Bootstrap, Redux, React, Node.js, TypeScript, Next.js, Amazon Web Services (AWS), REST APIs, HTML, RESTful Services, Full-stack, Software Architecture, Web Development, Front-end, Back-end, SDK Development, SDKs, Docker, API Development

Senior Front-end Developer

2014 - 2017
Balena.io
  • Supported and evolved the main product, Resin.io's dashboard, an Angular-based app.
  • Implemented public URLs for Resin-connected devices. The feature, based on haproxy, implemented the unique tunneled URL for each of the devices in the fleet.
  • Converted the originally Node.js–based SDK to an isomorphic library, enabling its usage in the browser code.
  • Coded the company's website, developing the custom framework for rendering the documentation and generating multiple unique pages (device type + language used) from the templates and param-specific snippets.
  • Worked on an iPad hybrid app for medical data entry, implementing some advanced data input methods with Canvas and SVG.
Technologies: Bootstrap, Less, AngularJS, PostgreSQL, CoffeeScript, Express.js, Node.js, Amazon Web Services (AWS), REST APIs, HTML, RESTful Services, APIs, Firebase, Full-stack, Web Development, Front-end, Back-end, SDK Development, SDKs, Docker, Azure, API Development

Front-end Developer

2016 - 2016
Protorisk
  • Created a complex chat application using React and Redux.
  • Established coding practices and project structure.
  • Implemented custom widgets for different message types.
Technologies: Flow, Sass, CSS, ECMAScript (ES6), Babel, Webpack, Redux-Saga, Redux, React, HTML, Web Development, Front-end, SVG

Front-end Developer

2015 - 2016
Protorisk (DIFC), Ltd. (via Toptal)
  • Created an interactive highly dynamic client-side only application with charting capabilities.
Technologies: Ractive.js, JavaScript, HTML, Web Development, Front-end

Software Developer

2011 - 2014
Tranio.ru
  • Supported and evolved multiple parts of the system, both back- and front-end, including search.
  • Implemented an ads bookmarking feature saved to local storage.
  • Worked on an iPad-specific site version (m.tranio.ru).
  • Implemented (end-to-end) a promo site about stars' real estate properties (tranio.ru/stars).
  • Implemented a sophisticated, declaratively configurable data export mechanism from Django models to XML.
Technologies: CSS3, Sass, jQuery, Django, Python, REST APIs, HTML, RESTful Services, APIs, Web Development, Front-end, Back-end, PDF, API Development

Senior Software Developer

2011 - 2014
Likeandpay.ru
  • Created a third-party embeddable button similar to FB's "Like" button, but intended for micropayments.
  • Created a public API and authentication system.
  • Created a small credit card payment form to be used with the external payment gateway.
  • Handled candidate interviews.
Technologies: Heroku, Bourbon, Sass, CSS3, Ractive.js, jQuery, MongoDB, Express.js, Node.js, CoffeeScript, REST APIs, HTML, RESTful Services, APIs, Web Development, Front-end, Back-end, Ruby on Rails (RoR), PDF, API Development

Lead Front-end Software Engineer

2011 - 2012
EPAM Systems
  • Maintained and developed a set of reusable widgets used across multiple Viacom sites.
  • Assessed employees' front-end skills, recommending promotions or improvement vectors.
  • Handled technical interviews for new candidates and existing employees.
  • Organized workshops on modern web technologies (HTML5, CSS3, and modular JavaScript).
  • Acted as a front-end skill manager—organizing technical interviews for new applicants and existing employees, suggesting skill improvement vectors or recommending promotions, organizing workshops, and advertising best front-end programming practices.
Technologies: jQuery, CSS3, HTML5, JavaScript, REST APIs, HTML, RESTful Services, APIs, Web Development, Front-end

Team Lead, Project Manager

2009 - 2011
BuildSite, LLC
  • Managed customer requirements and communicated them to the team.
  • Introduced Django, with lots of customizations, as a database editor.
  • Designed and implemented the working prototype for an in-browser PDF annotation feature.
Technologies: Django, Python, jQuery, Perl, Web Development, UX Design, Python 3

Business Analyst, UI Designer

2004 - 2009
Red Graphic Systems/EPAM Systems/Oxagile/Vicman
  • Created tech specifications for websites and apps.
  • Built wireframes and mockups.
  • Documented business processes and financial algorithms.
  • Created end-user documentation.
Technologies: Jira, Confluence, Microsoft Word, Microsoft Visio, UX Design

Exponential View Newsletter Website

For Azeem Azhar's Exponential View, I have implemented the custom design for their Ghost.io–based blog. This involved using the Ghost APIs, HTML/CSS coding, and integrating external tools, like search engines and comments through Disqus.

The newsletter was later migrated to Substack, and the version that I have created is no longer active.

Web Native 3D Experience for the Diamond Business

https://sarine.com/diamond-journey360/
Sarine identifies itself as "the world's 1st AI-based diamond lab." They can track the entire lifecycle of the diamond, evaluate its potential, and issue the digital certificate of authenticity.

For their website, in collaboration with their design team, I developed the immersive 3D experience, demonstrating the evolution of the diamond, from a hot rock in the Earth's core to an uncut stone, to a perfect shape you purchase from the jeweler's store.

This was also an excellent opportunity for me to work with Svelte, Three.js, and glTF format, bringing 3D scenes directly to the browser.

In-browser options trading simulation tool

For Protorisk, I have created an interactive in-browser trading simulation/education tool. It would let the users select the instruments, configure their properties, and see their performance over time with the tables and charts.

Splash Screen Animation for My Own Digital CV

https://cv.mirotin.online
I developed this splash screen animation—a fun experiment with DOM-based drawing—for my digital CV.

It uses the actual DOM elements to emulate the old-style LCD screen dots, complete with the scrolling effect and the trace animations reminiscent of how the actual liquid crystals used to work.

If curious, you can check the source code in the repository: github.com/emirotin/lcd-cv

In-browser PDF Annotation Tool (When IE6 Was Still a Thing)

http://app.buildsite.com/
When working as a mixture of project manager and team lead for Buildsite, an established US company specializing in the construction industry automation, I was puzzled by the request to look for a solution to the popular user request of being able to annotate the PDFs from the browser, and without installing any costly software.

This was back in 2011, when IE6 was still a thing, and it didn't even support SVG.

Rather than just coming up with the idea, I have created a fully working prototype based on open-source software and operational without any browser plugins. Annotations were SVG, and the PDF document was prepared on the server and later rebuilt with the annotations as watermarks.

Resin.io Website (Replaced)

https://resin.io/
When Balena.io (back in the day Resion.io) was an early-stage startup, I led the creation of a new website that was simple and fast.

The site was served as a static site (generated with Wintersmith static site generator), serving as much HTML and little JavaScript as possible, and coded with Bootstrap (and a bunch of custom CSS on top of it), Less, jQuery, custom micro-directives implementation (a one-off micro-framework created specifically for the task), and the Nunjucks templating language.

Resin.io (Now balena.io) Client Portal (Dashboard)

As a full-stack engineer at Resin.io (later renamed to balena.io), I maintained and evolved the main user-facing element of the stack—the fleet monitoring and management dashboard.

Back then, the app was an AngularJS (1.5) SPA with Less and Bootstrap for styling.

MongoDB Migrations Framework, Open-source

https://www.npmjs.com/package/mongodb-migrations
When actively working with MongoDB for one of the projects, and for the lack of any robust and feature-rich migrations framework, I have created an npm module creatively named "Mongodb-migrations."

It's an OSS project published to npm, with both programmatic API and the CLI.

Note: not actively maintained.

Experiment with PNG and In-browser Drawing

http://emirotin.github.io/hover-dover/
This fun little experiment parses the PNG image in the browser and creates a simple yet catchy experience, often catching attention. Try yourself and reveal the hidden picture by moving your mouse pointer.

Tranio Stars Promo Site

Tranio is a real estate broker and search engine.
In 2011, I worked on a special promo page for it, featuring the real estate objects purchased by celebrities. The focus was on the powerful design and featured testimonials.

Tranio for iPad

http://m.tranio.ru/
Tranio.ru is a real estate broker and search engine.
In 2014, I worked on a special iPad-friendly, responsive version of the site. It was a complete rewrite, talking to the same API as the main site.

Languages

ECMAScript (ES6), JavaScript, HTML, CSS, CoffeeScript, TypeScript, Python, TypeScript 2, Haml, CSS3, Sass, HTML5, SQL, Less, Python 3, GraphQL, Perl, Bash Script, Bash, SCSS

Frameworks

Redux, Bootstrap 3, Next.js, Express.js, Compass, Django, Tailwind CSS, AngularJS, Bootstrap, Svelte, Jasmine, Material UI, Ruby on Rails (RoR)

Libraries/APIs

React, Lodash, Mustache, Node.js, jQuery, API Development, REST APIs, Redux-Saga, Ractive.js, Moment.js, Handlebars, Passport.js, Stripe API, Socket.IO, Backbone.js, jQuery UI, Three.js, ImageMagick, Playwright, Stripe

Other

Ajax, Front-end Development, APIs, Full-stack, API Integration, Web Development, Front-end, Back-end, RESTful Services, Architecture, Software Architecture, SDK Development, SDKs, MERN Stack, CTO, SVG, GitFlow, Statistics, GL Transmission Format (glTF), PDF, Content Management Systems (CMS), Radix UI, React Query

Tools

Babel, Webpack, Microsoft Visio, Mocha, Grunt, Git, NPM, Bower, ITerm, Atom, Microsoft Word, Confluence, Jira, Bourbon, Flow, Adobe Photoshop, Browserify, Mongoose, Inkscape, Ghost, MetaMask, Figma

Paradigms

Model View Controller (MVC), Agile Software Development, Object-oriented Programming (OOP), REST, Serverless Architecture, UX Design, Functional Programming, Behavior-driven Development (BDD), Test-driven Development (TDD), Templating, Testing

Platforms

Docker, OS X, Heroku, Visual Studio Code (VS Code), Amazon Web Services (AWS), Vercel, Firebase, Ethereum, Blockchain, Azure, AWS Lambda

Storage

PostgreSQL, SQLite, MongoDB, JSON, MySQL, Redis, NoSQL, Amazon S3 (AWS S3)

2002 - 2008

Master's Degree in Applied Math and Computer Science

Belarusian State University - Minsk, Belarus

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring