01Personal website
Status: Activeollitoivanen.com (this site)
My personal brand home base: portfolio, blog, newsletter signup and a payment and download flow for a digital product, built with Next.js.

Why it exists
A place I own where people from TikTok, potential collaborators and future customers can see what I do, join my email list and buy from me directly, without depending on a platform.
My role
Product owner, designer and AI-assisted builder. I decided the structure and content, wrote the copy, designed the dark Apple-inspired visual system and directed Claude Code and Codex through the implementation, reviewing and iterating on the interface in the browser.
How it's built
- Next.js App Router with TypeScript and Tailwind CSS, deployed on Vercel. Blog posts are typed data with draft, published and coming-soon states, rendered as static pages.
- Newsletter signup: an API route validates the email, stores the subscriber with source and audience tags in a Redis key-value store and sends a welcome email through Resend.
- Digital product flow: Stripe Checkout takes the payment, the success page confirms on the server that the session is paid, and only then issues a signed download link that expires in one hour. The PDF itself is not publicly hosted.


