Palette
export const developer = {
Piotr Szaran profile picture

Piotr
Szaran

} // full stack developer
. coreStack
TypeScript logo
Node.js logo
React logo
Next.js logo
Tailwind logo
Bun logo
. education
Honors Bachelor of Science
University of Toronto, 2023
. location
Toronto
. experience
2+ Years of Experience

const projects

// 14 items
14

FinLens

A deployed, self-hosted household finance tracker with PDF statement imports, manual transaction review, spending dashboards, central SSO, and a read-only MCP server.

TypeScript badgeReact badgeVite badgeTailwind CSS badgeHono badgePostgreSQL badgeDrizzle badgeBetter Auth badgeMCP badgeDocker badgeCaddy badge
13

OptiPlex Home Server

Converting a decade-old Dell OptiPlex into a headless home server for self-hosting on hardware I already owned.

Debian badgeCaddy badgeCloudflare badgeTailscale badgeDocker badge
11

Discord Bot

Discord bot that helps organize gaming meetups by creating groups, proposing events, and collecting RSVPs directly in chat. It was containerized for deployment and self-hosted on my own VPS, with reminder messages to help players keep track of upcoming events.

TypeScript badgeBun badgeSqlite badgeDrizzle badgeDocker badgeDiscord.js badgeGitHub Actions badge
10

Personal 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.

Next.js badgeTypeScript badgeSupabase badgePrisma badgeResend badgei18n badge
09

Judicial Help Desk Email App

A desktop tool for submitting IT support requests with issue details, attachments, and basic device diagnostics.

PowerShell badgeWPF badgeXAML badge
08

Internal Order Management Webapp

Internal order and inventory management system for tracking hardware assets from purchase to deployment. It supports ordering, receiving, assigning, returning, and administering user access.

Vite badgeReact badgePM2 badgeDocker badgeGitHub Actions badgeTailwind CSS badgeTypeScript badgeNode.js badge
07

Next Level Therapy

Practitioners medical clinic located in Mississauga Ontario looking for a modern and professional website with a focus on a native mobile experience.

TypeScript badgeNext.js badgeResend badgeTailwind badgeBun badge
showing last 10 projects ... View all →

const blogPosts

// 11 items
8 min read
11

Keeping Things In Check

FinLens is a deployed, self-hosted personal finance tracker I built as a better alternative to managing household finances in Excel. This post covers the decisions and infrastructure changes that turned it into part of my wider Pior Labs platform.

#react #typescript #postgres #oauth #mcp #self-hosting
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
showing last 5 blogs ... View all →