DEV Community

Cover image for 🌈 A One Person Startup Tech Stack for Ninja Developers - Next.js, Django, Kubernetes, and GCP πŸš€
Chetan
Chetan

Posted on

🌈 A One Person Startup Tech Stack for Ninja Developers - Next.js, Django, Kubernetes, and GCP πŸš€

Image description

Introduction

In this article, I will share the tech stack I used to build my startup, Omkar. My startup consists of several components, including Frontend, Backend, Blog.

By learning about my tech stack, you can gain insights that will assist you in selecting the tech stack for your startup.

My Application Omkar Cloud

My Application Omkar Cloud is a full stack website with a Blog, developed using technologies like Django, Next.js, and Kubernetes

It is a People Search Engine that you can use, for example, to find people working in a company or CEOs of companies in an industry. Think of it as an advanced version of LinkedIn Search.

Image description

Tech Stack of Omkar Cloud

The Most Important Technologies in my Tech Stack are Kubernetes, GCP, Elastic UI, Next.js, GitHub Actions, and Django.

Here is a breakdown of my Tech Stack

Frontend**

For the Frontend I have used Elastic UI, React and Next.js

Elastic UI

I have used many Component Libraries in the past, such as Bootstrap and Material UI. However, based on my experience, I have found the Component Library of Elastic UI to be particularly impressive. Elastic UI is really beautiful Component Library.

Therefore, I have chosen Elastic UI as my UI framework

React

Also, I had learnt two frameworks to create websites which are Svelte and React.

I wanted to use Svelte as it is much more concise than React. However, since the Elastic UI Library was not available for Svelte, I had no choice but to choose React as the only option available to me.

Next.js

Next.js is a framework built on top of React.

I think of Next.js as a framework for a framework πŸ˜‚.

Next.js simplifies the usage of React and provides additional features. Therefore, instead of using the bare create-react-app setup, I opted to use Next.js as it makes working with React much easier

Backend

For the Backend I used Django powered by SQLite Database

Django

I have learned various backend frameworks such as Express.js and Nest.js, but Django stood out as my favorite.

When working with Django, I found that I could accomplish tasks with significantly fewer lines of code compared to Nest.js or Express.js.

Django's conciseness is similar to Sanskrit Language, in Sanskrit you can convey your thoughts in very fewer words compared to English or Hindi Language.

Hence, I chose Django for its conciseness and simplicity.

SQLite

For the database, I had the option of using either SQLite or PostgreSQL. I opted for SQLite due to several reasons.

  • Most Importantly for me as an Indian is that it is SQLite is cheaper than PostgreSQL since in SQLite there is no need to purchase a separate server.
  • It allows developers to start developing faster since PostgreSQL requires spinning up a server, whereas SQLite is file-based
  • It is easier to view table contents using SQLite Browser application in SQLite compared to PostgreSQL

Although, it can be argued that PostgreSQL is more Scalable but for a Start Up, SQLite does the Job Perfectly. Also, in future you can always migrate to PostgreSQL if necessary.

Blog

To create the blog for my website, I utilized the tailwind-nextjs-starter-blog developed by Timothy Lin. It is a beautiful blogging platform built on Next.js.

Deployment

For deployment, I used Kubernetes, GitHub Actions, and Google Cloud Platform (GCP).

Kubernetes

I wanted to host the frontend, backend, and blog on a single domain, namely 'www.omkar.cloud' at different paths. Additionally, I needed to store the SQLite database file in storage.

Kubernetes provided a convenient method for orchestrating these needs. So, I used Kubernetes.

GitHub Actions

To automate the deployment process, I utilized GitHub Actions. With this setup, I could easily deploy a new version of my application by simply pushing the code to the master branch.

GCP

I chose GCP as the platform to run my entire Kubernetes stack. Google products have a reputation for quality, and GCP proved to be reliable and suitable for my needs. It costs me 2900 INR or $35 per month to run my full Stack.

Other Tools

Google Analytics.

I used Google Analytics to track my website as It was the analytics software I was most familiar with.

G Suite

For creating a professional email address like info@omkar.cloud, I utilized G Suite. I opted for G Suite due to my familiarity with the Gmail interface and my resistance to change.

Google Search Console

I utilized Google Search Console to monitor the search ranking of my website, omkar.cloud, on Google.

NameCheap

I used NameCheap for buying domain name of omkar.cloud. I was satisfied with Name Cheap’s services.

Final Thoughts

In short, I used the following technologies in my tech stack for omkar.cloud:

Frontend:

  • Elastic UI
  • React
  • Next.js

Backend:

  • Django
  • SQLite

Blog:

  • tailwind-nextjs-starter-blog

Deployment:

  • Kubernetes
  • GitHub Actions
  • Google Cloud Platform (GCP)

Other Tools:

  • Google Analytics
  • G Suite
  • Google Search Console
  • NameCheap

Overall, I am very satisfied with the tech stack of omkar.cloud.

If you are creating a startup and considering the tech stack to use, based on my experience, I can confidently say that if you base your tech stack on mine, you will have a solid technological foundation for your startup.

I am curious to hear if you have any questions regarding the tech stack, so please feel free to ask in the comments.

Dhanyawad πŸ™

Top comments (5)

Collapse
 
evildragon profile image
evilDragon

dont want to be rude...in your title what does rainbow mean?

Collapse
 
chetanam profile image
Chetan • Edited

While I didn't consider its meaning when I initially wrote it, I believe think various colors signify many technologies in the tech stack.

Collapse
 
chetanam profile image
Chetan

Feel free to ask any questions you may have about the tech stack in the comments. I'm eager to hear your thoughts and address any inquiries you might have.

Collapse
 
gojjo profile image
Gojjo

SQLite in production? Red flags.

Collapse
 
im6h profile image
Vu • Edited

How many containers do you run with GKE?
I remember GKE needs at least 74$ for auto pilot mode and more than for node pools. Thanks