Palette
export const writing = {

Blogs

} // insights to how I think

const posts

// 10 items
2 min read
10

Why I Rebuilt My Portfolio (Again)

Payload CMS was overkill. Here's why I went with Astro and files in a repo.

#astro #mdx #portfolio #cms
12 min read
09

I "Vibe Coded" my Wedding Website

I built my wedding website as both a personal project and a serious test of agentic coding. Designed for around 200 guests, it included custom RSVP flows, an admin dashboard, guest management tools, and a strong focus on mobile performance and reliability. More than anything, the project showed me how powerful AI-assisted development can be when paired with clear direction, testing, and real product constraints.

#agentic-coding #nextjs #supabase #mobile-first #ai-workflow
8 min read
08

Rebuilding a Client Website to Cut Costs and Move Faster

This project started as a practical problem: a client's Squarespace site was about to renew at a much higher cost than necessary. I rebuilt it in a more cost-effective setup, using familiar tools, Vercel hosting, and a workflow that leaned more heavily on Cursor and Claude Code. The project showed me that strong freelance development is often less about building more and more about solving the right problem efficiently.

#freelance #nextjs #vercel #ai-workflow #migration
10 min read
07

Building a Self-Hosted Media Server on a Raspberry Pi

This project started as a way to cut down on streaming and hosting subscriptions by building a self-hosted media setup on my Raspberry Pi. Along the way, it became a hands-on lesson in self-hosting, reverse proxies, domains, storage planning, and making services usable for family and friends. What began as a cost-saving hobby turned into one of my most practical and rewarding infrastructure projects.

#self-hosting #raspberry-pi #jellyfin #cloudflare #homelab
6 min read
06

Building My First Freelance Website

This was my first freelance website for a real organization and one of my first true production builds. It taught me how different client work is from personal projects, especially when it comes to communication, planning, and maintainability. The project also pushed me to choose tools based on the client's needs, not just my own preferences as a developer.

#freelance #nextjs #sanity #production #client-work
2 min read
05

My Experience Using PayloadCMS with Next.js

As I expanded my personal site, I needed a CMS that fit my developer workflow. This post covers my journey with PayloadCMS, why it stood out over Sanity, and how it helped me build a clean, serverless blog setup.

#nextjs #payloadcms #sanity #vercel #cms
4 min read
04

Building a Personal Website That Felt Like More Than a Portfolio

I built my personal website to be more than a static portfolio — a place to showcase projects, freelance work, and my growth as a developer. Using tools like PayloadCMS and Tailwind, I focused on making the site easier to maintain while giving it a cleaner, more polished feel.

#nextjs #payloadcms #tailwindcss #portfolio #webdev
5 min read
03

A Deeper Dive

SpotiDash is a web application that provides users with a personalized dashboard for exploring their favorite music on Spotify. Leveraging the Spotify API, SpotiDash allows users to view their top tracks, artists, and new releases, all in one place.

#nextjs #typescript #spotify-api #tailwind #auth
3 min read
02

Project Number 2

A webapp developed to practice React. This project is a simple implementation of the classic Tic Tac Toe game, allowing users to play against Anthropic's Claude AI in a fun and interactive way.

#react #javascript #tailwind #anthropic #ai
3 min read
01

Getting Back Into Coding

The story behind what led me to coding my first coding project.

#javascript #html #css #learning