Riccardo Catalano

AI, Strategy, Europe.

Every Visit, a Different Portfolio

A route that generates a unique portfolio page on every request, for free, in seconds

Go to riccardocatalano.com/gen on my site. You'll get a full portfolio page. Refresh. You'll get a completely different one. Different layout, different fonts, different animations, different everything. Each one is generated from scratch by an LLM.

Six different portfolio pages generated by different models

The route picks a random model from a pool, feeds it my info and a system prompt, and streams back a complete HTML document. Kimi K2 and GPT-OSS 120B on Groq, Step 3.5 Flash on OpenRouter, and GPT-OSS 120B and GLM 4.7 on Cerebras. All free tier, three different inference providers. Each model has its own tendencies. Kimi goes for clean professional layouts, GPT-OSS is fast but minimal. If you're lucky you'll get GLM 4.7 on Cerebras, which produces the most ambitious pages by far. You never know what you're getting. I ran a benchmark on all of them if you're curious about the speeds.

These aren't the best models in the world. But they're pretty good. And now they're free. You can just call them. The cost of generating an entire custom webpage is zero. Maybe my CV ends up in the training data a few hundred times but that's a cost I can bear.

I build a lot of small things like this for myself. The official Trello integrations didn't do what I needed, so I built an MCP server. I have an iOS app now that nudges me to call family I haven't talked to in a while. On the side I test new LLMs and speech to text models, tinkering with them to get them running locally on my Mac through MLX. These are things I simply could not have done a year ago. I would have had to learn Swift, learn how inference frameworks work from the ground up, spend weeks on each project. Now I do the research, learn the parts that interest me, pick the libraries I like, and let Claude Code and Codex handle the implementation. I steer, I troubleshoot, I debug, but the actual writing of code isn't the bottleneck anymore.

All of this is free and anyone can call these models right now. Go try it at riccardocatalano.com/gen and refresh a few times. Some are good, some break in interesting ways.

Benchmark

Full portfolio page generation, measured locally on Feb 9 2026. TTFT is time to first token, total is time until the full page is done streaming.

ModelProviderTTFTTotalPage size
Kimi K2 Instruct 0905Groq1.1s10.0s16.4k
Kimi K2 InstructGroq0.7s6.9s10.9k
GPT-OSS 120BGroq0.7s4.3s5.8k
GPT-OSS 120BCerebras2.2s2.9s5.7k
Step 3.5 FlashOpenRouter3.6s14.9s18.6k
GLM 4.7Cerebras6.3s11.9s16.2k