Nick James

My current development stack

Over the past couple months I have been working with a new tech stack that I really enjoy a lot. I switched to this stack in order to have a similar set of tools across the front-end and back-end, as well as to develop some long lasting skills. So, lets jump right into it.

Front End

  • react: I chose react which is a JavaScript library for building out an SPA. Components can be designed in a reusable fashion which leads to less time spent on development. Secondly, because the app is an SPA, transitions between pages should be quick and seamless since no page refresh is needed.
  • next js: Next is a framework built around react which allows you to server render you pages or generate a static website. This will do wonders for both speed and SEO.  

Back End

  • nodejs: Nodejs is a serverside Javascript runtime environment. Before switching to Node, all of my server side code for personal projects was written in Flask and Python. I jumped ship because switching back and forth between Python for the backend and JavaScript for the frontend was less than ideal. As a solo dev, there was alway a bit of ramp up time switching between the two. Using the same language should result in a much smoother transitions, plus the added benefit of tips or tricks I learn while working in one code base should benefit the other.

Database

  • postgresql: In my my previous job, we used MySQL. I wouldn't say I was an expert by any means, but I was familiar with relational databases. I chose Postgres because of it's popularity, ability to handle objects using JSON or JSONB, and the fact that it is open source.

Libraries

  • slonik: This library allows me to write raw SQL statements in my backend code which is a huge win! My last few projects made use of an ORM and I abolutely hated it. Typically I would write a query in SQL and then fiddle with the ORM code to reproduce the same query. Plus the worst part is knowledge of one ORM does not transfer over to another. If I can write raw sql, this is a very transferable skill.

Hosting

  • vultr: I've been using Vultur to host all my side projects for a little over a year now. It is very easy to spin up a VPS and the cost is incredible for what you get. I am paying $3.50 a month to host this blog, as well as two other projects.
  • docker: All my projects make us of docker containers. I remember all to well the "It works on my machine" problems in my last job. Docker helps me eliminate inconsistencies between dev and production.
Author image
About Nick James