Devlog Entry #1 - Building a 13-year-old's dream website
Building a modern, fast, and fun personal website for Ozan - a 13-year-old developer who's already building projects with Vue.js, JavaScript, and Python. This isn't your typical "kid's website" - it's a serious portfolio that happens to be built by someone who's 13!
- Island Architecture: Perfect for speed + interactivity
- MDX Support: Great for blog posts with code highlighting
- Zero JS by default: Fast loading, then add interactivity where needed
- Easy deployment: Works great with Vercel/Netlify
- Rapid prototyping: Perfect for a 13-year-old who wants to iterate quickly
- Consistent design: No more "what color should this be?" decisions
- Responsive by default: Mobile-first approach
- Free forever: No hosting costs for data
- Simple to edit: Ozan can update projects without touching code
- Git-friendly: Version control for all content
- No setup complexity: Just edit files and deploy
src/
├── components/ # Reusable UI components
│ ├── Header.astro # Navigation with dark mode toggle
│ ├── ProjectCard.astro # Animated project cards
│ ├── PhotoGallery.astro # Responsive image grid
│ └── DrumKit.astro # Interactive drum kit
├── layouts/ # Page layouts
│ ├── BaseLayout.astro # Main layout with meta tags
│ └── BlogLayout.astro # Blog post layout
├── pages/ # Astro routes
│ ├── index.astro # Homepage
│ ├── projects.astro # Projects showcase
│ ├── photography.astro # Photo gallery
│ ├── drumming.astro # Drumming section
│ ├── blog/ # MDX blog posts
│ ├── secret.astro # Easter egg page
│ └── 404.astro # Custom 404
├── data/ # JSON content
│ ├── projects.json # Project portfolio
│ ├── photos.json # Photography metadata
│ └── blog-posts.json # Blog post metadata
└── styles/ # Global styles
└── global.css # Custom CSS + animations
- Homepage: Hero section, quick intro, animated elements
- Projects: Card grid with VEX IQ, BilBots, Concert site
- Photography: Image gallery with Nikon D3300 shots
- Drumming: Metal drumming showcase with interactive kit
- Blog: MDX posts with syntax highlighting
- Konami Code: "Ozan OS mode" boot animation
- Hidden click zones: Secret messages and pages
- Juicebox Mode: Random styling chaos
- Focus Test: Minigame on /study page
- Drum Kit: Keyboard-controlled drum sounds
- "I'm Bored" Button: Random fun features
- Dark/Light Mode: Smooth theme switching
- Animations: GSAP + Framer Motion integration
- Responsive Design: Mobile-first approach
- Performance: Lighthouse 100 scores
- SEO: Meta tags, structured data
- ✅ Initialized Astro project with minimal template
- ✅ Added Tailwind CSS integration
- ✅ Set up MDX for blog posts
- ✅ Created project structure
- ✅ Planned JSON data architecture
- ✅ Built stunning homepage with hero section and animations
- ✅ Created modern header with dark mode toggle
- ✅ Built interactive project cards with hover effects
- ✅ Created projects page with filtering and search
- ✅ Built photography page with image grid
- ✅ Created drumming page with interactive drum kit
- ✅ Built blog page with sample posts
- ✅ Created fun 404 page with animations
- ✅ Added GSAP animations throughout
- ✅ Implemented responsive design for all pages
- Add Real Content: Replace placeholder data with actual projects and photos
- Easter Eggs: Implement Konami code and hidden features
- Performance: Optimize images and add lazy loading
- SEO: Add structured data and meta tags
- Deploy: Set up hosting and domain
"Wait, you're 13??" - That's the reaction we want visitors to have. The site should be:
- Professional: Clean, modern, fast
- Playful: Easter eggs, animations, personality
- Impressive: Show off real technical skills
- Accessible: Works for everyone, including screen readers
- Lighthouse Score: 100/100 across all metrics
- First Contentful Paint: < 1.5s
- Largest Contentful Paint: < 2.5s
- Cumulative Layout Shift: < 0.1
- First Input Delay: < 100ms
- Site loads in under 2 seconds
- All easter eggs work perfectly
- Mobile experience is smooth
- Blog posts render beautifully
- Projects showcase impresses visitors
"Building websites is like building with LEGO - you start with blocks and end up with something amazing." - Ozan, probably
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |