0nepeop1e

Just a random developer.

avatar

Beginning of This Blog

by 0nepeop1e a month ago, updated a month ago

I recently rebuilt my personal website after it had been down for a long time. Previously, it was hosted on my Raspberry Pi, but when the Pi went offline, I chose not to migrate it to another one. Since I was dissatisfied with the tech stack of my old website, I decided to rebuild it from scratch.

What Technologies Did I Use in the Old Website?

CategoryTech Stack
FrameworkSvelteKit
StylingTailwind CSS
RuntimeBun
ORMPrisma
DatabasePostgreSQL

One of the biggest issues I had with the old setup was Prisma as the ORM. While Prisma is a great tool, it adds an extra layer of abstraction, requiring queries to pass through its binary. This created issues when bundling the project. Additionally, Prisma detects the environment during installation and downloads the appropriate binary, meaning I had to exclude it during build time to avoid compatibility issues.

Another drawback was Prisma’s limited support for raw SQL queries. Although I am not a SQL expert, I prefer optimizing data loads by writing my own SQL queries, which Prisma made difficult.

What Technologies Am I Using Now?

CategoryTech Stack
FrameworkSvelteKit
StylingStyleX by Meta
RuntimeBun
ORMDrizzle (with bun:sql)
DatabasePostgreSQL

I still love Svelte, so I stuck with SvelteKit as my framework. However, I switched from Tailwind CSS to StyleX for styling. While Tailwind CSS is great, it has some drawbacks, such as class merging issues. StyleX addresses these problems, and even though it’s not yet stable, I’m willing to experiment with it for my personal website.

For the ORM, I replaced Prisma with Drizzle, which functions more like a query builder than a traditional ORM. This allows me to write SQL-like queries with greater flexibility and control. Additionally, Drizzle supports bun:sql, reducing the dependencies of my project since I’m already using Bun as the runtime.

Development Process

After finalizing the tech stack, I began development. My main requirements were:

  • An About page to showcase my social media links and skills.
  • A Contact page for communication, though I expect it to be rarely used.
  • A simple blogging system, which my old website lacked but was something I really wanted.

I faced several challenges throughout the development process, which I will discuss in a future post.

Final Thoughts

With this new blogging system, I can now easily share my thoughts, ideas, and programming discoveries. Stay tuned for more insights into the development of this website and the simplicity of the blogging system I built!


Next: Styling with StyleX

© 2025 0nepeop1e, All Rights Reserved

Powered by SvelteKit