The portfolio you have been meaning to rebuild for two years can be live on a real URL by tonight, for zero dollars. Claude’s Free plan writes the HTML. Google’s Gemini app generates the hero image. Cloudflare Pages hosts it with unlimited bandwidth. No subscription, no credit card, no code on your machine.
The free-stack answer
Build a portfolio website with free AI models by drafting the copy, design, and layout inside Claude.ai’s Free plan as a single-file HTML artifact, generating any illustrative imagery with Google’s free Nano Banana 2 model in the Gemini app, then deploying the output to Cloudflare Pages’ Free plan. Total time: one to three hours for a first version, most of it spent writing the content. Total cost: zero. The only paid step the whole pipeline needs is a custom domain, and the free hosts ship subdomains (yoursite.pages.dev, yoursite.github.io, yoursite.netlify.app) that work as real URLs while you decide whether to buy one.
| Free AI model | Session or daily cap | Artifacts or Canvas | Image generation | What it is best for |
|---|---|---|---|---|
| Claude (Free) | Roughly 15–40 messages per 5-hour window (reported); Sonnet 4.5 default, no Opus | Artifacts: yes. Copy HTML from the artifact panel | No native image gen | Writing the HTML, CSS, and copy in one place; best single tool for the core build |
| Gemini app (Basic) | Up to 30 prompts/day on Pro 3.1; 5 Deep Research reports/month | Canvas-style output via normal chat | Up to 20 Nano Banana 2 images/day; Nano Banana Pro redo is paid-only | Hero imagery, headshot alternatives, background textures, research |
| DeepSeek (new-account grant) | 5 million free tokens on signup, no credit card, usable across all DeepSeek models; reportedly valid 30 days | API-only access; use from Claude Code or a script | No image gen | Bulk copy drafting or rewrites; cost-sensitive experimentation |
| ChatGPT (Free) | 10 GPT-5 messages per 5 hours, then auto-downgrade to GPT-5 Mini | Canvas: paid-only (Plus) | 2–3 images per 24 hours via gpt-image | Alternate copy voice for A/B-ing taglines; not the main build tool on this stack |
What “portfolio website” means in this guide
Scope, first. This is not a headless CMS with a blog engine, not a Next.js app with server-side rendering. It is a single HTML file or a small set of linked HTML files, laid out with Tailwind CSS via CDN, no build step, no npm install. The output is a folder you can drop onto any static host. The point is to ship, not to build infrastructure around shipping.
A portfolio’s job: convince a hiring manager, a client, or a recruiter within roughly ninety seconds that you can do the work they need. Three modules do most of the convincing. A short above-the-fold statement of what you do and who for. A showcase of two to six case studies. A way to contact you. Everything else is optional. The shorter the page, the better the conversion. Examples in this guide stay generic. Build yours; swap the words.
The free AI stack, in detail
Claude’s Free plan ships the pieces that matter: Artifacts (live HTML preview), web search, file uploads up to 20 per chat at 30 MB each, Sonnet 4.5 as the default model. Anthropic does not publish a fixed per-window message count; the help center says usage varies by conversation length and model choice. Third-party trackers peg the practical ceiling at roughly 15 to 40 messages per five-hour window, comfortable room for a one-day build. Opus 4.6 sits behind Pro ($17 billed annually, $20 monthly) or Max (from $100 a month).
The Gemini app on Basic handles the imagery. Google’s own support page publishes exact daily limits: 30 prompts per day on Pro 3.1, 20 Nano Banana 2 image generations per day, and five Deep Research reports per month. Nano Banana 2 launched February 26, 2026, runs on Gemini 3.1 Flash Image, and replaced Nano Banana Pro as the default image experience across Fast, Thinking, and Pro tiers. The older Nano Banana Pro (Gemini 3 Pro Image) is paid-only as of April 2026.
One footnote before you wire anything up. Google’s API free tier (AI Studio) removed all Pro-class text models on April 1, 2026 and does not cover image generation at all; both Gemini 3 Pro Image and Gemini 3.1 Flash Image are marked “Not available” in the free-tier column on the official pricing page. For free Nano Banana, use the consumer Gemini app (gemini.google.com), not the API.
DeepSeek’s signup grant is the sleeper option. New accounts get 5 million free tokens, no credit card, all models in scope. After the grant, V4-Flash runs $0.14 per million input tokens and $0.28 per million output on cache miss, cheap enough that a full rewrite costs under a dollar. Good for alternate copy voices you can A/B test against the Claude draft.
ChatGPT Free ships 10 GPT-5 messages per five-hour window before auto-downgrading to GPT-5 Mini, plus 2 to 3 image generations per day. Canvas is paid-only. Useful as a second voice for copy review, not as the primary build surface.
Content strategy, before any AI touches the page
The mistake is writing the page by prompting. Prompt-first gets you a generic portfolio that could be anyone’s.
Write the content first, in plain text. Name, role, location, one-sentence elevator pitch (“I design onboarding flows for B2B SaaS, with a focus on activation retention”). Three to six projects, each a five-line block: client or context, your role, the problem, the approach, the outcome with a number if possible (“cut time-to-first-key-action from 11 minutes to 4.5”). A photograph, a skills list, an email address. That is the manuscript. Feed it to Claude.
Two patterns sharpen the output. First, phrase every achievement as a before-and-after. A bare “Led redesign of checkout flow” is less signal than “Checkout abandonment: 38% before, 22% after the redesign I led.” Second, cut adjectives. “Highly motivated,” “passionate,” “innovative” fail the Claude editing pass and they fail human readers too. Name the work, name the outcome.
Generating the design with Claude
Open claude.ai on Free. Paste the content manuscript in. Then prompt:
Build a single-file HTML portfolio website from the content below. Use Tailwind CSS via CDN (no build step). One column, mobile-first, max width 800px, with a sticky top nav linking to About, Work, Contact. Use a warm off-white background, dark-grey body text, and one accent color I will pick. Include subtle hover states on project cards, but no animation beyond that. Serif font for headings (Source Serif or similar via Google Fonts), sans-serif for body (Inter). Output the complete HTML, CSS, and JavaScript in one file. Keep it under 300 lines.
Content:
[paste manuscript]
Claude produces the page as an Artifact. The preview renders live in the right-hand panel. Read it, click the nav links, open it on your phone via the Artifact URL. Then iterate in plain English, one change per prompt: “Make the hero statement bigger and the role smaller.” “Swap the project order, Acme first, then Globex.” “Replace the generic camera icon with a book icon on the writing project.” One change per turn keeps the diff legible.
Anthropic’s own “Create a custom webpage” use-case guide documents this pattern: task description, context upload, artifact generation, follow-up refinement. The Alexis Brochu case study on Medium reports a full portfolio shipped in twenty minutes of iteration from a résumé plus a LinkedIn export. Abbas Ali’s Medium write-up reports five sites shipped in two weeks of light use, by an author who claims no prior HTML, CSS, or JavaScript experience.
When the Artifact is close enough to ship, click the code panel, select the HTML, copy it. Paste it into a file called index.html on your machine. The free-tier workflow does not publish the Artifact as a public URL; that is a paid-plan feature, and you do not need it because the next step puts the file on a real host anyway. If you are weighing which Claude tier makes sense for ongoing work, the real ranking of top frontier AI models for April 2026, beyond marketing headlines lays out the Sonnet 4.5 vs Sonnet 4.6 vs Opus 4.7 trade-offs that decide what a Pro subscription actually buys.
Generating images with Nano Banana 2
The Gemini app is the free path. gemini.google.com, sign in, open a new chat, type the image prompt.
Three images cover most portfolios. A hero image (an abstract visual that matches the site’s tone, 16:9 at hero dimensions). A headshot alternative if the real photograph is not ready. Two to four project thumbnails or mock-ups.
A usable Nano Banana 2 prompt for a hero:
Editorial illustration for a UX designer’s portfolio website. Warm cream background. Centre composition: an abstract layout grid with three content blocks floating at slight angles, connected by thin guideline arrows, in muted terracotta, sage green, and soft navy. Paper-texture feel, subtle grain. Clean editorial aesthetic. 16:9 aspect ratio.
Nano Banana 2 returns four variants. Download the best one. Twenty a day is the Basic cap, so budget. Legible text in generated images works in Nano Banana 2; the model was built to render text correctly in multiple languages. In-place photo edits (swap a background, colour-correct a shot) run in the same chat via plain commands.
Two caveats. For a real headshot, use a camera. AI-generated human faces on a portfolio site trigger alarm bells in the exact audience you are trying to convince, even at high quality. Reserve AI for abstract imagery, product mock-ups, and illustrations. Second, Nano Banana Pro (Gemini 3 Pro Image) is paid-only: it is the “redo with Pro” option for Google AI Plus (50 images/day), Pro (100), and Ultra (1,000). The colloquial branding that model launched under, “Nano Banana Pro,” is now the name of the paid tier. Free users get Nano Banana 2, which is fine for a portfolio.
Deploying to a free static host
Four serious options. The matrix below is the short answer.

Cloudflare Pages is the strongest default. The free plan markets unlimited bandwidth, 500 builds per month, up to 20,000 files per site at 25 MiB per file, 100 custom domains per project, a 20-minute deploy ceiling, and one concurrent build. Drag-and-drop a folder or connect a GitHub repo; the first deploy is under two minutes. For a portfolio site that might hit HackerNews or a Reddit thread, the unlimited bandwidth matters.
GitHub Pages is the right pick if you already live in GitHub. Site size capped at 1 GB, 100 GB per month bandwidth (a soft limit, per the docs), 10 builds per hour (also soft). Custom domains and SSL included. The workflow is the simplest: git push deploys.
Netlify’s Free plan moved to a credit model in September 2025. You get 300 credits per month with a hard cap. Each production deploy costs 15 credits (so 20 deploys maximum). 1 GB of bandwidth costs 20 credits, so if every credit went to data you would get 15 GB a month. 10,000 requests cost 2 credits. Tightest of the four on raw traffic.
Vercel’s Hobby plan gives 100 GB Fast Data Transfer, 6,000 build minutes, 1 million function invocations, 200 projects, 100 deployments per day, and a 32-builds-per-hour cap. Custom domains up to 50 per project. Critical caveat for work portfolios: Vercel does not let a Hobby-tier project connect to a Git repo owned by a Git organization. If the portfolio code lives under a company GitHub org, move it to a personal repo or use a different host.
The deploy itself, on all four, is one screen. Pick the repo or upload the folder. Confirm the build command is empty (there is nothing to build). Hit deploy.
SEO on a free portfolio site
The SEO work is honest and finite. A portfolio does not compete for generic keywords; it competes for your name, your role plus your name, and maybe a niche keyword nobody has claimed. Five moves cover it.
Write the <title> as Your Name, Role You Want (not “Portfolio” or “Home”). Write the <meta name="description"> as a single sentence identical to your hero tagline. Include one H1 with your name and role. Set <html lang="en">. Submit a sitemap.xml (Claude can write one in a prompt) to Google Search Console. Anything more is procrastination.
For contact-form spam resistance, use a static-friendly provider (Formspree, Getform, Basin) on its free tier. The provider sits between the site and your inbox with no backend. Free tiers cover a hundred submissions a month, more inbound than a portfolio typically sees in a quarter.
What changes if you go paid
Three upgrades genuinely improve the workflow.
Claude Pro unlocks Claude Code, the terminal-first version that edits files in place rather than regenerating a whole HTML artifact each turn. For iterative work across multiple pages, Claude Code is faster than claude.ai. The loop is the same shape as the one used to build a calculator website with Claude AI from prompt to deploy or a simple HTML5 game with Claude Code in one afternoon: specify, render, test, refine.
Google AI Plus (or Pro, Ultra) unlocks Nano Banana Pro for images that benefit from studio quality. Dense legible text on a case-study cover, detailed product mock-ups, poster-quality hero art. Nano Banana 2 handles most portfolio imagery; Pro is for the 10% that justify the paid redo.
A custom domain costs $8 to $15 a year. yourname.com beats yourname.pages.dev on trust. All four hosts accept a custom domain with SSL on their free tiers once you point DNS at them.
Everything else (Netlify Pro, Vercel Pro, Cloudflare Pro) is overkill for a portfolio.
Frequently asked questions
Can Claude’s Free plan actually build a complete portfolio website?
Yes. The Free plan ships Artifacts (live HTML preview), web search, and file uploads up to 20 per chat at 30 MB each, with Sonnet 4.5 as the default model. Published case studies run roughly 20 minutes of iteration to a usable first version. Anthropic does not publish a fixed per-day cap; third-party trackers peg the practical ceiling at 15 to 40 messages per five-hour window.
How does Nano Banana Pro differ from Nano Banana 2, and which is free?
Nano Banana 2 is free in the Gemini app for Basic users, up to 20 images a day. It launched February 26, 2026 on Gemini 3.1 Flash Image. Nano Banana Pro (Gemini 3 Pro Image) is paid-only, via Google AI Plus (50 images/day), Pro (100), or Ultra (1,000) as a “redo with Pro” option. Nano Banana 2 handles most portfolio imagery; Pro is for studio-grade output with dense text.
Is Cloudflare Pages actually unlimited bandwidth on the free plan?
Yes, per Cloudflare’s marketing page and platform limits docs. The free plan markets unlimited bandwidth and caps only build frequency (500 per month), concurrency (1), files per site (20,000), and file size (25 MiB). CDN traffic is not metered on free.
Why is Netlify’s free plan the tightest of the four?
Because of the September 2025 credit model change. 300 credits per month with a hard cap. Each production deploy costs 15 credits, 1 GB of bandwidth costs 20, 10,000 requests cost 2. If every credit went to data, you get 15 GB a month. Tight for any portfolio that might catch a traffic burst.
Do I need to know any HTML or CSS to do this?
No, but you need to describe changes precisely. The public case studies (Abbas Ali, Alexis Brochu) explicitly describe authors with no prior HTML, CSS, or JavaScript knowledge. What they have is design taste and the willingness to say “swap the project order” or “make the hero statement bigger.” Claude handles the syntax.
How long should the whole build actually take?
One to three hours for a first version. Most of that is content: hero tagline, case studies, bio. Claude iteration itself is fast, around 20 minutes in the documented case studies. Deploy to Cloudflare Pages or GitHub Pages is under five minutes. If the build stretches past three hours, the blocker is almost always content, not code.
Is DeepSeek’s 5 million free tokens actually useful here?
Marginally. The grant is better spent on iterative copy experiments than on the core build. DeepSeek V4-Flash is priced post-grant at $0.14 per million input tokens and $0.28 per million output, so a full portfolio rewrite costs under a dollar even after the free credits expire. Treat it as a second opinion tool, not a primary build surface.
Do free portfolio templates already exist? Why not use one?
They exist, they work, they are also exactly what every hiring manager has seen a thousand times. The argument for building with Claude is that the output is yours, the layout reflects your actual projects rather than a template’s scaffolding, and the iteration loop is fast enough that you can test three hero taglines before lunch. Template-first optimises for speed; AI-first optimises for fit.
