🌈 A One Person Startup Tech Stack for Ninja Developers - Next.js, Django, Kubernetes, and GCP 🚀
Tags: webdev, javascript, startup, python
Published: 2023-05-22 16:17:30


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xnnfxk6vc1eadfaj8e6d.png)
## 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/or1mhlt45wcxcozszrpb.png)

## 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](http://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](http://www.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](http://www.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 🙏