Full cycle development
Websites, bots and automation that work.
I take the task end to end: analysis → prototype → design → development → testing → launch.
This is only a part of my work, and the portfolio is updated constantly. If you liked my style or a particular project, get in touch and we will go through the details of your task.
Demo
Hands you will
love to show off
love to show off
Book online
Business card site · services
Nail studio
The problem. A guest picks a salon by the technician and by the free slots. Not seeing either on the page, they leave to send a direct message instead.
The solution. A light layout on a serif typeface with a single accent colour: a price list with no small print, technician cards, reviews and free slots.
The result. The lightest layout in the set at 27 KB. Prices and technicians are edited straight in the markup, no admin panel needed.
Open the work
Demo
We fix it so
you come back
only for a service
you come back
only for a service
Book a slot
Business card site · services
Car service
The problem. A car owner wants to know in advance what the repair will cost and when they will get the car back.
The solution. A dark workshop-style layout on a sans-serif typeface: a grid of services with prices, a quote form and the order of work step by step.
The result. One page at 30 KB, every graphic drawn in code, not a single raster image.
Open the work
Demo
A bouquet that
arrives flawless
arrives flawless
Choose a bouquet
Online store
Flower delivery
The problem. The buyer decides in a minute. They need to see the bouquets, the price, the delivery time and the return terms straight away.
The solution. A catalogue of eight bouquets with filters by flower type and by price, discount badges, a cart and a freshness guarantee.
The result. The filters work with no page reload. When nothing matches, the buyer sees a hint rather than an empty screen.
Open the work
Demo
The load is moving,
and you see where it is
every minute
and you see where it is
every minute
Calculate the cost
Corporate website
Freight transport
The problem. A freight customer wants the price and the timeline immediately, not a form saying "leave a request and a manager will call you back".
The solution. A corporate page with a calculator: it works out cost and time from the route, the weight, the load volume and the body type.
The result. The calculation runs in the browser and updates on every field change, with no form submission and no server request.
Open the work
Demo
$49.5KRevenue
1 284Orders
2.84%Conversion
Admin panel
Store management dashboard
The problem. A store owner needs one screen with revenue, orders and their statuses, without exporting spreadsheets to Excel.
The solution. A dashboard with metric tiles, a thirty day revenue chart, order sources and sales by category.
The result. The chart is plain SVG and shows the day and the amount on hover. The palette is checked for colour blind legibility.
Open the work
Demo
BotAPISite
Marketplace · bot + site
Classified ads platform
The problem. Ads lived in chat messages. Half the cards arrived with no specifications, and they were published to the channel by copy and paste.
The solution. Submission in the bot is split into ten steps with a check on every field. The moderator presses one button and the card goes to the channel and to the site.
The result. Three entry points on one data model: the bot, the channel and the storefront. The channel and the site never diverge.
View the case
Demo
Before15 s
After5 s
DevOps · Laravel · Docker
Deployment and a 3× speed-up
The problem. A purchased classified ads script had to be brought up alongside other stacks, localised into Russian and made faster. The home page took 15 seconds to load.
The solution. An isolated Docker stack with its own ports, network and volumes, installation from the console instead of the browser wizard, cache and sessions in Redis.
The result. The home page opens three times faster, with zero conflicts with neighbouring stacks. The culprit turned out to be the file mount, not the database.
View the case
Demo
Награда искателя
Принять
Game add-on · WoW
Matreshka localization
The problem. European servers are locked to English and the client cannot be switched. Replacing system strings directly breaks the game's protected interface.
The solution. Translation through render hooks: quests by identifier, item tooltips line by line, chat lines taken from Blizzard's official translation.
The result. 53,770 chat lines and 1,078 NPC dialogues, zero interface crashes. An open project on GitHub and CurseForge, with releases that build themselves.
View the case