First Post

Antonio Agiste • Mar 9th 2023, 3:58 am

First Post

Hi everyone, this is my first blog post. Let’s go! Quick introduction. My name is Antonio Agiste, a software developer located in Saint Lucia, an island nation in the eastern Caribbean (nowhere near Jamaica). This blog was started because I read my friend Toni-Marie Noel’s blog. I found it interesting so I said I’d give it a shot as well. She’s a better writer than I am so go check out her blog Tech Talk with Toni

So now that a brief introduction is on the way, I’ll go directly into what I wanted to talk about in this blog: (…read the last two words). The main topic for this blog post is… this blog. As a Software Engineer, I get excited about trying new things, and I tried a couple of new things here. So I’ll just be talking about the tools I used to build this blog.

Frontend

My go-to choice for web frameworks is NextJS. I find the inclusion of the serverless functions, folder-based routing, and all the other little features it comes packaged with amazing. NextJS can handle pretty much any rendering paradigm. For this application, I used server-side rendering (SSR) around 90% of the time. The only exception to this was on the “/posts” page where I was forced to use client-side rendering (CSR) to deal with pagination.

To go along with NextJS on the front end, I used Tailwind to style my components. I never really thought I’d like Tailwind. The length of classes in the editor turned me off towards it. For this project I decided to try it… and I love it! Using the standard style object or CSS doesn’t feel as elegant anymore (the former was never really elegant, to begin with… but I digress). Tailwind boosted my productivity by allowing me to quickly iterate through various style choices. Don’t forget to use the VSCode plugin though. In my opinion, the extension is necessary to quickly iterate on design decisions.

I think I’ll create a blog post about NextJS 13 at some point. So stay tuned for more of that.

Backend

For the backend, I used… nothing. Well, that’s a stretch but it does feel like it. I’m used to stressing over which cloud provider to use for hosting. I’ve used Heroku (furious blog post incoming), AWS, Railway, and Google Cloud, and I must say, beyond Railway and Heroku, it’s a taxing process. More about hosting in a future post (stay tuned). For this blog, I just used Vercel’s edge functions that come standard with NextJS.

I used PlanetScale’s MySQL database to persist data. Initially, I intended on using a simple JSON file but I decided I might as well create a proper database for my data. In that case, I wouldn’t need to rebuild the site every time I corrected a spelling error. That would make me upset quite quickly. To avoid having to go into authentication for this small blog that only I use I also created a companion application to handle general CRUD operations. The connection to the database was handled by Prisma.

Conclusion

So that’s it for my first blog post. I don’t have comments or likes since that’s beyond the scope of my weekend project. I’ll slowly add more features as I develop so MAYBE those things will be added in a future update. Just maybe though… I make no promises. Thanks for reading til the end! Don’t forget to like, share and subscribe!. Note to self… add those features…

Antonio Agiste

Antonio Agiste

Software Engineer

Welcome to my blog. This blog is a place where I share my thoughts on upcoming technologies and my experiences as a software engineer. Thanks for stopping by!

Social Media

Github Logo
LinkedIn Logo