Project

mIcRoSerViCe cLoNe eCoMmErCe wEbSiTe

Whether you are looking to build the next Cluely or just a side project, there are some things to keep in mind.

If you are looking to pad your resume because you have no internships yet, then you can't just slap a to-do app or following an Indian tutorial to build a clone of some SaaS product.

Not only am I doubting you learn anything valuable besides the "tech" itself, but recruiters/engineers will also see right through it.

In this entire section, I'm going to guide you on what to build, what to learn, and how to make it resume-worthy. This framework was initially built to teach my cousin who's also a CS student but I might as well monetize it.

"There's so much to learn that I don't know where to start"

My main goal is to provide a framework that helps you navigate the different types of technologies and you can research on your own AFTER knowing why you want to learn it.

If you are doing it for the resume

A crazy project on a resume is determined by the following factors:

  • Real-life impacts -- users, downloads, revenue, etc.
  • Production-level code -- not just a clone of a tutorial -- usually involves bullet 1 to some extent
  • Complexity -- not a mash of frameworks, I'm referring to theoretical complexity, like sorting algorithms, or implementation of a research paper. Not "eCommerce website" complexity.
  • Technical Stack -- if you are using a popular stack, it's a plus. But general area of similar tech is sufficient.
  • Time -- reflected based on how completed the project is -- functionality, features, deployment, and documentation.

If you are able to check off bullets either 1 or 3, you are ahead of the game. However, I can bet majority do not fulfill criteria 1 and spend way too much time on bullet 4.

The mentality of "I need to learn XYZ tech because those are the buzzwords" is not entirely wrong, but not what you should focus on. Yes you should ideally use React, Spring boot, some random cloud service, etc. But the key is to use it to build something that has real-life impacts.

If you are able to build a mobile app that has 100+ downloads on App Store / Google Play, even if it was using a non-sense tech stack, it's way better than the other way around.

Note: For bullet 3 -- "complexity", this is actually harder to achieve because you are looking to not only understand a potential problem the industry faces, you also need to implement a solution. I rarely see resumes that actually check off bullet 3, but those resumes definitely stand out. However, the individual probably already has some experience or does research and either way, they have a very strong network and background to get interviews / offers.

If you are doing it for the learning / business / side hustle / impress somebody

This is one of the more relaxing scenarios to build a project and time to also build a very decent one. Because you are not pressured to get interviews in the short term, taking the time to both learn and build something you can potentially make money / publicity helps you stay focused on learning and understanding reasons.

My recommendation is to take the next couple of sections and do it at your own pace. Really question every step and how you can improve it.

What I will cover

My inspiration is to re-create a similar Odin Project but also aim to include production-level ideas. Since I aim to cater to different preferences, all these ideas should be applicable to different mediums (web, mobile, desktop, etc.), language agnostic, and idea-agnostic. In parallel, at each phase, I want to cover problems -- historical context + solutions and what the popular tech-stack are for that problem.

For starters, I recommend you have a strong grasp on the following topics prior to looking at complex ones. Reason being is that complex topics are built on top not in parallel. Complex topics discuss on different solutions and problems rather than "adding a new feature". Complex topics is something you want to explore once you have a foundation.

  • API
  • Docker
  • Database
  • Authentication / Authorization
  • Deployment
  • Testing
  • Documentation
  • CI/CD
  • Monitoring

For more complex topics that won't necessarily fit into a project unless it's for a niche field, I will have them in separate sections.

  • Microservice Architecture -- API Gateway, Service Mesh, Traffic Management, etc
  • Cloud Infrastructure -- AWS, GCP, Azure, etc.
  • Feature Toggle -- A/B testing, feature flags, etc.
  • Data Pipeline -- Kafka
  • Route Discovery -- eCommerce niche

These are initial ideas I have and will add more as I go. If you have any suggestions, please let me know.