MK
← Back to blog

I Built My Entire Portfolio Website in One Day Using AI - Here's How You Can Too

Published: October 6, 2025

By: Miska Kaskinen

Last month I rebuilt my entire portfolio website from scratch in a single day.

Not just a landing page. A complete portfolio with project showcases, blog system, contact forms, analytics integration, and calendar booking.

As a backend developer who builds automation systems, I wanted to prove modern web development doesn’t require weeks of learning. With AI-assisted coding tools, I shipped a working site in one day, then spent three weeks optimizing it to production-grade performance.

The final site loads in under 2 seconds. Scores 95/100 on Google Lighthouse. Works perfectly on mobile and desktop. Costs $0/month to host.

Here’s the exact process you can follow to build high-performance websites faster.

Why I decided to start from scratch

My old portfolio worked. Built with WordPress. Functional enough.

But slow. Every page took 3-4 seconds to load. The admin dashboard felt clunky. Adding a blog post required navigating through five different menus, installing plugins, hoping nothing broke.

I wanted something faster. Something I could update in 30 seconds. Something that felt professional without monthly theme subscriptions or security vulnerabilities from outdated plugins.

The problem: I didn’t have weeks to learn modern web development.

That’s when I discovered AI-assisted coding could do the heavy lifting.

The tools that made this possible

I used Claude Code—an AI coding assistant that writes, edits, and debugs code through conversation.

Picture this: You describe what you want in plain English. It writes the code. You review the output. It fixes issues. You iterate until it works.

No memorizing syntax. No reading framework documentation for hours. No StackOverflow rabbit holes trying to fix obscure errors.

I’d say: “Add a contact form that sends emails through Resend API.”

Claude would generate the complete implementation—frontend component, backend API route, email template, error handling, validation logic.

For design, I used v0 by Vercel. Upload a screenshot of a site you like. Describe your vision. It generates the exact HTML and CSS to recreate it.

Combined with Astro—a modern web framework built for speed—I had everything needed to ship a professional site.

What I built in one day

9am. Coffee. Let’s build.

By 6pm, here’s what was live:

Core Pages:

  • Homepage with video introduction and animated hero section
  • About page with work history timeline
  • Projects showcase with category filtering
  • Blog system with tags and reading time estimates
  • Contact page with integrated calendar booking

Third-Party Integrations:

  • Calendly for meeting scheduling
  • Beehiiv for newsletter signups
  • Resend for contact form emails
  • Google Analytics for visitor tracking
  • rb2b for visitor identification

Performance Specs:

  • 95/100 Lighthouse score (desktop)
  • 90/100 Lighthouse score (mobile)
  • Sub-2 second load times
  • Automated WebP image optimization
  • Zero-downtime deployment pipeline

The initial working version was live in under 9 hours. Then I spent three weeks optimizing performance, fixing accessibility issues, and perfecting third-party integrations.

Total cost: $0 for hosting. $20/month for Claude Pro (optional but worth it for faster responses).

The hour-by-hour breakdown

Hour 1: Choose your stack

First decision: what framework?

I asked Claude: “What’s the best stack for a fast portfolio website with a blog system?”

It explained the trade-offs. Recommended Astro for speed, UnoCSS for styling, Vercel for hosting.

Why Astro? It ships zero JavaScript by default. Pages load instantly. Perfect for portfolios where speed matters more than complex interactivity.

One command later: complete project structure generated. Ready to build.

Hours 2-3: Design and layout

I had screenshots of portfolio sites I liked. Uploaded them to v0.

“Make this layout but with my brand colors. Better spacing. Mobile-first responsive design.”

v0 generated the exact code. Copy. Paste into my project. Preview in browser.

Claude helped integrate it with Astro components. Explained how responsive breakpoints work. Fixed mobile navigation issues I didn’t even notice.

Hours 4-5: Content and project showcases

Created markdown files for each project. Claude generated the template format:

---
title: "Project Name"
description: "What it does"
technologies: ["Astro", "TypeScript", "Vercel"]
status: "completed"
---

Project description here...

I filled in descriptions. Added screenshots. Specified technologies used.

Claude built the project showcase page. Added filtering by category. Implemented responsive image grids. Made it look professional without me touching CSS.

Hour 6: Third-party integrations

This is where AI-assisted coding really shined.

“Add Calendly so people can book meetings directly on the contact page.”

Claude wrote the entire integration. Handled edge cases I didn’t know existed. Fixed compatibility issues with Astro’s view transitions. Added loading states.

15 minutes. Done.

Same for newsletter signup. Contact form with email API. Analytics tracking.

Each integration took 15-20 minutes instead of hours reading documentation and debugging API calls.

Hours 7-8: Blog system

I wanted to write technical articles. Needed a proper blog.

“Create a blog system with categories, tags, reading time estimates, and RSS feed generation.”

Claude set up the entire content collection system. Generated layout templates. Built the index page with pagination. Added category filtering. Configured RSS feeds.

I wrote one test post to verify it worked. Published. Perfect.

Hour 9: Deploy and optimize

Connected my GitHub repository to Vercel. Pointed it at the main branch. Clicked deploy.

Live in 2 minutes.

Then optimization. “How do I make this load faster?”

Claude suggested image optimization, font preloading, CSS inlining. Implemented each suggestion. Re-deployed.

Lighthouse score: 95/100. Load time: 1.8 seconds.

Desktop Lighthouse Results Desktop Performance: 95/100 | Accessibility: 94/100 | Best Practices: 96/100 | SEO: 100/100

Mobile Lighthouse Results Mobile Performance: 90/100 | Accessibility: 96/100 | Best Practices: 96/100 | SEO: 100/100

What surprised me most

The quality of the generated code.

Claude didn’t just write working code. It wrote code following best practices I didn’t even know existed:

  • Proper semantic HTML for accessibility
  • SEO meta tags configured correctly
  • Security headers for production deployment
  • Error boundaries for graceful failures
  • TypeScript types for everything

It explained every decision. Taught me why certain patterns work better than others.

By 6pm, I understood modern web development better than I would have after reading tutorials for weeks.

The gotchas nobody mentions

AI can’t read your mind

Vague prompts get mediocre results.

“Make it look good” → generic output.

“Create a hero section with my name on the left, video player on the right, Sanchez font for headings, 4px black borders on all buttons” → exactly what you want.

Specificity matters. The more detail you provide, the better the result.

You still need to test everything

AI writes solid code. But it can’t click through your site to verify everything works on real devices.

I found bugs by actually using the site. Contact form didn’t handle long messages properly. Calendar widget broke on mobile Safari. Newsletter signup had a layout shift issue on tablets.

Claude fixed each one in seconds. But I had to find them first.

Integrations take longer than pure features

Building a contact form component: 5 minutes.

Making it work with third-party email APIs, handling rate limits, storing submissions in a database, sending confirmation emails, dealing with spam prevention: 45 minutes.

Claude helped tremendously. But integrations are inherently more complex than isolated UI components.

Who this actually works for

This approach works if you:

Want to move fast

Building a portfolio in one day instead of one month matters when you’re job hunting, launching a service, or need to establish credibility quickly.

Can describe what you want

You don’t need to know code. But you need to know what you want the site to do.

“I want a clean portfolio showcasing my design work with a contact form and newsletter signup” is enough to start.

Learn by doing

AI generates code. You review it. Ask questions when you don’t understand something. Iterate based on what you learn.

By the end, you’ll understand how modern websites work.

If you just want someone else to build everything, hire a developer. This is for people who want to own their site completely.

What you actually need

Tools:

  • Claude Code or similar AI assistant
  • v0 for design generation (optional but helpful)
  • GitHub account (free)
  • Vercel account (free tier is generous)

Time investment:

  • 1 day for basic portfolio
  • 2-3 days if you want custom integrations
  • More if you’re learning fundamentals as you go

Budget:

  • $0 for hosting (Vercel free tier handles most portfolios)
  • $20/month for Claude Pro (optional, free tier works but slower)
  • $0 for everything else

Required skills:

  • None to start
  • Willingness to learn by asking questions
  • Patience to iterate when things break
  • Ability to describe what you want clearly

The results after optimization

After the initial one-day build, I spent three weeks optimizing performance, accessibility, and integrations. The final site:

  • Loads in under 2 seconds (verified with Google PageSpeed Insights)
  • Achieves 95/100 Lighthouse score on desktop, 90/100 on mobile
  • Costs $0/month to host (Vercel free tier)
  • Takes 30 seconds to update content

I add blog posts by creating markdown files in my code editor. Push to GitHub. Live in 90 seconds.

No admin dashboard. No plugin conflicts. No security patches to manage.

Just write. Commit. Deploy. Done.

Should you try this?

If you need a professional website quickly: yes.

If you want to learn modern web development: absolutely.

If you just need a simple landing page: maybe use Carrd or Webflow instead. Simpler tools for simpler needs.

This approach works best when:

  • You need custom features standard website builders can’t provide
  • You want complete ownership of your codebase and data
  • You’re willing to learn how things work under the hood
  • Speed and performance matter for your use case
  • You enjoy problem-solving and iteration

The AI tools exist. The frameworks are easier than ever. The hosting is free.

What used to require weeks of learning and thousands in developer costs now takes a day and costs nothing.

The question isn’t whether you can build a professional website without being a developer.

The question is: what will you build first?

Next steps

Want to see the code? The entire site is documented in the technical case study with implementation details and code examples.

Ready to build yours? Start with Astro’s getting started guide. Use Claude to help with parts you don’t understand. Ship something this weekend.

Need a high-performance website for your business? Book a call and I’ll help you ship a site that actually converts.

The best time to build your portfolio was last year.

The second best time is today.

What’s stopping you?

Written by Miska Kaskinen

← Back to all posts

More Posts

  • I Built My Entire Portfolio Website in One Day Using AI - Here's How You Can Too

    I Built My Entire Portfolio Website in One Day Using AI - Here's How You Can Too

    I rebuilt my entire portfolio website from scratch in one day using AI-assisted coding, then spent three weeks optimizing it to 95+ Lighthouse scores. Here's the exact process you can follow to ship a high-performance site faster than traditional development.

  • Building Secure MCP Servers - What I Learned After Six Months of Trial and Error

    Building Secure MCP Servers - What I Learned After Six Months of Trial and Error

    I've been building and testing Model Context Protocol servers since January 2025. Here's what I learned about security, authentication, and global deployment after six months of trial and error.