Iurii RoguliaIurii Rogulia
AboutServicesPricingProjectsStackReviewsPhrasesBlog
Contact
Iurii ships.

Iurii Rogulia, IT partner for business & fractional CTO. 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: #SaaS

3 projects · 24 articles · 4 reviews

SaaS (Software as a Service) projects are subscription-based web applications with billing, multi-tenancy, user management, and ongoing product development after launch.

Projects

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
vatnode — EU VAT Validation API
vatnode — EU VAT Validation API
January 19, 2026
vatnode — EU VAT Validation API

Developer-first SaaS API for EU VAT validation via VIES with Redis caching, change monitoring, and webhook notifications.

Stack

Next.jsReactTypeScriptHonoNode.jsTurborepoDockerCaddy

Libraries

Drizzle ORMBullMQZodBetter AuthTanStack QueryZustand

Databases

PostgreSQLRedis

Services

StripeResendGoogle Analytics

Topics

SaaSAPIAuthFintechTax/VATMonorepoWebhooksSEOSchema.org
HTPBE? — Has This PDF Been Edited?
HTPBE? — Has This PDF Been Edited?
September 25, 2024
HTPBE? — Has This PDF Been Edited?

SaaS platform for PDF authenticity verification with a public REST API.

Stack

Next.jsReactTypeScript

Libraries

Drizzle ORMZodNextAuth.jspdf-lib

Databases

PostgreSQL

Services

MollieResendGoogle Analytics

Topics

SaaSPDFAPIAuthSecuritySEOSchema.org

Articles

API Key Management for a Public SaaS API
August 5, 2026· 13 min
API Key Management for a Public SaaS API

API key management for a public SaaS: hashing keys at rest, prefix + last-4 display, fail-closed validation, and revocation — plus the scoping, rotation, and

Stack

TypeScriptNode.jsHono

Libraries

Drizzle ORM

Databases

PostgreSQL

Topics

SaaSAPIAuthSecurity
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
Subscription Billing: The Edge Cases Stripe Docs Skip
July 22, 2026· 17 min
Subscription Billing: The Edge Cases Stripe Docs Skip

Subscription billing edge cases Stripe glosses over: proration, dunning, the state machine, cancellation timing, refunds, VAT, and webhook ordering.

Stack

Next.jsTypeScriptNode.js

Databases

PostgreSQL

Services

Stripe

Topics

SaaSPaymentsE-commerceBilling
Feature Flags Without LaunchDarkly: A 100-Line Solution
July 13, 2026· 9 min
Feature Flags Without LaunchDarkly: A 100-Line Solution

Feature flags without LaunchDarkly: a Postgres-backed, ~100-line system with deterministic percentage rollout, per-tenant overrides, and caching.

Stack

TypeScriptNode.js

Databases

PostgreSQL

Topics

SaaSFeature FlagsWeb Development
Idempotency Keys: Building Retries That Don't Double-Charge
July 1, 2026· 8 min
Idempotency Keys: Building Retries That Don't Double-Charge

Idempotency key API design: make POST retries that don't double-charge — Postgres key table, ON CONFLICT claim, response replay, TTL, edge cases.

Stack

TypeScriptNode.js

Databases

PostgreSQL

Topics

APISaaSBackend
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
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
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
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
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
Self-Hosting Node.js API: Caddy, Docker Compose, VPS
April 3, 2026· 11 min
Self-Hosting Node.js API: Caddy, Docker Compose, VPS

Self-host a Node.js API on a €6/month VPS: Caddy reverse proxy, Docker Compose, zero-downtime deploy script, and GitHub Actions CI — complete production setup.

Stack

TypeScriptNode.jsHonoDockerCaddy

Services

Vercel

Topics

InfrastructureSaaSAPI
Next.js Blog View Counter with Upstash Redis (Tutorial)
March 16, 2026· 8 min
Next.js Blog View Counter with Upstash Redis (Tutorial)

Next.js view counter with Upstash Redis over HTTP: atomic INCR, Edge Runtime for zero cold starts, React Strict Mode fix, and slug namespace gotchas.

Stack

Next.jsTypeScript

Databases

Redis

Services

VercelUpstash

Topics

SaaSPerformanceAPI Routes
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
EU VAT Number Validation in Next.js (VIES API Tutorial)
February 5, 2026· 12 min
EU VAT Number Validation in Next.js (VIES API Tutorial)

EU VAT validation in Next.js: VIES caching with Redis, three-state results, reverse charge logic, and audit logging — what actually works in production.

Stack

Next.jsTypeScript

Databases

Redis

Topics

Tax/VATFintechE-commerceSaaS
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
How to Detect Tampered PDFs (Forensics Tutorial)
November 28, 2025· 12 min
How to Detect Tampered PDFs (Forensics Tutorial)

Detect tampered PDFs using xref table analysis, metadata mismatches, orphaned objects, and font changes — 7 forensic markers explained with TypeScript code.

Stack

Next.jsTypeScript

Libraries

pdf-lib

Topics

PDFSecuritySaaS
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

“

I had a validated idea and a deadline tied to an accelerator demo day, but no product. Iurii helped me cut the scope down to what actually needed to exist for launch and pushed back hard on the features I thought I needed but didn't. We shipped a working MVP in six weeks with real users on it by demo day. The honest scoping at the start is what saved the timeline — it would have been easy to let me build twice as much and miss the date.

Aino Virtanen 🇫🇮

Founder

Stack

Next.jsTypeScript

Databases

PostgreSQL

Topics

MVPProductScopeSaaS

Service: mvp development

“

Our build broke after a routine update and nobody could figure out why. We'd been stuck for two days. Iurii joined a call, found the problem in under 20 minutes, and walked us through what went wrong so it wouldn't happen again.

Ciarán Murphy 🇮🇪

Topics

DebuggingSaaS

Service: technical consultation

“

We had six weeks before an investor meeting and needed something real to show, not a Figma deck. Iurii scoped what we'd been planning down to a tight MVP, pushed back on three features that would have eaten the timeline, and shipped something that actually worked end to end. We got the term sheet. The pushback on scope was the single most valuable part — every other developer we'd spoken to just nodded along and quoted the full version.

Henrik Dahl 🇳🇴

Founder

Topics

MVPProductSaaS

Service: mvp development

“

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. We switched, saved money, and nothing broke.

Valentina Russo 🇮🇹

Topics

ArchitectureSaaSInfrastructure

Service: technical consultation

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