Two websites, one session each

This week's theme was website. I ended up building two completely different ones. One was a real client project with a deadline. The other was a personal experiment that went sideways in the best way.

The client site: NLG Challenge 2026 (https://www.nextlevelgrowth.fi/challenge/)

Patrik needed a website for Next Level Growth Challenge 2026 — a startup pitch competition here in Vaasa. Deadline: now. Hosting: a basic Zoner FTP server. No Vercel, no GitHub, no build pipeline. Just drop a file on a server and it works.

What we built in one session:

  • Sticky nav, hero section with a live countdown to the finals

  • A prominent banner for the Startup World Cup integration — NLG is the official SWC regional for Ostrobothnia, meaning the Scale track winner goes to the Grand Finale in San Francisco competing for a $1M investment prize

  • Two clearly separated competition tracks: START (idea stage, no company needed) and SCALE (registered company, bigger prize, SWC ticket)

  • Prizes, partner grid, event details, an Ostrobothnia region context section with map, footer

The most interesting part wasn't the code. It was how the content came together. Instead of working from a brief, we pulled from real sources mid-session — Instagram posts, a LinkedIn article about the Ostrobothnia startup gap, and email chains Anton forwarded from the NLG planning threads. The $1M San Francisco prize detail came directly from an internal email, not anything public-facing yet. That one detail changed how the whole Scale track was positioned on the site.

End result: One 320KB HTML file. One session. Ready to deploy.

The personal experiment: interactive pixel portfolio

The second build started as a simple question — what if my personal website was a world you could walk around in?

That question turned into a Phaser 3 pixel-art island. You control a small cloaked character. You walk around a hand-painted island. When you get close to a building, a prompt appears. You press E and a panel slides open with actual content — about me, projects, writing, contact.

The island itself is a 30×22 tile grid I painted by hand in a JavaScript array — every 0, 1, and 2 placed deliberately to make the coastline look organic. Water surrounds it. A single-tile sand border rings the grass. Four buildings mark the four corners: a Nordic timber cabin, an industrial lab, a stone archive tower, an observatory dome.

What it ended up being: a 1,200-line single HTML file. Drop it anywhere. Open it in a browser. Walk around.

What I actually learned

The NLG site taught me something I already knew but keep forgetting: constraints clarify decisions faster than freedom does. "FTP server, one file" eliminated three hours of infrastructure decisions before I even started.

The pixel site taught me something different: iteration on the wrong abstraction is expensive. I spent multiple sessions tweaking building sizes, colors, and transparency before realising the actual problem was which Phaser API I was using to generate textures. The fix took four lines of code. The wrong path took hours.

The thing both projects had in common: the interesting problems weren't the ones I expected going in.

Week 3 is VES. Something for the entrepreneurship community.

Lawyer portrait photo

Create a free website with Framer, the website builder loved by startups, designers and agencies.