5 min
Indie Dev Log #01 — Project Kickoff
How I started this personal website, from defining the requirements to choosing the technical stack.
Indie DevelopmentBlog
Indie Dev Log #01 — Project Kickoff
Introduction
I had wanted to build a personal website for a long time—somewhere I could share development experience and organize the useful links I collect. After researching a few approaches, I decided to stop planning and start building.
Requirements
Core features
- Article publishing — Markdown support and links to articles on external platforms
- Resource directory — Categories for frequently used tools and websites
- Resource submissions — A way for visitors to suggest new resources
- Responsive design — A good experience on phones and desktops
Technology choices
After comparing several options, I chose:
- Framework: Next.js 14 with the App Router
- Styling: Tailwind CSS
- Content: Markdown and JSON
- Database: Supabase for submission forms
- Hosting: Vercel
Design thinking
I looked at several well-designed personal websites:
- Lee Robinson (leerob.io) — a clear, restrained visual style
- SeedPlaybook — an effective card-based resource directory
The first direction used cards and a blue-led palette to create a professional, technical feel. The design has continued to evolve as the purpose of the site has become clearer.
Development plan
Phase one: foundation
- [x] Initialize the Next.js project
- [x] Configure Tailwind CSS
- [x] Build the basic component library
Phase two: core features
- [ ] Design the homepage
- [ ] Build the article system
- [ ] Build the resource library
Phase three: refinement
- [ ] Improve performance
- [ ] Complete SEO configuration
- [ ] Deploy the website
Questions I ran into
- Design system — How should visual quality and functionality be balanced?
- Content management — When should content be statically generated or loaded dynamically?
- Discovery — How can people find the right resource quickly?
Plan for next week
- Complete the homepage hero
- Implement the resource cards
- Build the basic navigation structure
This is the first entry in my indie-development log. I hope to keep documenting the decisions, problems, and lessons behind the project.