[identity]
name      = "Risto Holappa"
role      = "Senior Full-Stack Engineer / Architect"
location  = "Oulu, FI"
status    = "open to engagements"
contact   = "risto@willit.fi"

[stack]
primary   = ["Rails 8", "Next.js", "Python", "Wagtail/Django"]
ops       = ["AWS", "Kubernetes", "Terraform", "GitHub Actions"]
ai        = ["Claude Code", "evals", "guardrails"]

[receipts]
years_in_prod    = 10
peak_users       = "2.0M"      # banking chat via Pepron
sites_modernized = 7           # Rakentaja.fi family
companies        = ["Willit Oy", "Viher IT Oy"]
$ stat reipas.io page: 3 KB · js: 0 KB · built: 6efbac3 · 2026-05-15T06:24:52Z

## portfolio

[[project]]
name  = "rakentaja.fi"
role  = "Technical Lead"
stack = ["Wagtail", "Django", "Next.js", "AWS", "Kubernetes"]
scope = "monolith → cloud architecture; 7+ media sites"
url   = "https://rakentaja.fi"

open ↗

[[project]]
name  = "willit.fi"
role  = "Founder / Sole Engineer"
stack = ["Rails 8", "Hotwire", "PostgreSQL"]
scope = "marketplace for local food producers; spec → production, solo"
url   = "https://willit.fi"

open ↗

[[project]]
name  = "lykky.co"
role  = "Maintainer"
stack = ["open source", "GTM", "founders"]
scope = "open-source GTM playbook for founders launching from Oulu"
url   = "https://www.lykky.co"

open ↗

[[project]]
name  = "skoutti.com"
role  = "Co-builder"
stack = ["Next.js", "AI", "B2B"]
scope = "automated B2B lead reports powered by AI"
url   = "https://skoutti.com"

open ↗

[[project]]
name  = "viher-it.com"
role  = "Founder"
stack = ["consulting", "architecture", "senior engineering"]
scope = "my operating company for client engagements; senior consulting"
url   = "https://viher-it.com"

open ↗

[[project]]
name  = "sinun.ai"
role  = "Founder"
stack = ["local LLMs", "open models", "privacy-first"]
scope = "locally-running personal AI assistant; data stays on-device"
url   = "https://sinun.ai"

open ↗

## about

Based in Oulu. I run two companies — Willit Oy (own product) and Viher IT Oy (engagements). How I work: spec before code, production-grade before features, AI-augmented development with evaluation harnesses and guardrails.

Outside coding I am in the forest or with my two sons → personal