Arsenii Fomin, Developer in Petropavl, North Kazakhstan Province, Kazakhstan
Arsenii is available for hire
Hire Arsenii

Arsenii Fomin

Verified Expert  in Engineering

Full-stack Developer

Petropavl, North Kazakhstan Province, Kazakhstan

Toptal member since November 4, 2015

Bio

Arsenii is a researcher, developer, and engineer. His experience includes creating solutions and corresponding software from scratch, like web and desktop apps, APIs, control programs for lasers and medical devices, frameworks for embedded systems, and more. Arsenii has a strong analytical mind and extensive mathematical and physical background. He is a self-starter, adept with quality and clarity of results.

Portfolio

Siberian Neural Networks
C++, C++20, Python, PyTorch, Open Neural Network Exchange (ONNX), ONNX Runtime...
SCRIPTS Asia
Angular, AWS Lambda, Amazon API Gateway, Amazon DynamoDB, TypeScript, AWS SDK...
Pawlicke, LLC
Git, Gulp, Bower, SparkPost, MongoLab, Heroku, REST, Passport.js, Bootstrap...

Experience

  • Software Architecture - 12 years
  • Web Development - 8 years
  • Full-stack - 8 years
  • Single-page Applications (SPAs) - 7 years
  • Algorithms - 7 years
  • Amazon Web Services (AWS) - 6 years
  • Angular - 6 years
  • APIs - 6 years

Availability

Full-time

Preferred Environment

Git, Visual Studio Code (VS Code), Postman, NPM, Yarn, Slack, Trello

The most amazing...

...thing I've made is a system with 2,000+ users for creating, storing, and automatically distributing event coverage content for institutional investors.

Work Experience

Senior Developer

2024 - PRESENT
Siberian Neural Networks
  • Implemented cross-platform AI-powered application for storing and effective searching over different document types using LLM/Embedder models running locally on PC.
  • Created a cross-platform C++ library for running the company models on PC/custom ARM devices, including support of different input formats (stages of inference), adjusting the existing open-source C++ library code for the project, and testing.
  • Implemented Python scripts for converting the existing company PyTorch/Hugging Face models into Open Neural Network Exchange (ONNX) and llama.cpp (.gguf) format, comparing output, performance testing, etc.
  • Proposed implementation alternatives for the projects when the company lacked needed resources and managed the tasks of two junior developers.
Technologies: C++, C++20, Python, PyTorch, Open Neural Network Exchange (ONNX), ONNX Runtime, Neural Networks, Optimization, Git, CMake, Cross-platform Libraries, Docker, Multithreading, Performance, Artificial Intelligence (AI), Large Language Models (LLMs), BERT, Automatic Speech Recognition (ASR), Quasar, Electron, Node.js, Vue 3, Tailwind CSS, Llama, Retrieval-augmented Generation (RAG), Vite, LanceDB, Cross-platform App Development, App UI

Lead Software Engineer

2018 - 2024
SCRIPTS Asia
  • Created a robust platform with 2,000+ users to produce SCRIPTS Asia's content: region and role-based data access, workflows based on configuration, scheduling and notification, and integration of 3rd-party services for automatical content processing.
  • Developed the client API for an effectively created content acquisition on the fly: authentication, API keys managed access quotas, providing pre-signed URLs for direct file access, content change detection logic, and 100,000+ requests/day.
  • Developed a client portal for manually created content acquisition: web UI, access plans, filters, text search, calendar/table views, profiles, modals, file downloading, and preview for 800+ users.
  • Proactively provided suggestions on how to convert incoming business logic/needs to code/UX/UI/infrastructure and implemented changes.
  • Created and ran multiple data-clearing and backfilling scripts for the production environment.
  • Provided and managed tasks for three front-end and back-end developers.
Technologies: Angular, AWS Lambda, Amazon API Gateway, Amazon DynamoDB, TypeScript, AWS SDK, Amazon Web Services (AWS), CI/CD Pipelines, APIs, Web App Development, REST, Architecture, Git, App UX, Full-stack, Web Development, JavaScript, Algorithms, Visual Studio Code (VS Code), Amazon S3 (AWS S3), Node.js, Responsive UI, HTML5, CSS, Amazon Route 53, AWS IAM, AWS Step Functions, Amazon CloudWatch, Optimization, Single-page Applications (SPAs), HTML, Amazon Cognito, Web App Deployment, Web App Design, Responsive, Amazon Cognito User Pools, JSON, Amazon Simple Email Service (SES), Asynchronous Programming, AWS Cloud Development Kit (CDK), Serverless Architecture

Full-stack Developer

2016 - 2017
Pawlicke, LLC
  • Created an MVP for a SaaS application for animal shelters.
  • Developed material design UI for several types of users (admin, organization, staff, foster) with smart tables, modal windows, and templates with dynamically adjusted content.
  • Designed database documents' data structure for storing multiple organizations' user, animal, template, and history data with cross-relational information.
  • Developed a RESTful API for database token-based access, checking user type and permissions.
  • Created server-side automatically running daemons for email notification sending, data updating, and removing.
Technologies: Git, Gulp, Bower, SparkPost, MongoLab, Heroku, REST, Passport.js, Bootstrap, AngularJS, Mongoose, MongoDB, Express.js, Node.js, Full-stack, Web Development, JavaScript, MEAN Stack, Responsive UI, CSS, Single-page Applications (SPAs), HTML, Web App Design, Responsive, APIs, Web App Development, Architecture, App UX, Full-stack Development, Databases, Software Architecture

Engineer

2011 - 2015
Tekhnoscan, JSC
  • Developed control programs and designed control panels for a new family of lasers and medical devices based on LPC 2148, 2478, and 3250 microcontrollers hardware under Keil RL-ARM RTOS.
  • Created a support library featuring widgets, containers, file handling, and other utilities.
  • Designed a protocol of remote access to device model structures and data.
  • Developed several PC applications for laser remote control and testing, creating graphics, and printing reports to PDF.
  • Conducted experiments, built models of laser behavior, and created routines for laser testing.
  • Created several algorithms for real-time medical device audio signal data processing and visualization.
  • Wrote device documentation and created visual start guides.
Technologies: Real-time Operating System (RTOS), Keil, Python, Qt, C++11, C++, Algorithms, Embedded Systems, Object-oriented Programming (OOP), Design Patterns, SOLID Principles, Data Structures, Optimization, Concurrent Programming, Architecture, App UX, ARM Embedded, Software Architecture

Software Engineer

2010 - 2011
Arello Mobile
  • Developed a PC program of restoration and visualization of the 3D models from MRI images of the brain.
  • Dealt with CLI for the C# interface and C++ engine interconnection.
  • Wrote several Symbian mobile applications using Qt.
  • Used code reviews and Jira for workflow management.
Technologies: Symbian, Qt, VTK, C++, Object-oriented Programming (OOP)

Master

2009 - 2011
Higher College of Informatics of Novosibirsk State University
  • Led the C++ section at College Summer Schools in 2009, 2010, and 2011.
  • Supervised approximately 30 PC game projects of students.
  • Read lectures on C++, object-oriented programming (OOP), DirectX, and development basics and conducted seminars in computer classes.
  • Covered basic OOP, 3D graphics, programming, and debugging concepts for students as young as eleven years old.
Technologies: DirectX, C++, Object-oriented Programming (OOP)

Sofware Engineer

2006 - 2006
Institute of Cytology and Genetics SB RAS
  • Developed a C++ module for efficient high-precision real number calculation.
  • Implemented an optimized BFGS algorithm for solving unconstrained nonlinear optimization problems.
  • Read scientific articles to improve the approaches used.
Technologies: C++, Algorithms, Object-oriented Programming (OOP), Optimization

Experience

Vasilisa | Cross Platform AI Assistant App

It was implemented from scratch as an Electron application with a Vue front end and llama.cpp-based inference. It allows users to load personal documents into a local vector database and use a chat-like interface for effective search and summarization. The functionality is ensured by the company's LLM and Embedder models working via RAG.

I'm responsible for the development process, including the creation of UX/UI.

SCRIPTS Asia's Online: Platform for Producing Event Coverage Content

Implemented from scratch as Angular SPA with serverless AWS back, ensuring scalability (seasonal spikes) of the usage required by the business scope. At this point, the platform has been used by SCRIPTS Asia for more than four years. It allowed the company to distribute the production content in an automatic and effective way and significantly reduced operational costs.

I was responsible for the whole development process and created the first production version. Later, my responsibilities extended to managing a back-end developer who integrated third-party services into the system and a front-end developer who worked on small features requested by the team. I had regular meetings with the company CTO to improve the vision of the business requirements changes, suggested various possibilities of business logic projection with the predefined tech stack (Angular/serverless AWS), and then implemented the selected option. The most challenging tasks were related to the requests to significantly update or enhance data format and generated files of already created products in the production environment, ensuring non-interrupted workflows and full uptime and backward compatibility for the company clients' data fetching scripts.

SCRIPTS Asia's Client API

API for automatic distribution of SCRIPTS Asia content to distribution partners and clients, including the SCRIPTS Asia Client Portal application.
API handles authentication, automatic usage access quota based on API keys, and data access based on the client's access plan. With automatic usage in mind (access with data fetching scripts), API logic ensures effective access to data changes without consuming many system resources by providing update lists and generating pre-signed URLs for product text and media file access.

I created API logic and implemented it from scratch based on the business requirements provided.

API users include Standard & Poor's, Japan Exchange Group, FactSet, QUICK Corp., and Morgan Stanley.

SCRIPTS Asia's Client Portal

This web interface allows analysts and investment firm clients to access SCRIPTS Asia's products implemented as Angular SPA over SCRIPTS Asia's API.
It features team and client management UI, permission handling, metadata, and file access management based on the client plan, calendars, tables, rich search capabilities, and a notification system.
During the MVP stage, I managed another developer responsible for the project, then completely took the project up.

Responsive Client for Multiplayer Online Board Game

https://ancient-people.herokuapp.com/
This is a personal project. I implemented the client for a turn-based cardboard game featuring push strategy state change for the players, different play zones, modals, hints, game chat, and an after-game statistics screen.

The most challenging thing has been implementing responsiveness: the correct view and readability of all game cards (images and texts) and other game elements for different screen sizes.

Admin Dashboard for a Luxury Facility

Created as a final element to an existing system admin dashboard that allows luxury facility staff to manipulate guest data, charges, news, and event content for the site and mobile app. The change provided service conditions and more:

• A responsive front end built in Angular 5 with MDBootstrap visual theme.
• Dynamic interfaces allowing to fill in and change complex data structures.
• A serverless back end on Amazon Lambda with the RESTful API on Amazon API Gateway.
• Creating, editing, searching, and filtering user profiles powered by Amazon Cognito.
• Manipulation of news and events objects, marina, laundry, and other services using Amazon S3 and DynamoDB for storing visual and text information correspondingly.
• Viewing user transactions with Google Maps API for showing transportation transaction routes.

The project took about 70 hours of work.

Web Application for Animal Shelters

Designed especially for shelters and animal rescue groups, FosterKeeper reduces and automatizes the work of shelter staff involved in managing and contacting fosters and volunteers.

• Creation and storage of foster keeper and animal data, archiving data not in use.
• Foster keeper, animal, and template tables with smart ordering, filtering, searching, and sending emails to selected groups of people.
• A special mechanism called the Foster goal. It combines and simplifies asking the foster keeper to perform specific actions, notifying them via email about the action using a chosen notification plan, monitoring action fulfillment states, and resolving fulfilled actions.
• Powerful notification templates that allow simple reuse of the same email text and style with different data inserted from context whenever possible.
• A step-by-step online procedure for foster registration on their own.
• Different types of accounts for organization and staff, allowing invitation, manipulation, and permission setting.

During the project, along with planned feature implementation, I polished and reworked many client ideas and also proposed several ones by myself to create a user-friendly and flexible MVP.

Control Software for Powerful Green Single-frequency Lasers

http://tekhnoscan.com/russian/mozart.htm
Operating on custom LPC 2478 and LPC 3250 ARM microcontroller boards, this control software for the Mozart pump laser family provides an attractive user interface with extended possibilities for laser adjustment. It allows automatic laser power setting and tracking, hiding an internal complex algorithm of several laser params tuning from the user (which was impossible for preceding laser versions). Additionally, it provides comprehensive emergency and failure detection and informing routines, automatic calibration, and the possibility of external laser control from the PC.

The algorithm for power adjustment was initially unknown. I undertook extensive experimentation and testing on a functional laser to discover and validate it. Additionally, I designed both the user interface and the laser front panel to align with this newly uncovered algorithm. l managed to hide all hardware details from the other parts of the program. Abstraction layers start from the microcontroller interrupt calls to C++ code from the RTOS ASM core and drivers operating the microcontroller and hardware registers written in C and end with high-level laser modules and interface C++11 code.

Laser Stress Testing PC Software

http://tekhnoscan.com/
This PC application for laser stress testing provides an autonomous multi-hour-long laser testing procedure that lasts several stages. Any testing plan can be described in a special human-friendly language format and loaded from the file at the start of the program. During the test, the program tracks and visualizes all laser parameters changing on the screen. In case of emergency, the laser is automatically turned off. At the end of the test, a report is created containing all obtained data, graphics, and a conclusion about whether the test succeeded. The summary is printed to PDF.

I completed this project in two weeks. Creating and printing the summary to PDF was not a design requirement. I added this feature when I realized it could be done readily using the Qt library.

Portable Blood Flow Monitoring Medical Device Software

The DiskMed blood flow monitoring device uses an ultrasonic sensor for non-invasive measurements of blood flow in the hands and neck arteries. It has a touchscreen interface and provides real-time blood flow visualization and voicing. It is capable of systolic and diastolic speed, pulse calculation, monitoring, and signals about any dangerous deviation in their values. At the background of the process are the LPC 2478 ARM microcontroller custom board and a number of highly optimized DSP algorithms.

At the beginning of the project, there was almost no information about how to deal with an ultrasonic sensor signal. It is well known that blood flow visualization is based on the Fourier transform of the demodulated Doppler shift signal. However, all noise reduction steps, signal envelope building, and flow speed calculation correspond to company know-how. I discovered and implemented that algorithm by myself. All signal processing and visualization are held in real-time on the same processor without a graphics accelerator.

PC Software for Blood Flow Visualization and Recording

The CardioAnalytics PC software is intended to visualize and record patient blood flow data recorded from an ultrasonic sensor. It uses several digital signal processing algorithms to refine the data, find the envelope of the blood flow pattern, and calculate systolic and diastolic speeds and pulses. Patient info is filled in and stored along with recorded data.

The application's processing and visualization adjustment capabilities are more than those of known competitors. To prepare for a presentation at a medical conference, I applied a Qt stylesheet to customize the UI, making it visually appealing and attention-grabbing.

Embedded Software Development Support Framework

The framework's main purpose is to accelerate embedded software development by providing common interface styles and tools for different hardware configurations. It is inspired by Qt and contains several modules,
including core, context, concurrent, widgets, and multimedia. It has general interfaces for file handling, concurrent programming, display, and touchscreen devices, time handling, and others, which should be implemented for particular hardware. The framework contains a great amount of classes based on those interfaces, such as threads, fonts, graphics, painters, widgets, settings, etc.

I used the framework to create all embedded software in the last three years. It has proved to be flexible and comprehensive. The framework allows for testing most device interfaces and logic on PC, which increased debugging and increased speed by over 20x.

Education

2004 - 2010

Master's Degree in Applied Mathematics and Physics

Moscow Institute of Physics and Technology - Moscow, Russia

Skills

Libraries/APIs

API Development, Node.js, Vue, REST APIs, Vue 3, VTK, DirectX, NgRx, NgRx/store, RxJS, Passport.js, Socket.IO, OpenMP, PyTorch, Google Maps, Google Maps API, llama.cpp

Tools

AWS SDK, Amazon Cognito, Git, TortoiseSVN, Visual Studio, TortoiseGit, Keil, AWS IAM, Gulp, Qt Creator, Mongoose, Subversion (SVN), MongoLab, Microsoft Visual Studio, Eclipse IDE, Jira, Bower, Amazon Simple Email Service (SES), AWS Step Functions, Amazon CloudWatch, Amazon CloudFront CDN, Amazon Simple Notification Service (SNS), AWS Cloud Development Kit (CDK), Postman, NPM, Slack, Trello, Microsoft Excel, Open Neural Network Exchange (ONNX), CMake, Amazon Simple Queue Service (SQS), GitHub

Languages

TypeScript, JavaScript, C++, C++11, HTML, CSS, Python, Sass, SQL, C, CSS3, HTML5, SCSS, C++20, C#

Frameworks

Angular, AngularJS, Qt, Bootstrap, Electron, CODE, Express.js, Loopback, Yarn, Vuetify, Tailwind CSS, Quasar

Paradigms

Object-oriented Programming (OOP), Design Patterns, Serverless Architecture, REST, Unit Testing, MEAN Stack, Concurrent Programming, API Architecture, Responsive Layout, Responsive, Web App Design, Desktop Web Design, Responsive Web Design (RWD), Promise, Asynchronous Programming, Cross-platform, ETL

Platforms

Amazon Web Services (AWS), AWS Lambda, Visual Studio Code (VS Code), Symbian, Heroku, Windows, Docker, Vercel

Storage

Amazon DynamoDB, JSON, Databases, Amazon S3 (AWS S3), PostgreSQL, MongoDB, Elasticsearch, JSON/XML Schemas

Industry Expertise

Web Design

Other

Embedded Systems, SOLID Principles, Algorithms, Single-page Applications (SPAs), Full-stack, Web App Deployment, Web Development, APIs, Web App Development, Architecture, App UX, Full-stack Development, Software Architecture, SaaS, Software as a Service (SaaS), Back-end, User Experience (UX), Amazon API Gateway, Data Structures, Debugging, Optimization, Modeling, Responsive UI, Neural Networks, Dynamic Websites, SaaS Design, Cloud Architecture, Technical Leadership, API Integration, Multithreading, Performance, Scalability, Artificial Intelligence (AI), Minimum Viable Product (MVP), Front-end, Data Processing, Real-time Operating System (RTOS), Amazon Cognito User Pools, Genetic Algorithms, ESLint, Angular Bootstrap, Back-end as a Service (BaaS), Landing Pages, SparkPost, HTTP, Amazon Route 53, Async/Await, CI/CD Pipelines, ARM Embedded, Vite, PDF, Cloud Patterns, WebSockets, Medical Software, Data Compression, Game Development, ONNX Runtime, Cross-platform Libraries, Memory Management, Large Language Models (LLMs), BERT, Automatic Speech Recognition (ASR), Open-source LLMs, Llama, User Interface (UI), Retrieval-augmented Generation (RAG), LanceDB, Cross-platform App Development, App UI, Light LLMs, Vector Stores

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