TL;DR: A friend needed a portfolio site with zero recurring cost. I built it with Claude Fable 5, pushed it to GitHub, deployed it on Netlify's free tier, and used Netlify.App subdomain instead of buying a domain. Total cost: $0/month, $0/year. Live: https://ifteha.netlify.app/
The problem
The requirements were strict, but honestly, it was a nice challenge:
"A personal/portfolio website. Must be free. No domain cost. No hosting cost. Permanently."
This meant most managed site builders were out, since their free plans either expire or add watermarks. Paid VPS or custom domains were also off the table. So, I had to focus on the basics: a personal site just needs static files, served reliably at a web address. That’s all.
The architecture
Claude Fable 5 → build the static site
│
▼
GitHub → version control + free repo hosting (my friend's own account)
│
▼ (auto-deploy on push)
Netlify → free static hosting + CDN + HTTPS
│
▼
ifteha.netlify.app → free subdomain, no registrar
- Build: Claude Fable 5
Instead of struggling with a template, I used AI as a pair programmer and made the prompt itself the main design decision. My friend works with graph neural networks and her thesis is about spammer detection using variational graph autoencoders, so my first real prompt wasn’t just “build a portfolio.” It was more like:
"Build the site as if it's a graph itself: sections as vertices, scrolling as traversal, skills as a constellation. Use real notation from her field where it fits — coordinates instead of a location line, vertex numbering instead of section numbers."
That's a reconstruction of the intent, not a verbatim log, but it's the shape of what actually got a specific, non-templated result instead of a generic one. Output is plain HTML/CSS/JS. No framework, no build step to break, which keeps the rest of the pipeline simple.
- Host the code: GitHub
The static output goes into a public repo under my friend's own GitHub account. Free, and the repo itself becomes a visible artifact for a CS grad; a clean public repo is part of the portfolio.
- Deploy — Netlify free tier
Connect the GitHub repo once. After that:
git push origin main # → Netlify rebuilds & redeploys automatically
The free tier includes HTTPS, a global CDN, and continuous deployment.
- The domain — skip the registrar
Instead of $12/yr for a custom domain, the site runs on the free *.netlify.app subdomain. HTTPS by default. A custom domain can be attached later with zero rebuild; the pipeline doesn't change.
What actually took iteration
Not everything worked first try, and it's worth naming what didn't:
- Links: early passes had anchor links that didn't scroll to the right section, or worked on desktop and broke after a resize. Took a few rounds of pointing at the specific broken anchor before all internal links tracked correctly.
- Responsiveness: the first layout looked fine on a laptop and broke down on mobile (overlapping elements, overflow). Fixed by testing at phone width specifically and iterating against that, not just asking for "responsive" in the abstract.
One focused, field-specific prompt set the creative direction. Getting the details right took several clear and specific prompts.
Why static is the unlock
There’s no server to manage, no database, and no container using up credits all day. Static files on a CDN are so affordable that most major hosts offer them for free. If your portfolio doesn’t need a backend and most don’t. You can take advantage of this free infrastructure.
Result
A live, responsive, personality filled site my friend fully owns: https://ifteha.netlify.app/
- Recurring cost: $0
- Domain cost: $0
- Ownership: code lives in her own GitHub account
- Upgrade path: custom domain anytime, no re-architecture
If you’re building sites for friends, students, or anyone with a tight budget, you can use this same approach.
Top comments (1)
The constraint discipline here is the part that makes this work: once the requirement was truly $0 recurring cost, the architecture naturally narrowed to static HTML/CSS/JS, GitHub, and Netlify instead of a heavier stack. The graph-inspired prompt tied to her graph neural network work and variational graph autoencoders is a good reminder that AI-generated sites get less generic when the prompt includes domain taste, not just layout requests. The anchor-link and mobile-responsiveness fixes are the real engineering lesson: cheap infrastructure is only a win if you still budget time for boring QA. For a founder, I'd treat this as the default.