Logo
thumbnail

My Solo Developer Stack

I have been developing websites for over a decade. I have built web experiences using WordPress, Create React App, Custom SSR Servers, Next.js, Sveltekit, the list just goes on and on. But this article isn't about how many frameworks I have used throughout the years. I want to share the tools, technologies, and process that I use to create the infrastructure and deploy code to it. As a solo developer I needed tools that allow me to do everything quickly and in an automated manner to work efficiently. This includes creating the servers, configuring them, and getting code on as soon as possible.

Terraform

Terraform is an infrastructure-as-code library that automates the creation of virtual private servers and networks in the cloud and in on-premises virtualization platofrms. There are provider libraries for amazon web services (AWS), linode, xen orchestration, and proxmox. I use this to quickly stand up entire application networks within seconds to be more productive.

Ansible

Ansible is an automation tool that uses the SSH protocol to remote into your server and perform tasks like performing updates or installing specific software. I use ansible to configure servers, keep them up-to-date, audit servers, and deploy code to specific servers. Below is the list of tasks that I automate using ansible.

On top of the simple automation scripts, we also can use user-interfaces like Semaphore to make these tasks more accessible to your team and require less technical knowledge.

ELK Stack (Elasticsearch, Logstash, and Kibana)

Elasticsearch, Logstash, and Kibana are tools for collecting logs and other data from the services and servers and displaying that data in dashboards for easy grokking and troubleshooting.

Docker

Docker is a tool that allows you to package and distribute your software in OCI containers. I use Docker containers to run testing suites and deploy software to servers in a simple and streamlined manner.

Frameworks

I am not going to tell you what frameworks you should or should not use to develop your software, but I do use quite a few to develop mine. You should pick the technologies that make sense to you and your projects and then just start coding apps.