Hello, I'm Ilya Vasilyev – frontend developer, specialized in Vue.js, visualization, animation and interactivity, with entrepreneurial experience and motion design skills. Also a minimalist.
And this is my personal portfolio website, stuffed to the gills with highly annoying, CPU intensive and absolutely unnecessary visual effects. I've created them just because I can. And you can anytime. This whole project exists only to demonstrate my skills and abilities in web development. Here you would know almost everything about me – I can't see any other reasons how you ended up on this page and why you're reading this. If you want to dig deeper see source code on Github.
Profile
I've been around web development since 2013, starting from UI and UX design, within startup environment, prototyping apps with HTML and CSS, exploring ideas of interactive comics and books, transforming these ideas into interactive infographics for the web.
Which resulted in a startup about dynamic visualizations of financial models, where from the tech side Javascript was inevitable, alongside with D3, GSAP, AngularJS and Node.js, and from the founder side: fin analysis, Lean Startup, Business Model Canvas, Agile, digital marketing, and sales were learned to keep it going for 2 years in searching for a product-market-fit, which was never found.
Then there was a series of freelance and consulting projects, I've discovered and started learning Vue.js, which is the best frontend framework so far, and eventually, I landed on a frontend dev job at the oldest state-independent media in Russia – «Ведомости». That was quite intense, with micro-services, CI/CD, migration to Vue with SSR and never-ending backlog.
As for now, I want to dive deeper in JAMstack, client-side machine learning, graph databases and generally improve my inconsistent knowledge of computer science. At the same time, I'm fascinated by the fact that today management is broken, so I investigate the areas of DDD, Agile scaling, PMO, The OS Canvas, trying to find the right way to reduce stress and increase productivity in the modern workplace.
Skills
You're probably interested (why shouldn't you be?) in my skills end experience in web development. Fortunately, I've made a visualization for you.
NOTE: all data is purely subjective and only represents my attitude.
In case you're too lazy to appreciate my data visualization efforts, here is the point:
I really like Vue, I dislike AngularJS, and I disregard React.
I'm really into frontend, but sometimes I can a little Node or Python if necessary.
Experience
My whole life is the game of opposites:
- As a kid I was obsessed with 3D modeling and animation because 2D was boring: I ended up with the gallery full of drawings on DeviantArt.
- I joined a college rock-band to play on keys because I was not really interested in all this rock'n'roll stuff: I ended up writing, arranging, singing, guitaring, recording and mixing alternative indie rock.
- On the web I identified myself as a designer, definitely not a coder, because it's not creative enough work: as you probably suggested, I ended up as a frontend developer.
- Once in the office, it was clear to me that I'm the tech guy, having nothing in common with these strange managers: guess what I'm interested in right now?
The following is the illustrated timeline of the most significant activities in recent years.
NOTE: you can scroll timeline horizontally or use arrow buttons belowThis site
Design – well, for my projects I usually omit design, jumping from structural pencil sketch right into coding and styling. It gives me more flexibility and freedom in making design choices as well as it increases the speed.
Vue – honestly, I wanted to give Nuxt.js a try for this one, but it was so preconfigured and I so much wanted to set up the whole project, so I used clean Vue + Vue-router + Vuex, without even Vue-CLI. As you already should know, Vue is my favorite framework.
Billboard – not almighty yet best that I managed to find declarative chart library on top of the last version of D3.
Tabulator – a quite powerful lib for tables, with sorting, filtering, and formatting. Now, as they dropped jQuery, I decided to give it a try.
Anime – so far it works great for lightweight animations, it's small, simple and open-source.
CSS grids – although I prefer flexbox in most cases, grids are good for complex irregular layouts, so I used them for the portfolio gallery.
Browser support – tested down to IE11, it mostly works fine, despite using CSS grids and some ES7 features (Array.includes, Object.entries), thanks to polyfills and @supports() trick.
SEO – pre-rendering is enough for static sites like this one, and SSR would be overmuch. And with microdata, meta tags, proper headers, and content length I hope it would be indexed well enough.
Webpack – it was the first time I set up Webpack completely from scratch, with pre-rendering, a dynamic import of components. Works fine but development mode is petty messy, you can examine Bundle Analyzer report.
Netlify – just a wonderful way to host static and serverless applications, I use them since their early days.