is a software developer with experience in 3D web programming and a passion for research, science, and game development
Moscow, Russia
mail telegram github instagram linkedin artlebedev
Art. Lebedev Studio Moscow, Russia
R&D software engineer november 2017 – present
LoyaltyPlant Saint Petersburg, Russia
software engineer intern june – august 2016
I designed and developed a batteries-included 3D engine that is used to make mesmerising audio-visual web experiences. It has brought down our development time for 3D websites from one year to two months.
Krono comes with built-in support for editing visual effects and audio, doing post-processing, and working with modern model / texture formats and their compressors / decoders / optimisers. The developer experience is very streamlined, with only 10 lines being required to display a model for the browser. Crucially, it can also be used by non-technical designers through a web-based editor that allows for adjusting the visual appearance of the render without touching the code.
I developed an immersive site for Aquarium, legendary founders of the Russian Rock stage. As viewers scroll through the site, they are transported through a human created and randomly generated experience that showcase’s Aquarium’s rich history and musical collection.
While developing this narrative, I had to learn 3D rendering at the most basic level. I wrote shaders, built an extensible 3D rendering architecture (which would become Krono), created tools for designers working on the same project, and constantly solved interesting, complex problems.
A registration page for the children's festival “Rukami”. An unusual and vivid immersion into the world of the festival.
Thanks to the use of Krono, project creation time was reduced from one year to three months, because of this the profitability of this project for the company was much higher than usual.
Made with Krono.
An iOS augmented reality app demonstrates the oddity of corporate workdays.
Sotbi's are guys who, forcing debtors to pay back multibillion-rubles debts. So, in this AR game your goal is find the five hiding debtors.
For the Moscow metro map I created various tools to facilitate the designer's work on the map, and also developed scripts to automate the creation of the map in different formats and its translation into different languages. My work greatly reduced the time it took to create the map and saved the company money.
For Sotbi's AR announcement, I pulled the model out of Unity, wrote a web editor to draw the camera's flight path (on the next project, I learned that it turns out to be easier to do in the 3d editor) and patch FBXLoader
from three.js
using pako.js
instead of zlib.js
because the model was too slow to unpack on budget Androids.
A heartbreaking game that tells the story of a draftee who comes back home to his mother. I made this in 48 hours for Ludum Dare #39. This game saved me from the army.
sourcesMIMC is an unprecedented international medical project in Russia. I was the lead developer of it's site: I guided and organized the other developers, developed the main visual element of the project's identity — a mesmerizingly lively spot, made an editor for quick spot customization, and made a terrific 3D.
use your knife to kill those who never cry
I made a raycasting engine from scratch during summer 2019 and wrote this game using it during one of the Ludum Dare weekends.
On Friday, the first day after the release of the Aquarium, I encountered a lack of video memory on many devices and the page crashes. I had three days before site will be promoted to the large audience to somehow solve this problem. It took me one weekend to learn about the existence of GPU compressed textures, learn about Basis Universal textures and write a patch for the BasisTextureLoader
in three.js
, as well as to finish the GLTF
model loader so that he could understand .basis
textures.
It was created for one of the Art. Lebedev studio client to accelerate, simplify and unify the design creation by the client's design department. Also, the tool eliminates bad design creation, improving the overall quality of the client's design system.
Scroll down and type “upisfree” for the editor. Entities dragging, cloning and scaling.
sourcesEducational renderer from the scratch to understand how renderers actually works.
In high school, I became interested in how the human brain works and in two weeks I built a brain-computer interface that allowed me to type letters using my brain signals only.
I used OpenBCI
as EEG and P300 speller
from OpenViBE
. I patched OpenViBE
drivers to make it compatible with OpenBCI
, train P300 speller
on my brain, translate speller to Russian, printed a plastic helmet in another city, made the power supply from old Nokia, fused up everything, and after that I typed my first words using brain only.
Also, experimenting, I was one of the first in the world who combined VR and BCI into one product.
childhood memories from 1937
The Great Terror has affected every family in Soviet Union: my great-grandfather was shot, great-great-grandmother was imprisoned and others were dispossessed.
A Windows Phone application that allows residents of Omsk
to find out when a bus will arrive at their stop. It is especially useful in winter to avoid freezing to death at the bus stop. 10 000 downloads. Also, there is AR in this app, in 2014. download sources
a game about a man who gave everything to God to have his love with him
My girlfriend got stuck in another country during the COVID-19 pandemic and I really missed her.
Commercial game for Priziva.net, Angry Birds clone. I programmed a game with destructible environment, level editor, mobile support, different shell types, incredible sounds and a rating server. Also I coordinated work between designers.
sourcesTest task to Art. Lebedev. Translate from 8 languages to emojies. Very fast, multithreading, English & Russian stemming, emoji variants for the word, working in non-supporting emoji environments (like Windows XP), custom speedy data format.
sources
Based on Full Screen Mario. I made it work on mobiles, add touch controls, rewrite audio engine from <audio>
to Web Audio API
, made a rating server and add new textures (it was a problem because of the custom strange texture format), all in one week.
Art. Lebedev's own mini Soundcloud. I patched hls.js
, setup nginx
and wrote audio converting scripts and instructions how to use it without me.
Test task for a internship in LoyaltyPlant. I was invited there because of my winning at one of the main school scientific conferences in Russia. At 2016 there were no CLI for Windows Store but “LoyaltyPlant” had thousands of apps which they needed to update.
Three Telegram bots for doctors in Moscow Oblast to automate some aspects of their work and for getting rid of paper routine. Commercial project.
I had a Minecraft server called “HeavyCraft” in 2013 when I was 14 y.o. It had a site with shop where you could buy blocks and items for real money, custom launcher & mods build, guns, cars and even planes. I wanted to create a first person shooter plus Minecraft. And this is was first Minecraft server in the world which had a Russian Ruble sign in game (because I redraw $ to ₽ and Ruble doesn't had official sign in that times).