Introducing Diode: Easily deploy your web apps in two steps ๐
Hosted on Linode, for Linode ๐

I love designing, building, and managing reproducible, testable, and evolvable ML powered software.
Search for a command to run...
Hosted on Linode, for Linode ๐

I love designing, building, and managing reproducible, testable, and evolvable ML powered software.
No comments yet. Be the first to comment.
Welcome to the second part of our blog series on gRPC using Python. In our previous blog, we talked about the basics of gRPC, its architecture, and its various components. In this blog, we will be going through how to write a gRPC client & server so ...

gRPC is a high-performance, open-source universal RPC (Remote Procedure Call) framework. It is developed by Google and provides efficient, low-latency communication between microservices. gRPC uses Protocol Buffers as the default data serialization f...

No not chemistry, this is about database systems.

Introduction Ever heard of a song and spent a few seconds remembering its name? Well, we made a game out of it ๐. Introducing Vinyl, a multiplayer song guessing game in which the first one (three people actually) to guess the name of the song from ...

ft. Redis Bloom


Diode is a platform that lets you deploy your web apps on Linode in two easy steps
so that you can spend more time on developing awesome products and less time worrying about getting them up and running ๐
The inspiration to build Diode came from two different demographic of people, sharing the same problem.
As developers, we all have side-projects that got stashed away and never made it to production. A lot of people find getting their application up and running takes a lot of time, both in terms of operations and learning the tools.
A vast majority of newbies skip the deployment part after they have built their initial projects. Learning the tools and setting them up on a remote server is quite daunting for someone who just learned the basics of how things work.

Even though there are some platforms like Heroku and Railway, they require some additional files like a Procfile to deploy. We tried making Diode as easy to use as possible so that it saves effort and is beginner-friendly at the same time.
output & error logs of your application ๐Currently, we support the following frameworks/libraries for 2 step deployment:
Note: Currently, we only support Public Repositories. We are planning to bring support for private & organization repositories soon*

While generating the token, make sure you have selected Read/Write access for Account, IPs and Linodes.
Copy the token generated as it will be used in the next step.

Enter your Personal Access token which was generated in the previous step. This will allow us to manage instances from your account.

For this example, I will choose my FastAPI Sample App. Next, choose the buildpack, which in this case would be FastAPI
Environment Variables (optional)
Enter the environment variables (often saved in the .env file)

Choose a name for your project and the region where it will be hosted. Prefer choosing geographically closer regions for less latency. In this case, I will choose ap-west

Based on the performance requirements of your application, choose an instance type. For this example, I will choose a g6-nanode-1 as it is the simplest Linode option for this sample app.
Note: The create instance action takes a little bit of time so please be patient ๐


You can view your Linode's metrics from the dashboard by selecting an app.
Sit back and watch your app get deployed ๐

There are two backend servers, one using NodeJS with Mongo DB for handling the user accounts, and FastAPI with Celery and Redis for automating the deployments and managing User Linode accounts. We used Linode to host these servers.
We built the frontend using Next.js which was hosted on Vercel.
We used ESLint & Prettier for JavaScript and Black for Python to keep the codebase nice and clean ๐
While building Diode, we felt that there were a ton of useful features that we could have implemented but weren't able to do so because of time constraints (we had our end-semester exams ๐ข). Here's a list of things that we plan to integrate soon!
git push to selected branch (CI/CD)Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
(git commit -m 'Add some AmazingFeature')(git push origin feature/AmazingFeature)Thank you Linode & Hashnode for hosting this amazing hackathon. We got to learn a lot while building this project ๐ฅณ