Skip to content
View MorevM's full-sized avatar

Block or report MorevM

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
MorevM/README.md

Promotional image of Maxim Morev's account

Welcome!

I'm Maxim Morev, a web developer with 16 years of experience who is still interested and still cares.

My passion is everything about Frontend, especially:

  • Client-side development, including UI/UX engineering;
  • Solutions that improve DX and management processes;
  • Mentorship, educating aspiring specialists.

I try to keep most of my solutions in Open Source and contribute to other projects as well.

Contacts: Telegram / Email

I'm enthusiastic about:

🏆 Code quality, standardization and tech writing

ESLint logotype   Stylelint logotype   Commitlint logotype   Git logotype   Lefthook logotype   OpenAPI logotype  

In teamwork, it is very important to ensure common standards to achieve a suitable level of code consistency between specialists of different levels with different views, or even across different projects.

Blah, blah, blah, show me how
  • Check out ESLint config that contains more than 1200 rules for the tools that I and the team use.
    I review, update and extend it regularly (weekly, sometimes more often).
  • Take a look on StyleLint config that contains more than 200 rules for CSS and 70+ for SCSS, including autoformatting to maintain order within rules and properties and other good practices.
  • As a big fan of universal code beauty, I'm a member of stylelint-stylistic organization.
    We're working on standardizing and maintaining stylistic rules, that are no longer supported by Stylelint itself.
  • Commitlint config provides a unified style of commits (using Conventional commits with ability to expand) and changelog generation.

⚙️ Shared solutions

TypeScript logotype   JavaScript logotype   SASS logotype   PostCSS logotype   Vue logotype   Nuxt logotype   VSCode logotype   NPM logotype  

I'm convinced that the smaller the codebase is, the better it is for the project.

Separating recurring elements into libraries, forming their public API in such a way that they can be used for all purposes is not an easy task, requiring large expertise and wide experience.
As an extremely T-shaped specialist, I'm coping with it so far :)

Blah, blah, show me the code

Of course, most solutions are under NDA, but there are also some in Open Source.

There are many others! You can find the rest under the "Repositories" tab in my account.


🎨 UI/UX architecture

Figma logotype   Google Analytics logotype   Yandex.Metrika logotype  

Modern frontend development does not exist in isolation from design.
Design does not exist in isolation from analytics, or at least the experience of building interfaces and gathering feedback.

So, what are you talking about?

It's all about creating and maintaining a design systems based on user analytics and the web in general.
This is the best way to speed up development and preserve maintainability and consistency. I know how to do this.
In general, I believe that "UX" is pretty good at standardizing and fitting into guidelines if there is enough visual experience and proper component design.

I'm a design-savvy programmer, not a designer who understands something about code.
This means I'm unlikely to create a "wow!" design concept, but I'm definitely the best person to tidy up an existing one and ensure further communication between frontenders and designers in a way that doesn't hurt.


👨‍💻 Frontend development

TypeScript logotype   JavaScript logotype   SASS logotype   Vue logotype   Nuxt logotype  

All of the above is fine, but I believe it's also important to do "day-to-day" development to stay good at it.

How do you do it?

Lately I've been doing a lot more consulting than developing on my own, but either way it keeps me connected to real-world problems and lets me call myself a "playing coach".

Some of my publicly available projects that I can tell you about my participation in:


🖥️ Web platform solutions

HTML5 logotype   CSS3 logotype   SVG logotype   JavaScript logotype  

I started out as a "webmaster" 16 years ago when there were almost no additional frontend tools (there's a whole zoo now, eh) that provides knowledge of the platform (and I love it, still).

Frameworks and additional tooling come and go, while the platform is always relevant.


🔠 Other tools I am familiar with:

Frontend frameworks

Vue logotype   React logotype   Astro logotype  

My main expertise is Vue, I love and believe in this framework. I have been working with it for the last 5 years.

What about the others?

Familiar with React, but without a deep dive into the ecosystem.
I like Astro conceptually, right now I'm developing my own site on it, because I want to achieve maximum client performance keeping DX relatively compared to Vue.

I haven't come across Svelte, Solid and Angular in real work, but would like to get better with them, if there are any offers.


Testing frameworks

Vitest logotype   Jest logotype   Playwright logotype   Cypress logotype  

What do you prefer?

If I have a choice, I prefer to use Vitest for unit tests and Playwright for end-to-end testing, but I'm familiar with others as well.

Actually, I believe that the specific tool is not very important - it's the overall understanding and culture of testing that matters.


Bundlers / task runners

Vite logotype   Webpack logotype   Rollup logotype   Gulp logotype  

Tell me a few words about it

I prefer to use Vite if possible - for ease of configuration, extensibility, speed and out-of-box TS support.
I've encountered writing plugins/transformers under Webpack and Vite (by the way, check out unplugin if need that too).

Task runners... for a while I thought they had their uses, but now I think it's easier to just use native scripts instead, a task runner is just an unnecessary dependency that's losing popularity.

I'm following the Void Zero initiative with interest and what it will evolve into. Might have to learn Rust :)


Graphic design

Figma logotype   Photoshop logotype   Illustrator logotype  

Lol, why did you ever put it here?

Well, this is a non-core thing at all, but do you know how many times I've seen project deadlines pushed back because there was a formal excuse like "the designer didn't finish something or did something wrong"? :)

If necessary I'll finish/draw/edit/fix icons/layouts/components/raster graphics on my own without involving a profile specialist. Sometimes it saves a lot of time and attention.


Backend-related

NodeJS logotype   PHP logotype  

So, you're a fullstack engineer?

Years ago I was relatively good at it, but for the last 5 years or so I've hardly ever come across it, meaning developing on my own.
Nevertheless - understanding remains, which allows better communication with related specialists and this is important when designing systems.


Infrastructure-related

nginx logotype   NPM logotype   Docker logotype   Github logotype   Gitlab logotype  

So, you're a DevOps as well?

I would say FrontOps, ha-ha. I once joked that I could replace a small IT department with just myself :)
But for now, it's the same as it is with the backend - my focus has shifted heavily towards the frontend in the last few years.


💵 Job offers

I am not actively looking for a job right now, however if you feel like I am exactly who you are looking for - let's talk about.
Just message me on Telegram or email me.

I'd be happy to work on a product I'll believe in, and if there are people in the team who really care about what they're doing - people like me.


📊 GitHub Stats:

Maxim Morev's github stats Maxim Morev's Github streak stats Maxim Morev's most used languages

Profile views counter

Pinned Loading

  1. eslint-config eslint-config Public

    Strict shareable ESLint configuration

    TypeScript 1

  2. stylelint-config stylelint-config Public

    Strict shareable Stylelint configuration

    JavaScript 1

  3. vue-transitions vue-transitions Public

    Interface transitions library for Vue 2/3

    JavaScript 200 5

  4. more-sass more-sass Public

    The library of useful SCSS mixins and functions.

    SCSS 2

  5. utils utils Public

    Collection of JS / TS utilities

    TypeScript 1

  6. postcss-specificity-decorator postcss-specificity-decorator Public

    PostCSS plugin to increase the specificity of selectors

    TypeScript