Started building whoami.page this summer. Here's how it went.
Why I Built It
I was sending my resume and project links to a potential client. Multiple files, different formats, links scattered across emails. There had to be a better way to present my work in one place.
Named it after the Unix whoami
command. Seemed fitting for a developer profile platform.
What I Wanted to Learn
Set some technical goals before starting:
- Use Next.js Server Actions (they were still in alpha)
- Focus on production optimization and performance
- Implement Tanstack Query for data fetching
- Write more TypeScript, get better at it
Design Process
Read.cv was a big inspiration. Clean, minimal, focused on the content. Used Figma to design the interface, referenced sites like Mobbin for UI patterns.
The platform needed to do four things:
- Professional profiles that aren't just static resumes
- A place to write short posts and updates
- Project showcases with proper context
- Basic networking features
Tech Stack
Went with what I knew:
const techStack = {
frontend: "NextJS",
language: "TypeScript",
orm: "Prisma",
styling: "TailwindCSS",
database: "PostgreSQL",
hosting: "Vercel"
};
Server Actions Were Rough
Next.js server actions were my first real problem. The docs said alpha, I thought "how bad could it be?"
Pretty bad, actually. The React docs helped, but debugging was painful. Hours lost to weird state handling issues. Functions that worked locally but broke in production. Classic alpha experience.
But I learned a lot about how server components actually work. How data flows between server and client. Where the boundaries are. Worth the struggle in hindsight.
Where Things Stand
After a few weeks, I had the basic structure working. Authentication, database schema, main pages. Nothing fancy yet, but the foundation was solid.
The hard parts were still ahead. Building the actual features, making the UI responsive, handling edge cases. You know, the real work.
What's Next
Part 2 will cover the actual build process. TypeScript battles, performance optimization, deployment issues. The stuff that took 90% of the time after that first 10% was "done."
The project is live at whoami.page if you want to see where it ended up.