Hacker Newsnew | past | comments | ask | show | jobs | submit | p32929's commentslogin

The failure mode a sibling comment names - "it will look LLM-generated" - is a design problem, not a coding problem, and the model cannot fix it for you because you are not yet able to evaluate the output. The cheap way around that is to not generate the design at all. Start from an existing template or a component library with sane defaults (Material UI, shadcn, Tailwind UI - pick one and commit) and have the model fill it in. Constrained generation looks far less generic than open-ended generation.

Concretely, I would learn three things properly and vibe the rest:

- flex and grid, well enough to look at a broken layout and say why it broke. That is a weekend, and it is the difference between fixing a bug and re-prompting until it disappears. - the devtools element inspector. You already debug systems; this is the same muscle. - basic accessibility: labels on inputs, visible focus states, contrast. Models are inconsistent here and it is the part that gets flagged in review.

I maintain a free React/Material-UI portfolio template (https://github.com/p32929/portfolio-v2), and the reason people fork it is not the code, it is that they do not have to make any design decisions. Same principle scales up: borrow the design, generate the wiring, own the layout debugging.


Worth saying for the personal-site case specifically, which is most of the static sites people bolt a contact form onto: the form is often not worth the infrastructure at all.

I maintain an open-source portfolio template (https://github.com/p32929/portfolio-v2) and the contact section is deliberately just links - email, GitHub, LinkedIn. No endpoint, no captcha, no keys to rotate, and nothing to migrate when a free tier moves under you, which is exactly what happened to reCAPTCHA v3 per the top comment.

The honest counter-argument is that a form converts better than a mailto link. For a business that is true and measurable. For a CV or portfolio site it mostly is not: the messages you actually want arrive by email or DM anyway, and the form collects SEO spam, which is why you then need a captcha, which is this entire thread.

If you do need the form, the Turnstile suggestion upthread is the right shape - one vendor, one failure mode, instead of three services stitched together.


The git-repo assumption in the top comment is worth pulling on, because nearly all of these hosts share it and it quietly decides who the product is for.

I maintain an open-source React portfolio template that deploys to GitHub Pages, and git-as-the-deploy-mechanism is by far the biggest drop-off point for non-developer users. People who can happily edit a config file still abandon at "commit and push". Drag-and-drop a folder is not a worse workflow, it is a different audience, and supporting both is probably cheap here.

On the actual pitch: the thing I would want spelled out on the landing page is where the build runs, not just where the files are served from. Plenty of "European hosting" still runs CI on US infrastructure, and for anyone picking this for data-residency reasons that is the part that decides it.


The part that matches my experience: generation was never the bottleneck at the low end.

I maintain a free open-source React portfolio template on GitHub. For years, almost none of the questions I got were "how do I change the layout". They were "how do I get this online", "why is my GitHub Pages build 404ing", "how do I point my domain at it", and six months later "I forgot how to edit it".

LLMs collapse the authoring cost to roughly zero, which is genuinely new. But the deploy/domain/keep-it-alive tail is untouched, and that is where a non-technical person still stalls. The zip-file-sent-to-a-relative step in the top comment is that tail being absorbed by unpaid favours rather than eliminated.

So I doubt the floor disappears. It moves. Nobody pays for the HTML any more; people still pay for "make it exist at a URL and keep existing".


Thanks. I really appreciate your comment. Feel free to create your own portfolio or contribute source codes


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: