Iurii RoguliaIurii Rogulia
AboutServicesPricingProjectsStackReviewsPhrasesBlog
Contact
Iurii ships.

Iurii Rogulia, senior full-stack software engineer. Professionally building software since 2001.

Think of a number
PricingQuality checklistPrivacy PolicyCookie Policy

Business

TMI Iurii Rogulia
VAT ID: FI29845875
DUNS: 368664211
Lappeenranta, Finland 🇫🇮

[email protected]
All tags

Iurii Uses: #Architecture

5 projects · 33 articles · 16 reviews

Architecture posts and projects focus on system design decisions — service boundaries, data flow, scalability trade-offs, and how to structure large applications for long-term maintainability.

Projects

Pikkuna — AI-Powered Localization Pipeline
Pikkuna — AI-Powered Localization Pipeline
July 30, 2026
Pikkuna — AI-Powered Localization Pipeline

A production localization pipeline built entirely on the OpenAI API: one English source of truth, SEO-aware translation prompts, cross-model verification with

Stack

Python

Libraries

pytestOpenAI SDKpython-dotenvpycountry

Services

OpenAIAnthropic

Topics

AILLMPrompt Engineeringi18nLocalizationSEOAutomationTestingArchitectureCTO
pi-pi.ee — B2B Deal & Document Portal
pi-pi.ee — B2B Deal & Document Portal
July 1, 2026
pi-pi.ee — B2B Deal & Document Portal

Internal sales portal that turns a wholesale deal into a full set of trade paperwork — pro forma, contract, commercial invoice, packing list, CMR and more —

Stack

Next.jsReactTypeScript

Services

Notion

Topics

B2BCRMSales AutomationPDFSSRArchitectureInternational TradeInternal Tools
HTPBE? — Internal Admin Dashboard
HTPBE? — Internal Admin Dashboard
March 15, 2026
HTPBE? — Internal Admin Dashboard

Role-gated admin dashboard for the HTPBE? SaaS platform — real-time KPIs, per-user quota tracking, and a zero-dependency bar chart, all server-rendered via

Stack

Next.jsReactTypeScript

Libraries

Drizzle ORMNextAuth.js

Databases

Turso

Services

Stripe

Topics

Admin DashboardSaaSAuthArchitecture
pi-pi.ee — B2B E-commerce for Waterless Urinal Systems
pi-pi.ee — B2B E-commerce for Waterless Urinal Systems
January 17, 2026
pi-pi.ee — B2B E-commerce for Waterless Urinal Systems

i18n B2B e-commerce platform for waterless urinal products across 32 European countries with automated VAT handling, PDF invoicing, and CRM integration.

Stack

Next.jsReactTypeScriptTailwind CSS

Libraries

next-intlDaisyUIStripe SDKreact-pdf

Services

StripeVercelResendNotionGoogle Analytics

Topics

E-commerceB2Bi18nPDFSSRArchitectureSEOSchema.org
Pikkuna — E-commerce for Vinyl Curtains & PVC Products
Pikkuna — E-commerce for Vinyl Curtains & PVC Products
October 12, 2024
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 →

Stack

Next.jsReactTypeScript

Libraries

next-intlZodpdf-libPuppeteerStripe.jsBullMQ

Databases

Redis

Services

StripeZohoMailgunPostNordNetvisorVercelVercel BlobGoogle AnalyticsMeta CAPIAirtableUpstash

Topics

E-commercePaymentsShippingPDFPWACTOArchitectureSEOSchema.orgi18nPerformance

Articles

A Typed MDX Content Pipeline with Velite (Next.js Tutorial)
August 19, 2026· 9 min
A Typed MDX Content Pipeline with Velite (Next.js Tutorial)

Build a type-safe content layer with Velite: Zod schemas for MDX and JSON, computed fields, one typed import, and a related-posts codegen step.

Stack

Next.jsTypeScript

Services

MDX

Topics

ArchitectureContentBuild ToolsSEO
Batch PDF Generation in Node.js Without Running Out of Memory
August 12, 2026· 9 min
Batch PDF Generation in Node.js Without Running Out of Memory

Batch PDF generation in Node.js without OOM: concurrency limits, back-pressure, releasing renderers between docs, and why Promise.all(map) fails at scale.

Stack

Node.jsTypeScript

Libraries

react-pdfPuppeteerp-limit

Topics

PDFDocument AutomationPerformanceArchitecture
B2B Quote-to-Order Flow in Next.js: A State Machine That Doesn't Drift
August 7, 2026· 10 min
B2B Quote-to-Order Flow in Next.js: A State Machine That Doesn't Drift

B2B quote-to-order flow in Next.js: an RFQ → quote → order state machine, per-deal line items, guarded status transitions, and converting an accepted quote

Stack

Next.jsReactTypeScript

Databases

PostgreSQL

Topics

B2BE-commerceArchitectureSSRSales Automation
Preventing Overselling: Inventory Locks Under Concurrent Checkouts
July 31, 2026· 13 min
Preventing Overselling: Inventory Locks Under Concurrent Checkouts

Prevent overselling under concurrent checkouts: reservations vs hard decrements, SELECT FOR UPDATE, deadlock-safe multi-line carts, and the payment window.

Stack

Next.jsTypeScriptNode.js

Databases

PostgreSQLRedis

Topics

E-commercePaymentsArchitectureSaaS
Gated B2B Pricing in Next.js: Hiding Prices Behind Per-Customer Access
July 24, 2026· 9 min
Gated B2B Pricing in Next.js: Hiding Prices Behind Per-Customer Access

Gated B2B pricing in Next.js: per-account price lists, server-side access control so prices never leak to crawlers, and a deal-record data model where every

Stack

Next.jsReactTypeScript

Databases

PostgreSQL

Topics

B2BE-commerceAuthSSRArchitectureSecurity
Build an Internal CRM on Supabase: A Weekend-Scale Guide
June 24, 2026· 21 min
Build an Internal CRM on Supabase: A Weekend-Scale Guide

Build an internal CRM on Supabase: schema design, RLS policies, Next.js App Router frontend, realtime subscriptions, and an honest look at where the weekend

Stack

Next.jsTypeScript

Libraries

Drizzle ORM

Databases

PostgreSQL

Services

Supabase

Topics

CRMArchitectureSaaSInternal Tools
Rewrite or Stabilise: The Decision Framework I Use
June 22, 2026· 12 min
Rewrite or Stabilise: The Decision Framework I Use

Rewrite or stabilise a legacy codebase? A practical decision framework: when stabilisation wins, when rewrite is justified, and the Strangler Fig middle path.

Topics

Rescue ProjectsTechnical StrategyLegacy CodeArchitectureEngineering Practice
Multi-Tenant SaaS Database Design: Shared Schema vs Schema-per-Tenant
June 19, 2026· 18 min
Multi-Tenant SaaS Database Design: Shared Schema vs Schema-per-Tenant

Multi-tenant SaaS database design: shared schema with RLS, schema-per-tenant, and database-per-tenant — trade-offs, real pitfalls, and when to use each.

Stack

TypeScriptNode.js

Libraries

Drizzle ORM

Databases

PostgreSQL

Topics

SaaSArchitectureSecurity
HubSpot to Custom CRM Migration: When It's Worth It
June 17, 2026· 23 min
HubSpot to Custom CRM Migration: When It's Worth It

Migrating from HubSpot to a custom CRM: pre-migration sampling, data export gaps, integration cutover, and what breaks in week two. Practical guide.

Topics

CRMMigrationHubSpotOperationsArchitecturePractical
How to Reduce OpenAI API Costs in Production (2026 Guide)
June 15, 2026· 24 min
How to Reduce OpenAI API Costs in Production (2026 Guide)

OpenAI API cost optimization: where the money actually goes in production, prompt caching, model routing, budget controls, and observability that surfaces

Topics

AIOpenAICost OptimizationProductionObservabilityArchitecture
Best Headless CRM in 2026: Twenty vs EspoCRM vs Custom Build
June 12, 2026· 21 min
Best Headless CRM in 2026: Twenty vs EspoCRM vs Custom Build

Headless CRM comparison 2026: Twenty vs EspoCRM vs DIY on Postgres. Real trade-offs on schema flexibility, integration, cost, and ecosystem risk.

Topics

CRMOpen SourceArchitectureBuild vs BuySaaS
Why AI Coding Widens the Senior–Junior Developer Gap
June 1, 2026· 16 min
Why AI Coding Widens the Senior–Junior Developer Gap

AI coding widens the gap between senior and junior developers — it amplifies existing skill.

Topics

AIEngineering PracticeBest PracticesArchitectureOpinion
Vibe Coding Problems: What AI-Generated Code Gets Wrong
May 28, 2026· 14 min
Vibe Coding Problems: What AI-Generated Code Gets Wrong

Vibe-coded codebase problems: duplicate auth flows, tests that assert nothing, unused dependencies, security shortcuts, schema drift — why they happen and how

Topics

AITechnical DebtArchitectureBest PracticesSecurity
Health Check Endpoint in Node.js: Liveness vs Readiness
May 25, 2026· 18 min
Health Check Endpoint in Node.js: Liveness vs Readiness

Production healthcheck endpoints: liveness vs readiness probes, dependency checks with timeouts, 200 vs 503 logic, Docker and Kubernetes config, and security.

Stack

Node.jsTypeScript

Libraries

HonoBullMQ

Databases

PostgreSQLRedis

Topics

ArchitectureDevOpsInfrastructure
PostgreSQL Production Checklist: UUIDs, RLS, Indexes, Pooling
May 21, 2026· 15 min
PostgreSQL Production Checklist: UUIDs, RLS, Indexes, Pooling

PostgreSQL production patterns: UUID v7, soft deletes, RLS for multi-tenant SaaS, partial and covering indexes, PgBouncer connection pooling, and migration

Stack

TypeScriptNode.js

Libraries

Drizzle ORM

Databases

PostgreSQLRedis

Topics

SaaSArchitecture
BullMQ vs pg-boss vs Cron: Node.js Background Jobs Compared
May 18, 2026· 15 min
BullMQ vs pg-boss vs Cron: Node.js Background Jobs Compared

BullMQ vs pg-boss vs node-cron for Node.js background jobs. Trade-offs between Redis and Postgres queues, retries, deduplication, and production monitoring.

Stack

Node.jsTypeScript

Libraries

BullMQpg-boss

Databases

PostgreSQLRedis

Topics

ArchitectureSaaSAutomation
JWT vs Sessions vs OAuth: Which to Use for SaaS Auth
May 14, 2026· 15 min
JWT vs Sessions vs OAuth: Which to Use for SaaS Auth

JWT vs sessions vs OAuth for SaaS: token invalidation, mobile clients, refresh token rotation, and a decision matrix to pick the right auth pattern.

Stack

Next.jsTypeScriptNode.js

Libraries

Better Auth

Databases

PostgreSQLRedis

Topics

SaaSAuthArchitectureSecurity
5 Features That Kill MVPs Before They Launch
May 11, 2026· 12 min
5 Features That Kill MVPs Before They Launch

MVP features that kill products before launch: roles, notifications, dashboards, multi-tenancy, onboarding. What to cut and what matters at launch.

Topics

MVPProductSaaSArchitecture
AI Document Processing in Production: Full Pipeline Guide
May 7, 2026· 14 min
AI Document Processing in Production: Full Pipeline Guide

AI document processing in production: full PDF pipeline — OCR fallbacks, structured output, validation, cost at scale. Beyond naive GPT calls.

Stack

TypeScriptPython

Services

OpenAIAWS TextractGoogle Document AI

Topics

PDFDocument ProcessingArchitectureSaaS
How to Add AI to an Existing Product Without Rewriting It
May 4, 2026· 11 min
How to Add AI to an Existing Product Without Rewriting It

Add AI to an existing product without a rebuild. Three integration patterns, how to pick the right one, and what production-ready AI actually demands.

Stack

Next.jsTypeScript

Libraries

Vercel AI SDK

Databases

PostgreSQLRedisUpstash Vector

Services

OpenAI

Topics

RAGArchitectureSaaSE-commerce
How to Take Over a Codebase from a Web Agency (5-Day Process)
April 27, 2026· 12 min
How to Take Over a Codebase from a Web Agency (5-Day Process)

Agency codebase handover checklist: first 48 hours, security triage, architecture mapping, and how to write a takeover assessment. Practical guide.

Stack

TypeScriptNode.js

Topics

ArchitectureTechnical DebtSecurityProcess
llms.txt for AI Discoverability: Should You Add It?
April 25, 2026· 9 min
llms.txt for AI Discoverability: Should You Add It?

llms.txt: what it is, how AI systems actually read your site (training crawls vs. runtime vs. agents), and why adding it now costs almost nothing.

Topics

SEOArchitecture
Real-Time Dashboard in Next.js with TanStack Query + Zustand
April 16, 2026· 12 min
Real-Time Dashboard in Next.js with TanStack Query + Zustand

Real-time Next.js admin dashboard: TanStack Query polling, Zustand for filter state, Sentry error boundaries per panel, and a zero-dependency bar chart.

Stack

Next.jsReactTypeScript

Libraries

TanStack QueryZustandDrizzle ORM

Services

SentryStripe

Topics

Admin DashboardSaaSData VisualizationArchitecture
IndexNow in Next.js: Instant Indexing After Every Deploy
April 14, 2026· 18 min
IndexNow in Next.js: Instant Indexing After Every Deploy

IndexNow implementation guide for Next.js: key generation, TypeScript client with retry logic, GitHub Actions workflow, and pitfalls that break submissions

Stack

TypeScriptNode.js

Services

GitHub Actions

Topics

SEOAutomationPerformanceArchitecture
Next.js 16 proxy.ts Migration: From middleware.ts
April 10, 2026· 10 min
Next.js 16 proxy.ts Migration: From middleware.ts

Migrate middleware.ts to proxy.ts in Next.js 16 without breaking auth.

Stack

Next.jsTypeScript

Topics

SecurityMigrationArchitecture
React Masonry Layout: Fix Column Order (without a Library)
March 11, 2026· 9 min
React Masonry Layout: Fix Column Order (without a Library)

React masonry layout that keeps left-to-right card order with variable heights — where the popular CSS column-count trick silently breaks.

Stack

ReactTypeScript

Topics

ArchitectureUI/UXPerformance
UUID v7 vs v4: PostgreSQL Performance Benchmark
March 11, 2026· 16 min
UUID v7 vs v4: PostgreSQL Performance Benchmark

UUID v7 vs v4 in PostgreSQL: why random UUIDs fragment B-tree indexes, how UUID v7 fixes it, benchmarks at 5M rows, and Drizzle ORM migration steps.

Stack

TypeScriptNode.js

Libraries

uuidulidnanoidDrizzle ORM

Databases

PostgreSQL

Topics

ArchitectureSaaSPerformance
Next.js SaaS Checklist: Launch Production-Ready in 8 Weeks
January 19, 2026· 17 min
Next.js SaaS Checklist: Launch Production-Ready in 8 Weeks

40+ point production SaaS checklist: auth, Stripe billing, PostgreSQL, rate limiting, email, monitoring, and security — with honest 8-week build estimates.

Stack

Next.jsTypeScript

Libraries

Drizzle ORMBetter AuthBullMQZodReact Email

Databases

PostgreSQLRedis

Services

StripeVercelResendSentry

Topics

SaaSArchitectureAuth
Stripe Webhooks: Idempotency, Retries, and Queue Setup
January 2, 2026· 11 min
Stripe Webhooks: Idempotency, Retries, and Queue Setup

Stripe webhook production architecture: idempotency keys in PostgreSQL and Redis, BullMQ queue, signature verification in Next.js App Router — with full

Stack

Next.jsTypeScriptNode.js

Libraries

BullMQDrizzle ORMioredis

Databases

PostgreSQLRedis

Services

Stripe

Topics

SaaSWebhooksArchitecturePayments
Technical SEO for Next.js: SSR, JSON-LD, and Sitemaps
December 15, 2025· 3 min
Technical SEO for Next.js: SSR, JSON-LD, and Sitemaps

Technical SEO built into Next.js: server-side rendering, dynamic meta tags, JSON-LD structured data, and automatic sitemap generation — no plugins, just code.

Stack

Next.jsReactTypeScript

Topics

SEOArchitecturePerformance
Next.js i18n with 30 Languages: Production Setup Guide
November 12, 2025· 11 min
Next.js i18n with 30 Languages: Production Setup Guide

Next.js i18n for 30 languages in production, not a 2-locale demo: next-intl routing, type-safe translations, hreflang at scale, and the formatting traps the

Stack

Next.jsTypeScript

Libraries

next-intl

Topics

i18nE-commerceArchitecture
Redis Rate Limiting in Node.js: Sliding Window Algorithm
October 10, 2025· 15 min
Redis Rate Limiting in Node.js: Sliding Window Algorithm

Redis rate limiting for APIs: sliding window ZADD with Lua atomicity, in-memory fallback, multi-tier limits by IP and API key, and developer-friendly response

Stack

TypeScriptNode.jsHono

Libraries

ioredis

Databases

Redis

Topics

SaaSAPIPerformanceArchitecture
Turborepo Monorepo: Next.js and Hono in One Repo With Shared Types
August 4, 2025· 13 min
Turborepo Monorepo: Next.js and Hono in One Repo With Shared Types

Turborepo monorepo with Next.js and Hono, sharing one set of TypeScript types across frontend and backend.

Stack

Next.jsTypeScriptHonoTurborepoNode.jsDocker

Libraries

Drizzle ORMZod

Databases

PostgreSQLRedis

Services

Vercel

Topics

ArchitectureMonorepoSaaS

Reviews

“

We publish 20-30 news articles per day and indexing latency was killing us — by the time Google crawled a story, the news cycle had moved on.

Andrei Popescu 🇷🇴

Engineering Manager

Topics

SEOIndexNowArchitecturePerformance

Service: seo geo audit

“

As COO, I worked closely with Iurii, who led our IT department with rare clarity and ownership.

Andrii 🇫🇮

COO, Suomen Pehmeä Ikkuna Oy (Pikkuna)

Topics

E-commerceArchitectureLeadershipCTO

Service: e commerce

“

As Head of Production I had the opportunity to work closely with Iurii during his time with our company.

David Nemchin 🇫🇮

Head of Production, Suomen Pehmeä Ikkuna Oy (Pikkuna)

Topics

E-commerceArchitectureCTO

Service: e commerce

“

I'd read about llms.txt and AI discoverability but had no idea whether any of it actually mattered for our SaaS docs site.

Dimitris Papadakis 🇬🇷

Founder

Topics

SEOllms.txtAIArchitecture

Service: seo geo audit

“

Before we closed on a seed-stage SaaS we asked Iurii to look under the hood. He gave us a written report in five days: what was solid, what was held together with tape, and roughly what it would cost

Florian Berg 🇨🇭

Investment Principal

Databases

PostgreSQL

Topics

Due DiligenceArchitectureScalabilityCode Review

Service: technical due diligence

“

We had three CRM options on the table and kept going in circles for weeks. Sent Iurii our list of needs, he came back the next day with a clear pick and a short explanation why the other two wouldn't

Giorgi Beridze 🇬🇪

Topics

E-commerceArchitectureCRM

Service: technical consultation

“

We had a small in-house dev team and no one senior enough to make the hard architectural calls. Hiring a full-time CTO didn't make sense at our stage, so we brought Iurii in two days a week.

Joachim Weber 🇩🇪

CEO

Topics

LeadershipArchitectureCTO

Service: fractional cto

“

We'd just raised and needed to double the engineering team fast, but nobody internally had hired at that scale or owned the architecture decisions that came with it.

Kasper Holm 🇩🇰

CEO

Topics

LeadershipCTOHiringArchitectureStrategy

Service: fractional cto

“

I was starting a new project and spent two weeks reading comparisons online and getting nowhere. One hour with Iurii and I had a clear answer.

Marcus Chen 🇺🇸

Stack

TypeScript

Topics

Architecture

Service: technical consultation

“

We migrated our content platform last autumn and assumed everything was fine because the tests passed.

Mathias Sørensen 🇩🇰

CTO

Topics

SEOCI/CDDeveloper ToolsArchitecture

Service: seo geo audit

“

We took over a Next.js project from another agency and inherited a mess — failing builds, no tests, deployments that worked locally and broke in production.

Niamh O'Sullivan 🇮🇪

Agency Owner

Topics

Technical DebtArchitectureProcess

Service: rescue projects

“

Had a client project coming up and wasn't sure which CMS to go with. Iurii asked a few questions about what the client actually needed, then gave me one answer — not a list of options.

Pekka Mäkinen 🇫🇮

Stack

Next.js

Topics

ArchitectureCMS

Service: technical consultation

“

We were about to hand a project off to a new development team and I wanted someone to look at the code first.

Pierre Moreau 🇫🇷

Topics

ArchitectureCode ReviewE-commerce

Service: technical consultation

“

I'd built most of our MVP with Cursor and it looked finished — it compiled, the tests were green, the demo worked. It just wouldn't survive real users.

Sebastian Falk 🇸🇪

Founder

Stack

Next.jsTypeScript

Topics

Technical DebtAICode ReviewArchitecture

Service: rescue projects

“

We were about to pay for a hosting plan that was way more than we needed. Iurii looked at what we actually have — traffic, data, usage patterns — and suggested something much simpler.

Valentina Russo 🇮🇹

Topics

ArchitectureSaaSInfrastructure

Service: technical consultation

“

We had an acquisition offer on the table and I needed to know whether our own codebase would survive the buyer's technical review before I walked into that room.

Wouter Claes 🇧🇪

Founder & CEO

Topics

Due DiligenceArchitectureCode ReviewTechnical Debt

Service: technical due diligence

Iurii RoguliaAvailable

Got a project in mind?

Whether it's a new product, an integration, or scaling an existing system — let's talk about how I can help.

View my projects