If you've ever been researching coding of web animations, his name has surely appeared here and there. Yuriy Artyukh, a.k.a. akella, is a Kyiv-based all-frontend developer renowned for his YouTube tutorials, Sunday livecoding streams, and dev courses. Head down to our interview with Yuriy and find out more about how his development journey began, content-making, and how dancing fits the picture.
You do dancing, salsa especially. Do you see any parallels between dancing and development?
Yes, I definitely do! The reason I started doing dancing is: I was always afraid of doing dancing. That seemed complicated and I never believed I could do that. Turned out (7 years after I started dancing), I did the same with the <canvas> element. As a frontend developer, I kind of considered it a “magic” or “complicated” thing. And avoided as much as possible. But at some point, I threw myself into canvas, WebGL, shaders, and all those animations. And it turned out to be the best thing to do. Just as dancing, it changed the course of my life and career a lot.
How did you enter the world of development?
That’s actually a funny story. I used to live in the university dormitory, while I was studying. And one time, because my roommate broke some rules, the whole room was evicted. And I had a lot of spare time living out of my room. And I got some “HTML cookbook”, and that’s how it all started back in 2003. I printed the whole alistapart.com to read it. I started my blog with WordPress, and then some first freelance jobs.
Your YouTube tutorials series entered its third season. How did you come up with the idea of sharing your knowledge in that form?
A couple of years before starting streams, I uploaded one video where I was coding a website from scratch, without sound. I was impressed with the number of views on youtube. And then I also had some dark periods in my life, so I needed something scheduled in the future to keep me going. Both lead to me streaming every Sunday at 11 am for a year. That was crazy, but that did the job, I felt a lot better, and I was happy to find out that people liked my videos =) That lead to 3rd and now 4th season!
Has anything changed in your work processes since you began making the videos?
Actually a lot, I used to do more common frontend things before that, but since I started doing videos, a lot of people now know me as a “WebGL” or “crazy animations” guy. So I started receiving some small-medium projects to do. And they are usually some crazy animation projects, which I like. I still find myself happy coding some animations.
In the tutorials, you do animation development. How did you begin making animations, and what is so special about them?
I think the most magical thing to me, is that I rarely know how to actually do those animations that I need to do, either for stream or for clients. And that adrenaline of solving some tasks you have no idea to solve (yet), is driving me. Every time I do animation, I actually learn something new, that’s the best thing for me. And I started doing them in the first place because I was always afraid of this “canvas”, but I considered myself a frontend developer. So I started doing what I was afraid of.
What are your favorite programs, tools, and frameworks?
I used to use Sublime as my default text editor for years, but now it’s Visual Studio Code.
In terms of frameworks, of course, when it comes to commercial things, it is mostly React nowadays, but my heart definitely belongs to Svelte, and when I have a choice, I will always use it. It’s pretty cool for small projects! When it comes to drawing, I almost always use canvas-sketch.
I also use Alfred to automate some of the tasks, and Colorsnapper is a nice color picker tool for Mac Os.
I also put up a small list of my setup while streaming.
Do you thoroughly prepare your streams or is there on-the-spot improvisation?
99% of them are prepared. But sometimes it’s the morning before the stream, and sometimes it’s a couple of days that I was struggling to make something beautiful. A lot of times, I try to do some specific animation, but I fail. So I search for plan B, to make an interesting stream. And then, right after the stream with my Plan B, I would realize how to achieve that failed animation =).
Your tutorials are about reconstructing animations from other websites. Do you, before making the tutorial, deconstruct the website to analyze the animation, and if so, how do you do it (any Chrome extension, or something else)?
I decided to decompile other websites because I wasn’t able to find a lot of information online. I usually do decompile them with Chrome, but just using DevTools. Sometimes I even download sources and read uglified code. I actually learned a lot of non-WebGL stuff by just reading other website’s code. I find it really useful.
Three.js or Babylon.js? Is there a tutorial with Babylon.js insight?
For me, it’s Three.js, it’s hard to learn everything about it already. But I do want to try Babylon, I guess I need some cool website that used it in the first place. (Un)fortunately, it’s mostly Three.js these days.
The literature on WebGL is usually written, something people aren’t fond of. Do you plan on making a Udemy course for WebGL, Pixi.js, Three.js, etc?
Just this year I started two courses about Three.js and merging them with the HTML content of the page. They are now available on the awwwards.com website. I also plan a new course about “Math for WebGL developers”, that’s still a rough name, a couple of months to be published, but you get the idea.
You own a front-end company, but you also freelance. What does one offer and the other doesn’t and vice versa?
Being the owner, I get some freedom from that. Because I have some income, as a freelancer, I can pick my projects. I do get paid for them of course, but the main reason I do them – is because I love doing animations. I think in my heart I’m still a freelancer, but a less stressed one now.
Besides tutorials, you write articles, hold conference talks. What type of sharing knowledge and teaching is your favorite and why?
My favorite one is still a conference talk, I was lucky to make people both laugh and share something useful with them. That feeling of interaction with humans is especially precious now at our Covid times. Definitely, conferences, because you can also immediately know if what you sharing is valid and useful for people.
What does your creative flow look like?
Unfortunately for me, it’s totally random. First I have a cool idea I want to implement. 80% of cases I fail, but during that fail, I find something cool, completely different, but also beautiful. So I’m switching more and more to “explore” mindset, instead of “implement my specific image”
Are you planning to update your blog any time soon?
I think rather not, the web has changed, Twitter is now my blog, people read posts on Medium or watch videos. I will still preserve my blog, maybe times will change once again, or I will change and have the inspiration to write my blog again.
What are the plans for the future?
I got a lot of happy feedback about my courses, so I will create some more, and I will definitely continue streaming on YouTube! And I’m looking for new challenges! So far in WebGL, but as you can see I never know where my fears would lead me.
Any message to our readers who aspire to be or struggle in the world of development?
There is no easy recipe to success in development, but I learned two important things, you have to love what you do. And you have to practice that a lot. As Amelia Earhart once said: “The most effective way to do it, is to do it.”