An AI built my portfolio page and got three things wrong
What a generated one-page site got right at speed, and the three judgements no generator can make for you. Notes from a fortnight of use.

Part of AI generators that produce something you can actually use
We gave a generator our CV, a headshot and about four minutes, and got back a page that looked better than the one we would have built by hand in an afternoon. That sentence is the whole appeal of this category, and it is true. It is also not the interesting part of what happened, because the page we published a fortnight later was not the page the generator gave us — it was that page with three specific decisions reversed, none of which the tool could have made on our behalf.
The generator we used was reach, which turns a CV straight into a one-page site: upload the résumé and a photo, answer a short profile form, pick a colour and a hero layout, and a finished page is composed. We'd covered the category broadly in our tool-by-tool run through the AI website generators and set out the general framework in the piece on which generators produce something you can actually use; this is the follow-up we said we'd write once we lived with one result for longer than a demo session. reach was the sharpest test case because it does exactly one job — a personal page from a CV — rather than promising a site for anything, and narrow tools are where the framework predicted the best first output. It delivered one. It just wasn't the right one, in three ways that had nothing to do with the software failing.
What arrived in under two minutes
The mechanics first, because they're the part that worked without comment. The page was generated in about twenty seconds and live at a free subdomain in under two minutes, counting the time spent filling in the form and picking a look — not an estimate, that's the number reach itself quotes and it held up. Typography was consistent across every section without us touching a font picker. The rhythm — the alternation of dense and open sections, the spacing between a heading and the paragraph under it — was the kind of thing that takes a person with no design background an hour of fiddling to get merely adequate, and it arrived correct on the first pass. And there was no blank canvas at any point. We never faced an empty page with a cursor blinking in it, which is, per our own testing across this category, where most personal sites actually die — not at the drafting stage but at the "I'll get to it this weekend" stage, repeated for a year.
That is a genuinely large advantage, and it's worth being precise about why. The generator wasn't guessing at a structure and hoping it held — reach assembles the page deterministically from a set of vetted layout fragments (twenty hero designs alone, across five visual families) and only lets the model write the copy that fills them and choose which fragments to use. Nothing about the markup was invented on the fly, which is why nothing about it broke. That's a different failure mode from the freeform generators in this category that write raw HTML from a prompt and sometimes ship a grid that doesn't hold or a section that half-renders. We didn't hit that problem here because the architecture doesn't allow it.
Three things it got wrong, and none of them were bugs
The first was emphasis. Our CV lists a two-year stretch running a small team as the most recent role, so the generator, reasonably, made that the headline of the hero section — the sentence a stranger reads first. But the work we actually want new clients to find us through is a piece of freelance consulting from eighteen months earlier, buried three sections down under "CV timeline." The generator had no way to know that the most recent job and the most representative job are different jobs. It read chronology as importance, because chronology is what a CV encodes, and nothing in the form we filled out told it otherwise.
The second was an inflated claim, and this one was more uncomfortable than the first. The model lifted a line straight from the CV — "led a cross-functional team of twelve" — and put it, unedited, into the About paragraph as though it were an established credential rather than a slightly generous description of a six-week project with two full-time collaborators and a handful of part-time contributors. The CV had gotten away with that phrasing for years because nobody reads a CV line by line looking for it to be technically true. A hero paragraph is read differently — it's meant to be a person's own words about themselves, said aloud, and a claim that survives in bullet form does not survive being said aloud. The generator did not invent the exaggeration. It just moved it somewhere more exposed, and it had no basis for knowing that the move mattered.
The third was section order flattering the wrong work. reach always puts hero first and contact last, which is sound, but the sections in between — CV timeline, own projects, values, personality, interests, books — were ordered by what the CV parser found rather than by what should carry the most weight. The "own projects" section, which held the two pieces of work we're actually proud of, landed after a CV timeline that reads like a list of employers. Someone skimming on a phone would hit the job history before they hit the proof.
None of these are software defects. A generator working from a document cannot know that a document lies a little, or that recency and relevance point in different directions, or that the reader's attention runs out before section four. Those are judgements about your own career, made by someone who has to live with the consequences of getting them wrong, and no tool can be handed that responsibility along with the CV.
Fixing it, and what fixing it cost
Every one of those three problems was fixable in the editor, and every fix was free — reach doesn't charge for editing text, moving sections or rebuilding one, only for the rotate-and-regenerate button, at a flat five credits against a free pool of forty. We tried regenerating the hero section once, out of curiosity, and got a genuinely different result rather than a cosmetic variant — reach seeds each regeneration to avoid repeating the run before it — but the new version had its own version of the same emphasis problem, because the underlying issue was never in the wording. Regenerating rewords a decision. It doesn't make a different decision about what the page should be arguing.
So the actual fix was manual: rewriting the hero to lead with the consulting work, cutting the inflated line entirely rather than softening it, and dragging the projects section above the CV timeline. None of that required touching code, and none of it was hard. It also took, by a rough count of the time spent versus the twenty seconds the page took to generate, something on the order of two orders of magnitude longer — the better part of an evening against a coffee's worth of waiting. That is not a complaint about the tool. It's the actual shape of the trade: reach removed the cost of getting to a draft and left the cost of deciding what the draft should say, and the second cost was always going to be paid by us, because it's a cost only we had the information to pay.
Where the tool's real ceiling is, and where it isn't
Three limits showed up over the fortnight that had nothing to do with judgement and everything to do with what reach is built to be. It is one page, full stop — one index.html, no sub-pages — which was never a problem for a portfolio but would rule the tool out immediately for anyone who also wants a separate services page or a blog. There's no version history — saving overwrites the page — so the version with the inflated claim in it is simply gone, which was fine here but would not be fine for anyone who wants to compare drafts side by side before committing. And there's no visitor analytics built in, so we have no idea, two weeks on, whether moving the projects section above the timeline actually changed anything about how people read the page. We believe it did. We can't show it.
Neither of those is a reason not to use the tool for the job it's built for. reach is a specialist: one person, one page, built from a CV that already exists. It does that faster than anything else we tested, and the speed is real rather than a superlative — twenty seconds to a page, two minutes to live. What it will not do is notice that your CV oversells you, or that your most recent job isn't your best work, or that a stranger's attention runs out before your fourth section. That's not a gap in the product. It's the boundary of what any tool can do with a document instead of a person's own sense of what matters, and closing that particular gap was always going to be the part we couldn't skip, no matter how fast the rest of it went.
Anyone weighing whether to start this way at all should read our walkthrough of getting a one-page site live in ten minutes first — it covers the mechanics we're assuming here. If your CV is honest, your best work is your most recent work, and you don't need anyone to compare page versions, the generated draft may need nothing more than a skim. Most people's CVs aren't quite that tidy, which is exactly why the editing step exists and why it's worth budgeting for before you start, not after you're surprised by it.
Questions people ask
- How long does an AI-generated portfolio page actually take to fix?
- In our case, editing the copy by hand after generation took roughly two orders of magnitude longer than the generation itself — a few minutes of machine work followed by the better part of an evening of human judgement about emphasis and order.
- Can you regenerate an AI portfolio page if you do not like the first result?
- On reach, yes — regenerating a section is a deliberate reroll seeded to avoid repeating the previous run's choice, and it costs a flat five credits against a free pool of forty, so you get roughly eight tries before paying anything.
- What can't an AI portfolio generator decide for you?
- Emphasis, honesty about your own claims, and which piece of work belongs at the top. A generator can compose a correct, good-looking page from what you give it, but it cannot tell that your CV overstates a role, or that the client work you are proudest of is not the client work you led with.