6 projects · 11 articles
▸ Projects
vatnode — EU VAT Validation API
Developer-first SaaS API for EU VAT validation via VIES with Redis caching, change monitoring, and webhook notifications.
pi-pi.ee — B2B E-commerce for Waterless Urinal Systems
Multilingual B2B e-commerce platform for waterless urinal products across 32 European countries with automated VAT handling, PDF invoicing, and CRM integration.
Pikkuna — Multilingual RAG AI System
RAG system on OpenAI and Upstash Vector with 25+ language support. Includes streaming chatbot, hybrid search (semantic + keyword), AI ticket classifier, and incremental indexing with SHA-256 caching.
Pikkuna — Real-time SVG Product Configurator
Client-side SVG configurator with live preview for designing vinyl curtains and roofing panels. Supports trapezoid shapes, zipper doors, 5 mounting types, and automatic price calculation.
Pikkuna — E-commerce for Vinyl Curtains & PVC Products
International e-commerce platform with 30 locales, product configurators, AI chatbot, and fully automated order flow: Stripe → Zoho CRM → Airtable → Mailgun → PDF.
HTPBE — Has This PDF Been Edited?
SaaS platform for PDF authenticity verification with a public REST API. Detects edits through 5-layer analysis of metadata, xref structure, digital signatures, and content.
▸ Articles
How I Build a Production SaaS in 2 Months: The Complete Checklist
Every production SaaS needs the same foundation. Here's the 40+ point checklist I use: auth, billing, database, API, email, monitoring, security — with architectural decisions and honest time estimates.
How I Detect Tampered PDFs in 9 Seconds (A Forensics Story)
A PDF contract arrives. How do you know if it's been edited? Here's the xref table trick and 7 forensic markers I built into htpbe.tech to detect PDF tampering.
How I Fully Automated E-commerce Order Processing (Payment to Invoice in 2 Minutes)
Manual order processing costs 15–30 min per order. Here's the full automation pipeline I built: Stripe → CRM → shipping → invoice → email in 2 minutes.
EU VAT for Developers: The Complete Guide
EU VAT validation in Next.js breaks in ways tutorials don't cover. VIES caching, silent failures, reverse charge logic — here's what actually works.
How to Build a Next.js App in 30 Languages (Without Losing Your Mind)
Next.js i18n with App Router at production scale — routing, type-safe translations, hreflang, and the formatting traps no tutorial warns you about.
PDF Generation on the Server: Puppeteer vs @react-pdf/renderer (A Production Comparison)
I've used both in production — Puppeteer for Pikkuna's Finnish VAT invoices, @react-pdf/renderer for pi-pi.ee's Cyrillic invoices. Here's the honest comparison, the serverless gotchas, and when to use which.
Building a Multilingual RAG Chatbot for E-commerce: 1,614 Docs, 25 Languages, 70% Ticket Resolution
How I built a RAG chatbot that resolves 70% of support queries across 25 languages — ingestion pipeline, hybrid search, confidence thresholds, and streaming UI.
Server-Side Tracking: GA4 + Meta CAPI Without Losing 40% of Your Conversions
Client-side analytics is broken by iOS privacy and adblockers. Here's how I implemented 100% server-side GA4 Measurement Protocol + Meta Conversions API in Next.js — with deduplication, PII hashing, and the exact code.
Stripe Webhooks Done Right: Production Architecture
Stripe retries webhooks for 72 hours. Naive handlers duplicate orders. Here's the production architecture: idempotency, BullMQ queues, signature verification.
Technical SEO I Build Into Every Project
SSR, meta tags, JSON-LD schemas, Open Graph — the technical foundation that makes sites indexable. Not a service, just proper engineering.
Turborepo Monorepo: Next.js 15 Frontend + Hono 4 Backend in One Repo
One repo, one TypeScript config, shared types between frontend and backend. Here's the monorepo architecture I use for SaaS products — Turborepo + Next.js 15 + Hono 4 + Drizzle ORM with actual deployment details.