My name is Kirill Maltsev. I’m a full stack web developer. I help companies build and grow profitable web products, and also I run my own SaaS.
What I can do for you
Build a new web product
I can build a custom web product that solves your business problems. I’ve created and helped to launch a dozen web products (both for clients and as personal projects), so I know how to minimize the risks and ship a product that solves your actual problems most efficiently.
Improve your existing web product
Do you already have a working web product you’d like to improve? I can optimize the loading speed, UX/UI, or develop new features.
Optimize your workflow
Does your team struggle to deliver new features on time? Doesn’t the code quality meet your standards? I help you optimize your workflow.
Although I specialize in web development, I also did a ton of other work: messaging bots (e.g. @UnitConversionBot), machine learning projects, migration to AWS. So it’s likely that I could help you also with non-webdev stuff.
A web service that converts various data sources to RSS feeds. My own SaaS that I launched in 2017 and still run today.
There was a lack of services that let users easily convert different data sources to RSS feeds.
First I wanted to validate my idea. So I build a simple web service, where a user could get a unique email address or HTTP webhook and receive all messages sent to it via RSS. It was free, and no sign-up was required.
A few users started using it, so in the next iteration I added integration with Telegram. Notifier was the first project that let users read Telegram channels via RSS, so it got good traction.
A few months later I also added paid plan and started charging users.
To make sure all main functions are valid I created unit and automated tests. After each commit, the code is deployed to Semaphore CI, where the tests are run.
I set up errors logging and different types of reporting depending on an error level. For example, in case of a critical error, I immediately get an email notification with the error details. For non-critical errors, I get a daily summary.
Technologies:PHP, MySQL, Slim framework, Braintree, MTProto (Telegram API).
A service for content, projects, and team management in Revit. I’m working on Kinship as a full stack developer. I help maintain the services, build new features (both frontend and backend), and do DevOps.
Migrate to AWS
I migrated all Kinship services from a dedicated server to AWS.
Create automated tests and CI
I created automated tests, which each developer could run locally to make sure their changes don’t break the service.
I also built and integrated a CI system which runs all tests after each commit and notifies developers if some tests fail.
Improve services health check
To respond promptly to errors in the code and services failures, I integrated AWS CloudWatch. It tracks various metrics and notifies developers when something doesn’t work as expected. It reduced bug-fixing time.
Automate server management
Once the number of servers started to grow, it became harder to manage them manually.
I automated server management using Ansible, so with just one command new changes could be deployed to all servers.
The same command could be also used to deploy a local VM similar to the production environment for development.
Optimize loading speed
I helped track down bottlenecks and optimized the code and the infrastructure to fix them. It let Kinship serve an increased number of requests without the need to upgrade the hardware.
Technologies:PHP, Python, MySQL, AWS, Docker, Ansible.
Ovkuse is one of the biggest cooking communities in Russia, where users share and discuss food recipes. Cookpad acquired it in 2017. I worked on Ovkuse as a lead developer.
Improve workflow and stability
Ovkuse started in 2008 as a simple Wordpress blog with a handful of cooking recipes. Over the next 9 years it became one of the biggest cooking communities in Russia.
I introduced a version-control system for tracking changes in source code, created different types of automated tests to make sure new changes doesn’t break the website, integrated logging and error reporting.
Improve recipe posting using ML
When posting a cooking recipe, an author has to choose a relevant category and a sub-category manually. It was frustrating for authors since there were a dozen categories with more than a hundred sub-categories.
I created a backend that analyzes an author recipe’s title in real-time using machine learning and suggests relevant categories. It made the recipe posting process much smoother.
Optimize Wordpress for heavy traffic
During Christmas season Ovkuse gets much more visitors than usual.
I helped optimize Wordpress to handle 500K+ hits per day.
Ovkuse consisted of two main sections: the community and the recipes database, which used different CMSs (InstantCMS and Wordpress respectively). So they looked a bit different. There was also a mobile version of the recipes section, which also had a different theme optimized for small screens. We decided to build one common responsive theme for all sections.
I converted layouts created by a designer to a responsive HTML markup using reusable components and integrated the markup with Wordpress and InstantCMS. I also created a style guide for CSS and JS.
Technologies:PHP, Python, MySQL, Wordpress, InstantCMS, Selenium, BEM, scikit-learn, Ansible.
Check also other projects I’ve worked on.
Contact me: firstname.lastname@example.org