About me • Portfolio • Resume / CV • Contacts
- 🔭 I’m in love with my bf
- 🌱 I’m against Russian-Ukrainian war, instead of war I’m making love
- 🤔 I’m looking for a full-time job in United States with work visa, expecting 150-200k$/year, here is my resume
✨ I have over 150 repositories on GitHub, dozens of repositories on GitLab, many happy clients from Freelance over the years, one of whom I worked over 530 hours with — hire me! ✨
⚠️ Starting from 17 July 2022, 13:15 UTC I'm using GPG key to sign all my commits here and on @hloth account. Trust only commits with "Verified" badge from me. Also check signature of verified commit, it must beA7EA9B54F67F9685
(earlier01162BC86DE54C7A
) or62036A0EB54FB7AF
if I commit from Windows — for this account and04255EC8D29C0AAF
(earlierDEE0F7C423D3C578
) for hloth.
🎉 Replica Player is my 100th repository, replicating all features of YouTube web player as a React component for opensource community. Celebrate with me by starring it :)
Open Oxen Name System registry. Fast and free for everyone. Explore ONS records in OXEN blockchain, filter by owner, lookup by partial text query for unhashed names, view estimated money spent on all records by specified owner. Local-first, fully mobile-optimized. Purchase system allows you to buy any ONS name in 30 seconds without having to own oxen wallet and buying crypto — just type in name you want, pay money and it will be automatically pushed to blockchain along with sending you wallet-owner mnemonic to specified email (if you specified it).
- Service Worker
- Caches all assets for offline visits
- Downloads whole ONS db (2mb) if user is connected to Wi-Fi, has "saveData" set to false in device settings and has fast connection speed. Then uses this database when user visits ONS Registry being offline. Updates are based on E-Tag header.
- Otherwise, falls back to remote searches. In any case, any new found hash matches are cached to server using Background Sync web interface
- For hashing and encryption, I'm using WebAssembly on frontend and crypto module in Node.js on backend
- For storage I'm using Cache API web interface on frontend and sqlite on backend
- Fully localized for two languages using next-i18next
- Integrated with YooKassa API for payments and shell for communication with oxen daemon.
- Automatically fetches, parses and analyzes new blockchain transactions via JsonRPC api connected to public node
- Uses CoinGecko API and OXEN coin historical price data to estimate how much money owner spent on their records
- Uses custom Monero base58 encoding to convert between ed25519 keypairs and OXEN wallet addresses
- Accessibility and fancy design built with @shadcn/ui
- No ads and bullshit. Free API for everyone with reference and documentation
- Built with React, Next.js, next-pwa, Tailwind, Redux-toolkit
- More info: https://t.me/session_nodejs | Visit the website: https://ons.session.community
Session Bots Directory is a place to discover bots created by Session messenger developers community.
- Free and opensource
- No personal info is collected for signups
- Adding new bot is as easy as writing a little info about it and verifying response from bot to make sure you're the real author of it — it can be done in less than 60 seconds
- All moderation is automatically done by GPT. It does not allow any illegal topics and any visitor can report any bot anytime with instant notification to me for additional review
- All bots are automatically checked for uptime using custom checker built on top of my free&opensource bot framework for Session
- Frontend is built with Remix (my first Remix project), Tailwind and @shadcn/ui library
- Backend is built with Fastify and Node.js; for DB I'm using Redis
- More info: https://t.me/session_nodejs | Visit the website: https://bots.session.community
kspsuti.ru | sipacker.ru | ogeinfo.ru |
---|---|---|
Next.js 13.5 website that parses my college schedule and displays it with shiny @shadcn/ui radix UI components on Tailwind | Feature-rich full-powered web app built with React, used to edit and create games scenarios for SiGame video-game | The most powerful exam preparer for Russian's global school test «ОГЭ» with WASM-powered client-side Python/JS code compiler |
gadzas.ru | aboba2024.ru (opensource) | fucksamlit.ru |
---|---|---|
My very-first big project in React — a webpage specially for fans of my favourite YouTube streamer Glad Valakas, which contains 103 playable audio fragments | My second big project in React — a whole website specially for fans of Glad Valakas, with design similar to Alexey Navalny's presidental campaign website | My cybersec article about how I hacked my school and stole all students' personal data including personal photos to prove vice-director is a bad sysadmin |
solovyev.netlify.app | Tor Chat (.onion) | hazbin.netlify.app |
---|---|---|
My first React project built with FSD architecture/methodology, you have to guess who said the quote: Russian propagandist Vladimir Solovyev or Adolf Hitler | One of several onion hidden services deployed by me to onion network is a simple anonymous chat built with Vite in strict accordance with Feature-Sliced Design methodolohy | I love Minecraft and SMB with my boyfriend so much that I made a simple React webpage with a lot of parallax animations moving with scrolling for my in-game shop |
Roller-Ride | GoStudy Masha Simulator | MTProto Mobile (opensource) |
---|---|---|
Ads-free arcade mobile game I built with Unity when I was 13, published to Play Market by myself; a year later I also published another Unity game to Steam | Ads-free clicker mobile game built with Unity in 7 days as a protesting act for a czech language-studying school, that later refused to accept me as a student | In addition to web I also love bot-development, especially Telegram API's MTProto — that's why I built a raw mobile client for Telegram API with Expo and React Native |
Sorted from best to worst
Name | Description | Usefulness1 | Effort1 | Release date |
---|---|---|---|---|
@hloth/scaffold | NPX tool for me to easily scaffold new project, containing TypeScript config for modern ES, eslint with my favorite code style and Jest tests with ts support | 10/10 | 7/10 | Nov 19 2022 |
waveformer | Calculates peaks of audio without drawing it to canvas or creating audio | 10/10 | 4/10 | Oct 30 2021 |
lgbtize | Node.js utilities to LGBTize everything | 3/10 | 2/10 | Apr 14 2023 |
s-otk-js | Неофициальная обертка для закрытого API сайта Самарской Объединенной Транспортной Карты, написанная с TypeScript и Jest | 10/10 | 10/10 | Apr 23 2022 |
asurso | Asurso.ru API wrapper [beta] | 10/10 | 8/10 | Feb 09 2022 |
checkerboardjs | Easily draw transparency pattern on canvas when flattenning images | 6/10 | 5/10 | Oct 11 2021 |
mafiaonline.js | Обертка API Мафии онлайн на Node.js | 10/10 | 10/10 | Apr 29 2022 |
my.telegram.org-api-wrapper | Полностью типизированная библиотека с оберткой для my.telegram.org | 7/10 | 5/10 | Oct 30 2022 |
sigame-packs-api | API wrapper for sigame.ru which displays info about SiGame packs | 8/10 | 6/10 | Oct 19 2021 |
react-graphic-key | Customizable ReactJS component of graphic key | 8/10 | 5/10 | Apr 08 2021 |
reddit-api-image-upload | NodeJS module for uploading images directly to Reddit server and then use it with any "full-featured beta wrapper" to submit post. | 9/10 | 5/10 | Mar 20 2022 |
random-steam-avatar | Async function that returns 100 steam avatars from randomavatar.com. | 5/10 | 2/10 | Jan 06 2022 |
replica-player | Video-player for React that is identical to YouTube's player. YouTube video-player clone. | 10/10 | 8/10 | Jul 17 2022 |
mafia-tools2 | API игры Мафия Онлайн на Node.JS с поддержкой ES6 и Promise | 1/10 | 8/10 | Aug 26 2021 |
destream-api | Full featured DeStream API NodeJS wrapper [BETA] | 7/10 | 6/10 | May 31 2021 |
alerts-api | Donation Alerts API wrapper for Node.JS which supports ES6 promises [BETA] | 6/10 | 7/10 | May 28 2021 |
esoteric-ruscript | Высокоуровневый конкативный эзотерический язык программирования с русскоязычным синтаксисом, компилирующийся в JavaScript. | 1/10 | 6/10 | Jan 30 2021 |
use-scrolled-past | Use this hook to build links in navigation | 3/10 | 2/10 | Sep 29 2021 |
aboba | Micro package for polyfilling. Exports {} in ESM syntax. Абоба. | Depends | 0/10 | Oct 1 2022 |
1 — in my subjective opinion
2 — package deprecated
-
Q: How did you become programmer?
A: I wrote an entire autobiography on this topic.
Read autobiography in English
May be inaccurate because translated with Deepl.
I was introduced to computers when I was 4 years old, and at the age of 6 I wrote my first program in Pascal ABC. Later I switched to the .NET version, but I never learned this language to the end. When I was 7 years old I was drawing video game levels on paper and visualizing game mechanics and gameplay in my head. At the same time I was given a CD with Adobe Flash Macromedia program and made my first video-game.
At age 8, I found out about Kodu Game Lab and spent many more months exploring it and making 3D games. In second grade, I enrolled in a school video game making course where I was introduced to Scratch. I ran home that same day, downloaded Scratch, and spent the entire evening creating simple games. I even skipped boxing class, just so I could spend more time with my dream program. Over the next three years, I created games of varying complexity on this engine and found a lot of people on the online platform scratch.mit.edu.
At the age of 10 I downloaded Python and finally switched from Pascal to it. For the next two years I would constantly solve problems on contests sites (Russian alternatives to Codewars). Around the same time I learned about phpDevelStudio and created my first GUI application, this is how I started learning php. In fourth grade I created my very first website on uCoz CMS for my school class, which brought me popularity in school. With it I learned the very basics of HTML/XML and CSS.
Around the age of 12, I finally moved from command blocks in Minecraft to real programming languages. At the same time I also tried writing mobile apps in Java for the first time, but quickly abandoned it. Also I downloaded Unity for the first time and spent all the two weeks of vacation, learning C# and the engine's features. After that I rarely visited my online profile on Scratch.
When I was 13, several things happened at once: I released my first Unity game (Big Quest) and in September I released my first mobile game (Roller-ride) and added it to Play Market, right after that I started developing Stigfinnare, I also made my first website on JS with XMLHttpRequst ("What's the difference?") and I met people who would almost ruin my career in the future.
At the age of 14, while developing the server code for Stigfinnare, I bought my first VDS server and my first domain utidteam.com (the name of the team that legally published Roller-Ride and Stigfinnare, but in fact it was just me), and with a lot of hard work and gratuitous help from one of my programmer friends I could configure Apache server, CGI-Python, PHP and MySQL. After an entire evening of setting up ssh and Ubuntu I played with the echo command and seemed to find happiness for a while. In the summer I released my first online game (Stigfinnare) and published it on Steam. Immediately after the release I made a lot of new friends with whom I would try to create a collaborative project in the future without success. In the fall I created my first site with authorization to teach and test Python programmers (py3exec). I used Bootstrap, as my computer science teacher advised me. At that time I tried to start my new big project "splooit" with my friends: I drew the site design, found programmers I knew and created a Telegram chat. Of course, after just 2 weeks, no one but me in the chat room was no longer. In the winter of the same year I decided to leave the Russian social network VKontakte, but I was subscribed to Alexey itpedia Shevtsov's community, so I decided to write a Reddit bot, which reposts from VK. It became my last project written in Python. It was also when I officially stopped supporting Stigfinnare. In February, I made the Glad Valakas Gadzas website in one evening, which later became my most popular project. In the spring, I discovered that my knowledge of JavaScript and the web in general was at a fairly low level, so I decided to take a course from learn.javascript.ru. It was thanks to this course that I acquired the basic skills of a web specialist and I highly recommend it to everyone. At the same time I was doing Survival Horror in Unity and wrote my first bot for Yandex.Alice, which was also my first chatbot.
At 15, I decided to go back to splooit and wrote the Rest API schema over the summer, and started learning JavaScript and Node.js in depth. At the beginning of August I finally received the MacBook I had been saving up money for year; I got fired from my first job at a Greenpeace call center, and Glad Valakas showed my Gadzas website to an audience of several thousand people on a live YouTube broadcast. I decided to develop another site for him (The Rofl Call Order Site), and after a month of development, I tried to promote it to the streamer himself, but it didn't work out. In the fall I released a lot of new projects: my first extensions for Google Chrome, chatbots VKontakte, Telegram, websites. I also wrote a big article with 100 reasons why my school had a bad website. Later on, that was one of the reason why I almost ended up in the police and almost got kicked out of school. Toward winter, I decided that it was time to start making money not by talking to customers in the call center, but by programming. I created a small portfolio of 6 webpages, for which I asked web designers from dribbble for the designs, wrote my own beautiful website, and asked a friend my age to write a Node.js telegram bot for my site in exchange for a review on his freelance profile. I tried to respond to orders, but nothing worked: everyone was asking for frameworks (React, Vue, Angular). Then I realized that I did not want to stay in Russia and decided to make plans for the next few years. It was then that I decided I would go to the Czech Republic with GoStudy. At the same time I found roadmap.sh on the Internet, which helped me a lot with finding technologies to study the frontend. I made a kanban table and added tasks to study that I had to complete until May. I also made the decision to retire from gamedev completely. And in the winter, I got tired of asking Glad Valakas to try my site, got mad at him for telling me to fuck off publicly, and uploaded the site to my GitHub for public access - that is how I started this account.
In early 2021, Glad Valakas came up with a new meme called "Aboba", and I decided to make a site about it, but before that I had to learn a lot of new technology. I started learning React in February 2021 by reading the documentation and as practice for 20 days from February 1 to February 20, I was writing a remake of Glad Valakas's Gadzas website with a new design in honor of its one-year anniversary. In March, I studied Next.js and wrote my most popular website at the time of writing — President Aboba's campaign website. During April, I studied MongoDB and wrote my most popular Telegram bot at the moment, SAMARACOIN, which quickly went viral, and people began to flood and write the word "Samara" and its declensions to get virtual currency in the bot, which could then be given to another user or buy "photolup" - a picture with a person's face wearing a "mask" - recognizable elements of the face from the Glad Valakas avatar. In the spring I watched GoStudy streams and explored the topic of immigration to the Czech Republic; later I would make a mobile game called Masha's Simulator from GoStudy, which would permanently shut me out of the company's social media channels. At the end of May everyone in my class was preparing for the Russian ОГЭ (google it), I wrote a trainer for myself for the Computer Science ОГЭ's exam a month earlier using React and Reactstrap, also I presented it at the annual IT conference for high school students of Samara city. Along with the ОГЭ it was time for my classmates to pass their yearly computer science project and defend it, and for the only time of the year they stopped treating me and each other like shit and asked for help. Snake and tetris in Python (tkinter) for 200 rubles each were my very first orders. Then, in late spring I decided to devote the whole summer to work on splooit with new technologies, and on June 1, 2021, at exactly 12:00 pm in Samara, I executed the npm init command in the splooit repository. By mid-summer I had already lost interest in working on splooit, and just before my sixteenth birthday I wrote an article "Пароли Маркова", where I publicly shamed the deputy principal of my school by publishing evidence that his negligence could leak the personal data of hundreds of students from their Google accounts into the web. The principal of my school made a perfectly reasonable and justifiable decision not only not to fire his young boy friend, but instead to sue me for leaking personal information (and this was before I even published the article to the public).
At 16, this is how I became a cyber-terrorist. Thankfully, it was resolved with a simple warning and the case was settled. At the end of the summer I got acquainted with React Native and delved deeper into mobile dev, habitually choosing to work on my project (Remafia) as practice. At the very end of summer I met a friend of my former friend, who gave me my first real order, for a Telegram chat-bot, which I made for a symbolic 200 rubles. After getting acquainted with my new class (after 9th grade our three classes were split into two new classes), someone suggested playing "Своя Игра" (the Russian alternative to Jeopardy!) online in the browser, we had a argue then, but thanks to this incident I thought about creating a themed "pack" (list of questions) about my school. At the time, I was only using MacOS and didn't want to switch to Windows, so this led me to the idea of creating an alternative to SiQuester's only "pack" editor - the SIPacker web application, which would become my third most popular site in the future. Throughout September and October, I was busy developing the site with MaterialUI components that I had tried out on splooit. I was making PWA, which I presented at the lyceum IT conference for students back in March, but I only decided to use it now. When the app was ready, I decided it was time to go back to freelancing. This time I had no personal site, but I had a good portfolio of in-demand technologies. I decided that I needed to be well-prepared: I came up with a new nickname hloth, registered a domain (more info about that on my site: hloth.dev/me), bought a phone number 8 9019-404-69 8 (outside of Russia it starts with +7 instead of 8), registered a working Telegram account, wrote a browser extension to automatically fill in freelance responses from a template. It was time to respond to orders, so I began to respond to everything, 5 responses a day. Already in the evening two people wrote to me, but we did not agree. For several days I had clients writing to me, but at the end of the briefing we went our separate ways. Finally after 4 days I found a client who needed a plugin for Figma. It turned out to be a member of design team of Joom, a large Latvian marketplace. That's how I earned my first 20K rubles in 2 weeks, although I had to work without prepayment first and believe in payment after done. By the beginning of 2022 I found a couple more orders and was put a lot of effort into finishing my website hloth.dev.
At the end of February I decided to take my mind off the terrible events that forced me to convert all rubles to euros with a huge loss, and write a cheat-trainer called tJocer for FNAF-parody. That's how I started to learn Go. At the same time I finally switched schools, which gave me a lot more time for work and creativity. Till May 2022 I mostly did API wrappers, simple Telegram bots, did my second order for my friend and got my first payment in Euros. In May I found several large orders at once and finally managed to save enough money to sign a contract for immigration. Starting in June I worked full time with one of the customers.
At 17, I explored many GitHub features, got imbued with the ideas of anonymity, privacy, encryption and data protection, and released my own Archive. I also realized that I have only one last year of my childhood left and decided to write this biography about myself, here publicly in my GitHub profile. For my own safety, I will not announce it in social media, so be glad you found it on your own :)
Читать автобиографию на русском языке
Я познакомился с компьютером в 4 года, а в 6 лет написал первую программу на Pascal ABC. Позднее я перешел на .NET версию, но так до конца и не выучил этот язык. В 7 лет я рисовал на бумаге уровни видео-игр и представлял в голове игровые механики и гемплей. Тогда же мне подарили CD диск с программой Adobe Flash Macromedia и сделал свою первую видео-игру.
В 8 лет я познакомился с Kodu Game Lab и на протяжении еще многих месяцев исследовал её и создавал 3D игры. Во втором классе я записался на школьный курс по созданию видео-игр, где познакомился со Scratch. В тот же вечер я побежал домой, скачал Scratch и весь вечер провел, создавая простые игры. Я даже пропустил секцию по боксу, только для того, чтобы провести больше времени с программой моей мечты. В течение следующих трех лет я создавал игры самой разной сложности на этом движке и нашел много людей на онлайн-платформе scratch.mit.edu.
В 10 лет я скачал Python и наконец перешел с Pascal на него. Следующие два года я буду постоянно решать задачи на контестирующих сайтах (российские альтернативы codewars). Примерно в то же время я узнал о phpDevelStudio и создал свое первое приложение с графическим интерфейсом, таким образом я начал учить php. Также в четвертом классе я создал свой самый первый веб-сайт на uCoz CMS для своего школьного класса, что принесло мне популярность в школе. Благодаря нему я изучил самые основы HTML/XML и CSS.
Примерно в 12 лет я наконец забросил командные блоки в Minecraft и стал программировать на настоящих языках программирования. В то же время я впервые попробовал писать мобильные приложения на Java, но быстро забросил это дело. Также я впервые скачал Unity и провел все две недели отдыха на каникулах, изучая C# и особенности движка. После этого я окончательно забросил свой онлайн-профиль на Scratch.
В 13 лет произошло сразу несколько вещей: Я выпустил свою первую игру на Unity (Big Quest), а в сентябре выпустил свою первую мобильную игру (Roller-ride) и добавил ее в Play Market, сразу после этого я начал разработку Stigfinnare, также я сделал свой первый сайт (В чем разница?) и повстречал людей, которые в будущем почти испортят мне карьеру.
В 14 лет, разрабатывая серверный код для Stigfinnare, я купил свой первый VDS сервер и свой первый домен utidteam.com (имя команды, которая юридически издала Roller-Ride и Stigfinnare, но фактически являющейся мною самим), и с большим трудом и безвозмедной помощью одного из своих друзей программистов смог настроить Apache сервер, CGI-Python, PHP и MySQL. Целый вечер после настройки ssh и Ubuntu я игрался с командой echo и кажется ненадолго обрел счастье. Летом я выпустил свою первую онлайн-игру (Stigfinnare) и опубликовал её в Steam. Сразу после релиза я нашел очень много новых друзей, с которыми в будущем безуспешно попытаюсь создать совместный проект. Осенью я создал свой первый сайт с авторизацией, созданный для обучения и тестирования программистов, использующих Python (py3exec) с использованием Bootstrap, как мне советовала моя учительница по информатике. Тогда же я попытался начать свой новый крупный проект splooit вместе с друзьями: нарисовал дизайн сайта, нашел знакомых программистов и создал чат. Разумеется, всего через 2 недели, никого, кроме меня, в чате уже не было. Зимой того же года я принял решение уйти из российской соц. сети ВКонтакте, но я был подписан на паблик Алексея itpedia Шевцова, поэтому принял решение написать бота Reddit, делающего репосты из ВК. Он стал моим последним проектом, написанным на Python. Также именно тогда я официально прекратил поддержку Stigfinnare. В феврале я за один вечер сделал сайт Гадзы Глада Валакаса, впоследствии ставший моим самым популярным проектом. Весной следующего года я обнаружил, что знаю JavaScript и веб в целом на довольно низком уровне, поэтому решил пройти курс от learn.javascript.ru. Именно благодаря этому курсу я обрел базовые навыки веб-специалиста и очень рекомендую его всем. В это же время я занимался сурвайвал-хоррором на Unity и написал первого бота для Яндекс.Алисы, который вместе с тем стал моим первым чат-ботом.
В 15 лет я решил вернуться к splooit и летом написал схему Rest API, а также глубоко начал изучать JavaScript и Node.js. В начале августа мне наконец-то пришел MacBook, на который я копил целый год; меня уволили с моей первой работы в колл-центре Greenpeace, а Глад Валакас на прямой трансляции на YouTube показал на аудиторию в несколько тысяч человек мой сайт с "Гадзами". Я решил разработать еще один сайт для него (Сайт для заказа рофл-звонков), и после месяца разработки, я активно пытался продвинуть его самому стримеру, но ничего не вышло. Осенью я выпустил очень много новых проектов: свои первые расширения для Google Chrome, чат-боты ВКонтакте, Telegram, сайты. Также я написал большую статью со 100 причинами, почему у моей школы плохой веб-сайт. Позднее в том числе из-за нее я чуть не попал в полицию и не вылетел из школы. Ближе к зиме, я решил, что пора начать зарабатывать деньги не разговорами с клиентами в колл-центре, а программированием. Я создал небольшое портфолио из 6 лендингов, дизайны для которых попросил у веб-дизайнеров с dribbble, написал свой красивый сайт и попросил друга-ровесника написать на Node.js телеграм-бота для моего сайта за отзыв ему на фрилансе. Я попробовал откликаться на заказы, но ничего не получалось: все просили фреймворки (React, Vue, Angular). Тогда же я понял, что не хочу оставаться в России и решил построить планы на ближайшие несколько лет. Именно тогда я решил, что поеду в Чехию через GoStudy. Вместе с тем, я нашел в интернете сайт roadmap.sh, который очень помог мне с поиском технологий для изучения фронтенда. Я построил канбан-таблицу и добавил задачи для изучения, которые я должен был выполнять до мая. Также я принял решение полностью уйти из геймдева. А зимой я устал просить Глада Валакаса попробовать мой сайт, разозлился на него за то, что он меня послал, и загрузил сайт в общий доступ на свой GitHub — это и положило начало моему аккаунту.
В начале 2021 года Глад Валакас придумал новый мем "Абоба", я решил сделать сайт про это, но перед этим мне предстояло выучить много новых технологий. Я начал учить React в феврале 2021 с того, что прочел документацию и в качестве практики в течение 20 дней с 1 февраля до 20 февраля писал ремейк сайта Гадзы Глада Валакаса с новым дизайном в честь его однолетия. В марте я изучил Next.js и за месяц написал свой самый популярный на момент написания текста сайт Предвыборной кампании президента Абобы. В течение апреля я изучал MongoDB и написал своего самого популярного на данный момент телеграм-бота SAMARACOIN, который быстро разошелся по чатам, а люди начали флудить и писать слово "Самара" и его склонения, чтобы получить виртуальную валюту в боте, которую потом можно было передать другому пользователю или купить "фотолуп" — картинку с лицом человека, на котором надета "маска" — узнаваемые элементы лица с аватарки Глада Валакаса. Весной я смотрел стримы GoStudy и изучал тему иммиграции в Чехию, позже я сделаю мобильную игру Симулятор Маши из GoStudy, которая навсегда закроет мне доступ к соц. сетям компании. В конце мая в моем классе все готовились к ОГЭ, я же написал для себя тренер ОГЭ по информатике еще месяцем ранее на React и Reactstrap, его же я и представил на ежегодной конференции для школьников. Вместе с ОГЭ моим одноклассникам пора было сдать годовой проект по информатике и защитить его, и единственный раз в году они перестали относиться ко мне и друг к другу как к говну и попросили помощи. Змейка и тетрис на Python (tkinter) по 200 рублей каждая стали моими самым первыми заказами. Тогда же, в конце весны, я принял решение посвятить все лето работе над splooit с новыми технологиями, и 1 июня 2021, в 12:00 ровно по Самаре, я исполнил команду npm init в репозитории splooit. Уже к середине лета я утратил интерес к работе, а прямо перед своим шестнадцатым днем рождения я написал статью Пароли Маркова, где публично опозорил замдиректора своей школы, опубликовав доказательства того, что по его халатности в сеть могли утечь личные данные сотен учеников школы из их Google-аккаунтов. Директор моей школы принял вполне разумное и обоснованное решение не только не уволить своего молодого друга замдиректора, но вместо этого подать на меня в суд за слив личной информации (и это еще до того, как я опубликовал статью в общий доступ).
В 16 лет я стал кибер-преступником. Благо, все обошлось простым предупреждением и ситуацию урегулировали. В конце лета я познакомился с React Native и углубился в мобайл-дев, привычно выбрав в качестве практики работу над своим проектом (Ремафия). В самом конце лета я познакомился с другом моего бывшего друга, который дал мне мой первый в жизни настоящий заказ, на телеграм чат-бота, который я сделал за символические 200 рублей. Познакомившись со своим новым классом (после 9 класса наши три класса расформировали в два новых класса), кто-то предложил сыграть в Свою Игру (российская альтернатива Jeopardy!) онлайн в браузере, мы тогда поругались, но благодаря этому случаю я задумался о создании тематического "пака" (списка вопросов) про свою школу. Тогда я пользовался только MacOS и не хотел переходить на Windows, поэтому это привело меня к идее создать альтернативу единственному редактору "паков" SiQuester — веб-приложение SIPacker, которое в будущем станет моим третьим по популярности сайтом. Весь сентябрь и октябрь я был занят разработкой сайта с компонентами MaterialUI, опробованными мною на splooit. Я создавал PWA, по которым делал доклад на лицейскую конференцию еще в марте, но решился применить только сейчас. Когда сайт был готов, я решил, что пора возвращаться на фриланс. В этот раз у меня не было личного сайта, зато было неплохое портфолио по востребованным технологиям. Я решил, что нужно хорошо подготовиться: я придумал себе никнейм hloth, зарегистрировал домен (подробнее об этом читайте на моем сайте: hloth.dev/me), купил номер телефона 8 9019-404-69 8 (вне России в начале ставится +7 вместо 8), зарегистрировал рабочий аккаунт в Telegram, написал расширение для браузера, помогающее автоматически заполнять отклики по шаблону. Настало время откликаться на заказы, я начал откликаться на все подряд, по 5 откликов в день. Уже вечером мне написало два человека, но мы не договорились. В течение нескольких дней мне писали клиенты, но по итогам брифинга мы расходились. Наконец, через 4 дня я нашел закзчика, котому нужен был плагин для Figma. Им оказался член дизайнерской команды Joom, крупного латвийского маркетплейса вещей. Так я заработал свои первые 20 тыс. рублей за 2 недели, хотя пришлось поверить на слово и отказаться от предоплаты. К началу 2022 я нашел еще пару заказов и уже активно делал свой сайт hloth.dev.
В конце февраля я решил отвлечься от ужасных событий, заставивших меня с огромными потерями перевести все рубли в евро, и написать чит-трейнер tJocer для FNAF-пародии. Именно так я и начал учить Go. В то же время я наконец сменил школу, что дало мне намного больше времени для творчества и работы. До мая 2022 я занимался в основном обертками API, простыми Телеграм ботами, выполнил второй заказ для своего друга и получил первую оплату в евро. В мае я нашел сразу несколько крупных заказов и наконец смог накопить достаточную сумму для подписания договора для иммиграции. Начиная с июня я работал на полной занятости с одним из заказчиков.
В 17 лет я начал изучать фичи GitHub, проникся идеями анонимности, приватности, шифрования и защиты данных, выпустил собственный архив. Также я понял, что у меня остался один последний год детства и решил написать эту биографию о себе, здесь, в профиле GitHub. Для своей же безопасности я не буду публично объявлять о ней, поэтому порадуйтесь, что нашли её самостоятельно :)
-
Q: How did you learn frontend?
A: I used roadmap.sh/frontend and learn.javascript.ru
-
Q: Can I offer you a full-time job or discuss a one-time project?
A: Talk to me in Telegram. I usually respond within minutes during work hours (2 PM - 7 PM Moscow time, Mon-Fri), but also I have auto-responder.
-
Q: Is there any hope of your old projects getting a remake?
A: Yes! There is plenty examples when I unarchived old repositories and created remake. Let me know if you want something in particular.
I also commited my work to the Bad Apple community by playing it on lolzteam user's nicknames: https://github.com/VityaSchel/bad-apple
- Call me at
8 9019 404 69 8
- hi@hloth.dev
- @hlothdev in Telegram (auto-responder works 24/7)
- Витя Чел on YouTube (archive of banned channel)
- hloth on YouTube (new channel)
- @VityaCzech 🏳️🌈 in Instagram
- @VityaSchel on Codewars
- @VityaSchel on Codepen
- @VityaSchel on Codesandbox
- Виктор Щелочков in VKontakte