DEV Community

Cover image for Pareto: Genesis
Mosaab Emam
Mosaab Emam

Posted on

Pareto: Genesis

Pareto in a mouthful

Pareto is a project starter for web developers. It kickstarts your new projects with 80% of the boring work already done, so you start from hour 1 as close to SaaS ready as possible.
Mouth full yet? good, more on this later.

"In honor of my namesake" - he said dramatically

In case no bells rung, this project is named after Vilfredo Pareto, who introduced the pareto distribution a.k.a the 80/20 law.
Pareto promises to generate 80% of your codebase for you for 20% of the time and effort. Actually it's more like 2%, but more on that later.

Another name to butcher

My name is Mosaab El-Emam. a 25-year-old self-taught developer from Sudan. I started learning to code in 2016, the same year I started medical school. However, my interest in software grew while my interest in medicine declined. I dropped out in my 3rd year in 2020 to focus on software development. Let's keep it brief, more on me later.

Dating advice... wait what?

I've dated them all. Websites, web apps, desktop apps, mobile apps, web scrapers, shell scripts, DSLs, bots, APIs, and clouds...
But holy middle finger of Linus if code generation wasn't the hottest bitch I've encountered on this side of the Nile.
Linus Trovalds (creator of linux) politely expressing an opinion

Linus Trovalds (creator of linux) politely expressing an opinion

Since it's official and we're getting married and all (not Linus, dude... I mean generation thing. Focus.)
Whatever man... more on romance later.

Back to context

Now that you know which little hole pareto slithered out of... oof, this metaphor is getting out of hand!
OK... rewind... deep breath... I'm civilized, I'm civilized, I am civilized.
Alright, let's put it this way: we've all written web apps and have solved our share of challenging problems. We also found ourselves time and time again doing repetitive, redundant, soul crushing tasks. Defining CRUD for the fourth model this hour, setting up RBAC, Building an admin dashboard, or coding an email template shudders.

You feel it? Well, that's the ass that pareto hopes to kick. Pre-generate the crap so we can focus on custom business logic.

Ctrl + click (Crap)

  • Setting up auth, Oauth, RBAC, teams, and multi-tenancy.
  • Setting up CRUD operations with admin UI.
  • Defining APIs (REST, GraphQL, or tRPC) with OpenAPI schema & documentation.
  • Integrating with SaaS services for payment processing, logging, emails, notifications, CI/CD, etc.
  • Drip lining evaluations of generative composition, which isn't even a thing.
  • More on smelly crap later.

So it's a SaaS starter? I already have one of those

Not quite. Unlike existing solutions, pareto isn't opinionated and doesn't mold your project into a pre-determined stack. Instead it uses a schema you define that describes your project to generate clean, customizable code in any stack you choose! If that sounds fucked up, congratulations! your hearing is 6/6.
Of course, that's an ambitious end goal and there's a lot of complexity to be dealt with. So based upon that premise, it's only unfitting that the first release of pareto will be the most opinionated, unflexible starting tool in the history of ever. OK that wasn't exactly the truth, but it wasn't a lie either. More irony later.

Conclusion

This has been a brief introduction to the idea of pareto. More posts are scheduled to give more explanation and practical examples and use cases. Hopefully they'll fair better on your WTF rate.
So if you want to get updated on whether Sasquatch is real, whether PHP will ever truly die, or weather this twisted project will ever make it to your workflow, make sure to join the waitlist for development updates and early access to the alpha release, more on that later.

Top comments (0)