[[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"[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 +
production sites = 7 # Rakentaja.fi family
companies = ["Willit Oy", "Viher IT Oy"] $ stat reipas.io → page: 3 KB · js: 0 KB · built: 90ac65c · 2026-05-25T19:33:14Z
## portfolio
[[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"[[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"[[project]]
name = "skoutti.com"
role = "Co-builder"
stack = ["Next.js", "AI", "B2B"]
scope = "automated B2B lead reports powered by AI"
url = "https://skoutti.com"[[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"[[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"## services
[[service]]
name = "Email deliverability fix"
outcome = "Your email lands in the inbox, not spam"
price = "€1,500"
duration = "5 working days"
for = "outbound launches, DMARC failures, ESP migrations"
includes = ["SPF/DKIM/DMARC/BIMI audit", "DNS fixes", "Mail-Tester before/after", "30-day monitoring"]
guarantee = "+2 points on Mail-Tester or 50% back"[[service]]
name = "Claude Code rollout"
outcome = "Your dev team (3–15) ships measurably faster"
price = "€5,000–7,000"
duration = "3 weeks + 30-day support"
for = "CTOs / Tech Leads / VPs of Engineering"
includes = ["CLAUDE.md", "custom skills", "git hooks", "MCP integrations", "team playbook"]
guarantee = "+10% productivity by week 4 or 30% back"## 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