Why I'm building Moiva.io
Tags: javascript, webdev, showdev, npm
Published: 2020-12-14 15:17:20

# Introduction 👋
Hi dear developers! Christmas is coming and I have a gift for you 🎁 :) 

My name is [Alexey](https://alexei.me/). I'm a software developer and I'm building a [tool](https://moiva.io) that I hope you'll find helpful. In this article, I want to explain what made me start working on it and why I think you need it.

# Problems and Prior Art solutions
JavaScript ecosystem is thriving. For every problem, we have many existing solutions in the form of npm packages - we reached [1 million](https://snyk.io/blog/npm-passes-the-1-millionth-package-milestone-what-can-we-learn/) packages milestone in 2019. That is a sign that the ecosystem is alive and continues to advance. Every coming library fuels developers' imagination to create new even better solutions - faster, with better UX and DX, with more features.

On the other hand, it creates the [problem of choice](https://en.wikipedia.org/wiki/The_Paradox_of_Choice), we need to choose the right solution, the *best* library. What tech stack to use when building an evergreen project? Which package to use to replace the legacy one? Or maybe you have already chosen one, but need to convince your team that it's the best one.

## One approach
Every year tons of new articles are written trying to help developers to pick the right library or framework.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/adjuv1dejyen4lwzuqj4.png)

Also, many surveys are conducted trying to solve the problem. Some of the well-known surveys are [StateOfJS](https://stateofjs.com/) and [Stack Overflow Annual Developer Survey](https://insights.stackoverflow.com/survey/).

Those articles and surveys themselves create a new problem - which article/survey to trust, which one is up to date, the most objective and comprehensive.

## Another approach
Developers can also do their own investigation and get factual up-to-date information themselves. For example, one can go to [Npm Trends](https://www.npmtrends.com/) and compare how popular the libraries are in terms of npm downloads. [Bundlephobia](https://bundlephobia.com/) can be used to check the bundle filesize. Github can provide information related to popularity, issues, commits frequency, etc. Many other services exist to provide different kinds of metrics.
The problem here is to know the metrics, know which services to use to get the data, combine the results, and get the answer. It's not easy at all.

# Solution 💡
I decided to alleviate the problem and create a tool to help us, developers, get the factual data and easily compare javascript libraries side by side using graphs and charts.

Meet [Moiva.io](https://moiva.io)! 👋👋👋

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/lcczyplvsvg051aj0kor.png)

# Features 🪝
Here is the list of main selling points:
- data about any npm package
- different sources of data, like (NPM, Github, Bundlephobia, Google Trends, Thoughtworkds Tech Radar)
- side by side comparison of any number of libraries using charts and graphs

# Upcoming Features 🔥
Here are the ideas that I have at the moment:
- **alternatives autosuggestion**. For example, when one selects `MomentJS`, the tool auto-suggests `date-fns` and `dayjs` to compare it with. Similar to what NpmTrends already does ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6tq6qh7z3daqtf1qo1at.png)
- **more metrics** for comparison such as salaries per technology 💰, commits frequency, vulnerabilities 🐛, real usage on websites.
- use of data from **popular surveys** 
- **UX** improvements

# Feedback is a gift
The project is at an early age, so any kind of feedback is very important for it to become the right tool that solves the real problems of real people. So please share your opinion

## 2020-12-17 Update
I addressed one of the popular feedbacks and renamed the project to [Moiva.io](https://moiva.io). I made corrections to  the post to reflect that change.