I'm a front end & Node.js developer,
and I love solving business problems
Let me show what I can do for you.
I've already done that for Fish.Travel
ending up with 12x increase of conversion rate to the booking requests
I spend my free time to develop and integrate the tools
to enable product managers and localizers to make and release the changes
with literally a few clicks.
Don't wait for the front end to be rebuilt anymore,
and manage the content on your web application exclusively by yourself.
Would you like to show different content for the audience coming from specific ads campaign?
This has never been so easy.
Long-term consequences of architectural decisions
are always the first-class priority for me.
I'll take care of your project by following the industry's best practices
and automating error-prone routine.
Does any of these topics sound similar to what you are looking for?
Contact me — I'd be happy to dive into your awesome project.
You can also learn more about me first.
I have scrupulously collected and structured
the most relevant information about me in one place. I hope this will help you.
An international fishing trips booking service.
Starting as a contractor at this startup, I became a de facto full-fledged team member very quickly. Did all the best to help the team to achieve the goals working with short deadlines for a long time.
During my free time, I kept searching for and figuring out the ways how achievement of goals could be accelerated with both my front end technical expertise and the ability to learn quickly. Cooperated with founders really closely and constantly took active part in the designing, polishing, and planning of most of the releases. Played needed but missing roles. Proactively offloaded the founders of distracting technical routine and took a number of tasks upon myself without shifting deadlines. Optimized business processes on my own initiative.
During this employment, I learned the areas from DevOps to product analytics. This was a huge business-oriented experience. As a result, we built a service selling in 18 countries and cooperating with service providers from 42 countries.
Drastically speeded up the loading of web pages, mostly out of work and for my own initiative
The data describes the main page where the content hasn't been changed much by the end of optimization. New pages are generally lighter since I've convinced the managers to keep an eye on UI smoothness. Thus, the new product page has First Meaningful Paint < 1.4s, Time to Interactive < 9.0s and Lighthouse Performance Score ≈ 60⁄100.
Much more investigation and experiments were planned initially, but since it already gave a huge improvement of behavioral metrics, I've shifted my personal attention to the optimization of business processes (such as introducing A/B experiments and providing the tools to customize the product dynamically).
Education Change Network connecting people from different cultures, schools and families was designed to help parents resolve problems, advocate their child interests, find ways and practical advice that would help more children reach better education.
(quoted from the website of owner organization, Loki Education)
Worked as a full-stack developer primarily focused on front end built with React. Aside from main work, suggested and integrated various improvements to the workspace and introduced practices for making the project more reliable, including type checking with Flow. Had been providing reviews for colleagues' code during the entire employment period. Offered myself for the founders to become development's main "driving force" or "mover" several times assuming the project is lacking efforts and care from the team.
Unfortunately, since the contribution of founders (they also were managers) was too limited and founders themselves were highly isolated and not available most of the time (when they were absolutely needed), I didn't feel healthy working environment and I couldn't show my capabilities enough as a developer and a team player. It's exactly what I've done with more success later during cooperation with Fish.Travel.
The project was suspended by the initiative of founders.
As one of the tasks, designed and worked alone on implementation of browser-based UI Kit supposed to allow third-party developers:
All entirely in the browser, on the fly, without setting up the development environment locally.
Solution collecting the best practices for developing production-ready web applications from scratch. It gracefully fine-tunes the tools for linting, debugging, bundling and delivery under the hood. Primarily focused on production performance and scalability of development.
Initially planned to integrate here all technologies I learn. However, it turned out to be much more valuable to do this inside the application of one of my clients, Fish.Travel. So I didn't have enough time for including the stuff here at the same time. Something has been included initially, but much more features are coming.
I'm going to finally integrate all collected knowledge here in late 2019. Before starting the migration, I need to revisit the distribution format. It's a plain boilerplate, just a starter repository right now, whereas an isolated, painlessly upgradeable solution like next
or razzle
is needed. The new strategy will hide configurational complexity and allow gradual improvements rather than a one-time injection.
The solution allowing to set up SSR and hot-reloading of SSR without the need to have two parallel webpack processes. Being highly performant, it speeds up rebuilding of large-scale web applications' bundles, especially in middle- and low-end devices. This way it prevents developer workspace from slowing down and cares about DX respectively.
As you know, the fewer developers are distracted on routine (like waiting for tooling), the more time and energy they have to polish UX, so better DX leads to better UX. Checked by myself.
The installation process is supposed to be easy. The solution itself is built to be stabler than alternatives like webpack-isomorphic-tools
.
Solution drastically simplifying the migration from i18next
to Fluent. Transforms i18next's full-featured .json
resources to compliant .ftl
. Generally doesn't require to make any changes in the codebase that directly uses the localization. Provides React bindings.
Estimated to save at least 40 working hours for projects with relatively small localization volume, such as Fish.Travel, and hundreds for others. The exact amount also depends on the complexity of codebase and i18next
features being in use.
A continually improving compilation of resources and tools covering different aspects of the development of production-ready web applications. I'm going to publish the articles about the problems which don't have simple and complete solutions available in the wild.
Planned to start with educational resources and even wrote an article about CSS minification with code samples. However, later I realized it would be much more effective to develop and publish automated solutions instead of endless advising and teaching.
Worth being said, web performance is not a topic to be easily "solved" without efforts in any company (verified at least with personal experience). It requires financing from the business anyway. In this case, some sort of automated solution will be much more helpful for the community. The solution would take these problems on its own and absolutely releasing the developer from the need to manually edit existing code and to do anything other than simple "plug and play".
Simple and lightweight JavaScript library for localizing web applications. Implemented partially with educational purposes to practice development, testing, documenting, and maintenance of npm package. On the other hand, the main reason is that I haven't found any library being easy to integrate and to use and not being too heavy at the same time.
The library is currently not well-suited to be used in serious production services since its functionality is very limited. I strongly recommend considering Fluent for these projects.
At the same time, the project has a future of growing into a comprehensive solution covering the full cycle of working with localization inside web applications on both browsers and servers. It may look like i18next
with its plugins but instead, with close integration with Fluent and focus on high performance (i18next
loses here).
The performance here is mostly about loading only the phrases (data) which UI actually needs at a given point of time. However, it'll also be beneficial to adopt Svelte's philosophy here and not to include unused functionality into the bundle.
The concept of browser-based real-time multiplayer strategy game with a mix of post-apocalyptic and space spirits. The game is focused on the detailed implementation of survival aspects. It provides huge realism and complexity which is especially unusual for browser games.
The goal is to train players' strategic thinking and to keep their mind healthy rather than entertaining, dominating, and corrupting people. So Jump to Infinity should be considered more like a trainer in contrast with traditional games.
Speaking of projects to compare, RimWorld has a similar spirit, but Jump to Infinity has larger scale closer to Wargame's battles. At the same time, it pays much attention to economics in a long-term prospect.
Partially implemented the protocol of client-server communication using WebSockets and Protobuf. Partially implemented server configuration and modding system. A lot of effort was put into game design.
Development is suspended being on the early stage. I plan to revisit this project later without aiming to achieve its commercial success. Instead, I'd like to consider it as a hobby and a development skills training project.
First-year university project. Mind map-like graph visualization based on React Konva, which describes people who have made a significant contribution to computer science.
[email protected]
(#31).@babel/template
npm package: Git branch@fluent/react
npm package: Git branchJavaScript
Standards
Web servers
Testing
Infrastructure
Version Control
Integrations
Styling
React
Infrastructure
Performance
Analyzers
Integrations
Integrations
Internationalization and localization
While I was studying at school, I began planning to make a valuable contribution to people's good future. Very soon, this intention became a life guideline.
During that time, I learned programming with C++ and Qt by myself to create a computer program making learning foreign languages easier. I wanted to integrate this software into school education.
After getting the first job on the web developer position I started helping everyone to learn programming and web development. At that time, I also dedicated a significant part of my free time to create a computer game having the goal to make people and their life better — not to distract, to dominate and to corrupt them.
Then I became so inspired by the idea of helping other people to get more opportunities for a better life, so I spent several months of my personal time on designing a set of courses for beginner web developers. This training program was supposed not to rephrase the frameworks' documentation as I've seen most of the time in Russia. Its goal was to teach the methods experienced developers use to create web applications for production, so I planned to help the students to reach Middle-level as quickly as possible. Finally, I realized I was not sufficiently experienced and not having enough money to take that project to become my next job.
Later, Fish.Travel became the project I put a lot of effort in. Starting as a client project, it turned into almost like my own one gradually. During my free time, I integrated there all useful technologies and practices I had been learning those days. This covered even more than just existing web application: I offloaded founders, helped them with product analytics and marketing, and built the tools to optimize business processes — I made all this stuff entirely for free. I was highly concerned about accelerating the achievement of this startup's business goals.
Almost a year since I began cooperation with Fish.Travel in autumn 2018, I published the first note on my personal blog (in Russian; more like a diary). Since then, I write every single day: describe my goals and tell why they're important for me, what I do to achieve them; analyze successes and failures, and answer the subscribers' questions. The blog is more psychology focused, but I write a lot about my daily work too. This way I try to inspire people around me to turn their life for the better.
A long time before I started the public blog initiative, the idea of endless self-improvement had taken hold on me. I realized I need to learn and work hard every day in order to make a valuable contribution to the world's development throughout my life. After I had been hired for the first time, I stopped playing computer games almost completely and then — at all. I'm also a strong teetotaler.
Currently, I learn the topics which stay side by side to web development, such as application deployment and delivery. I'm also interested in business-oriented topics like product analytics and product management, and due to close cooperation with companies similar to yours, I'm going to keep getting practical knowledge on how the business operates and how to build a successful product.
Recently I've begun to pay more attention to open source via publication of all collected knowledge. However, I won't just publish educational resources. I'd like to solve the problems entirely. For example, I'll rather work hard to develop an automated solution which will speed up someone's web application instead of writing another 10 articles about web performance.
High responsibility, proactiveness, and attention to detail. I care a lot about the projects I'm working on. It's a significant advantage, and that's why I grow quickly as a specialist and have all these accomplishments and valuable contributions.
Being an obvious consequence of my principles, however, it affects work–life harmony — I pay way less attention to health, rest and family. There's room for improvement here now.
Aside from working, I experiment with new development technologies and tools, watch talks at conferences. If I'm too tired, I watch entertainment videos or read articles about science or history. Getting rid of entertainment media these days since they're useless and distracting. Besides, since I use a laptop most of the day even without entertainment, this kind of rest increases harm to the eyes as well.
Becoming more and more engaged in physical activity now. Walking, running, gym, swimming pool. Prefer athletics over any other way to rest. If I don't have a sufficient amount of physical activity, I notice how health is getting worse and then work productivity decreases.
I'm open to offers from companies where I'm expected to do what I described at the top of the website helping colleagues or customers to get rid of the pain. I can design your software, optimize the workspace of your developers, increase reliability and performance of your existing web application, or solve your unique problem. I'm experienced with regular front end development with HTML and CSS, but prefer working on infrastructure.
I'll accept any employment option fitting your needs: full-time, part-time, contracting or custom. However, full-time or part-time are the most suitable options for me personally right now.
Prefer working remotely, since I already have more than 3 years of experience of working remotely with a time zone difference of 4–7 hours with the rest of the team. Being out of office, nothing prevents me from making valuable contributions. I'd rather say the opposite: I'm more productive working from home, the place where is no noise around me.
I’m ready to start working remotely full-time, being located either in UTC+7 or UTC+3, both in Russia. Currently, I’m in UTC+7, but I can easily switch the time zone within a month if needed.
Speaking of business hours overlap, I’m generally online to cooperate with the team closely from 1 AM (if you're in UTC, right from the beginning of your working day) up to 4-5 PM UTC.
My work schedule is highly flexible, so I can easily fine-tune it to stay productive and to be online even in the early morning or at midnight. This is especially applicable if you don’t work up to midnight and even further as a bunch of newborn startups does. I’ve used to adjust my schedule for teams like this.
I'm generally open for relocation outside Russia if it's worthwhile in your situation.Speaking of working remotely, I'm ready to start solving your problems right tomorrow.