Rebuilding My Website with Astro and AI
TL;DR: I rebuilt my portfolio using Astro (recommended by AI over Jekyll) and experimented with various AI coding tools. Key lessons: be specific with prompts, always review AI output, use AI to learn not just build, know when to code manually, and commit often.
I rebuilt my portfolio website. The previous one had consistency problems and felt limited, so I decided to start fresh. This time, I chose Astro as my framework and leaned heavily on AI tools throughout the process. Here’s what I learned.
Why Astro?
I initially wanted to use Jekyll, but when I asked Gemini for recommendations, it suggested Astro as a more modern solution. I wanted something fast and well-suited for a content-focused site. Astro’s approach of shipping zero JavaScript by default and its excellent Markdown support made it a perfect fit for a portfolio with blog posts and project showcases.
Developing with AI Assistants
This project became my playground for exploring AI-assisted development. I experimented with a variety of tools: Gemini, Antigravity, Copilot, Claude, Ollama, LM Studio, and local models like Qwen Coder.
I started the project from scratch 4 times until I got something I wanted. I learned that I have to take it step by step through prompting instead of a one-shot prompt that would build everything.
Each tool has its strengths, and I found myself switching between them depending on the task. Local LLMs are free but consume precious resources on my machine and respond slowly. I liked Antigravity and Copilot, but hit their free tier limits pretty quickly. Eventually, I signed up for the Claude Pro plan so I could use Claude Code locally. Prompting through a web interface just wasn’t cutting it for actual development work.
I also researched AI best practices like agent skills and CLAUDE.md configuration files. I even used Claude to generate these files for me, which felt appropriately meta. Though honestly, I’m not sure if they made a noticeable difference.
Lessons Learned
Working with AI coding assistants is a skill in itself. Here are a few things I picked up:
- Be specific with your prompts. Vague requests lead to generic solutions. The more context you provide, the better the output.
- Review everything. AI-generated code isn’t always correct or optimal. Treat it as a starting point, not a final solution.
- Use AI for learning, not just doing. When the AI suggests something unfamiliar, take time to understand why. It’s a great way to discover new patterns and APIs. I asked the AI to point to me which part of the CSS is responsible for an element in the page and I just tweaked it manually.
- Know when to code manually. Sometimes it’s faster to just write the code yourself, especially for simple tasks or when you have a clear vision. Always prompting for small tasks such as committing and running the server will be counted to the usage limit. So don’t waste it on these simple things.
- Commit regularly. When the project is in a good state, commit it. The next prompt may make changes that you can’t revert anymore, it would be easier to revert to the last good state in version control.
What’s Next
This site is a living project. I plan to continue adding content, refining the design, and documenting my game development journey here. If you’re curious about AI-assisted development, I encourage you to try it on a personal project. The barrier to entry has never been lower.