Hi, I'm Goran. I build production software in weeks, not quarters.
Senior engineer + platform architect, 21+ years building production systems. Independent practice combining decades of systems experience with AI-accelerated workflows.
Most clients are technical founders who need a senior pair of hands to take a product from sketch to live. Fourteen production SaaS apps in twelve months - real billing, real users, real on-call rotation. The catalog is the proof; engagements are how the practice runs.
Currently shipping
14 live · production traffic
App
URL
Shipped
Status
License Board Live
cperenewal.com
May 2026
Live
License Verification API Live
licenseverificationapi.com
May 2026
Live
SSL Beacon Paying customers
sslbeacon.com
Production
Paying customers
Practice Compliance Tracker Live
practicecredentials.com
May 2026
Live
MD License Tracker Live
physicianrenewal.com
May 2026
Live
Cron Job Monitor Live
scheduledjobmonitor.com
Apr 2026
Live
Nurse License + CEU Tracker Live
nurserenewal.com
Apr 2026
Live
DNS Health Dashboard Live
dnsbeacon.app
May 2026
Live
Plus six more in the catalog.
Selected work
Four recent live builds. From a roster of fourteen - multi-tenant platforms, B2B APIs, production SaaS, healthcare workflows.
REQUEST.HOST → app_name
cpalicense.com→cpa
pelicense.com→pe
brokerrenewal.com→realestate
therapistrenewal.com→therapist
attorneyrenewal.com→lawyer
contractorlicensetracker.com→contractor
insurancecetracker.com→insurance
Multi-tenant SaaS platformMay 2026
License Board
One codebase. Seven vertical products. Live on seven domains.
Each licensed profession - CPAs, civil engineers, real-estate brokers, therapists, attorneys, contractors, insurance agents - wants their own branded license-renewal tracker. Building seven separate SaaS products is six too many.
▸Multi-tenant-by-Host.Backend dispatches by request hostname through a Fastify plugin. Each apex resolves to a different app_name partition.
▸Single Stripe webhook, metadata-routed.Fourteen products and twenty-eight prices in one Stripe account. Event metadata.app_name tells the webhook which tenant to credit.
~3 wkGreenfield to seven products7×Verticals from one codebase$0Per-vertical overheadcperenewal.com
$ curl -X GET \
https://api/v1/verify \
-H 'Authorization: Bearer sk_live_...'
→ 200 OK · cached · 47ms
{
"status": "active",
"expires": "2027-08-31",
"source": "cache",
"cache_age_hours": 12
}
B2B Data-as-a-Service APIMay 2026
License Verification API
A single REST endpoint platforms use to verify professional licenses, in real time.
Staffing platforms, payroll systems, and insurance carriers all need to verify provider licenses before money or work changes hands - most of them solve it with screen-scraping scripts and prayer.
▸Cache-first lookup with profession-aware TTL.Medical 30d, nurse 14d, contractor 7d. Customers pay per request regardless of cache state - cached hits are pure margin.
▸Verifier registry pattern.State-board scrapers, internal cross-references, and stub fallbacks all conform to one interface. Adding a new state board: ~3-5 hours.
Domain and SSL monitoring. The reference implementation behind the rest of the portfolio.
A monitoring SaaS that knows when your certificate is about to expire shouldn't itself be the thing that goes down. The architectural problem: how to extract a shared library - auth, billing, alerting, plan limits - that a dozen sibling products could consume without becoming a coordination tax.
▸Library, not microservice.The shared layer is a pnpm workspace package, not a service. Trades runtime independence for hours saved per app.
▸Multi-channel alerting with escalation rules.Email, SMS, Slack, PagerDuty all route through one dispatcher. Enterprise tier gets per-threshold channel routing.
LiveProduction paying customers11Sister products inherit the library14 dProfessional trial windowsslbeacon.com
Compliance roster
HIPAA training42/42
License attestations38/42
OSHA Bloodborne42/42
Fire safety drill42/42
CSA controlled-sub audit12/42
Multi-tenant B2B · healthcareMay 2026
Practice Compliance Tracker
Practices, members, staff, and compliance items - the first proper multi-tenant build in the catalog.
Healthcare practices need to track who has what credential, what training, and when it expires - per person, per practice, per state requirement. Practice administrators need clean visibility across their staff without ever seeing another practice's data.
▸Practice-scope middleware via header.Every authenticated request resolves an X-Practice-Id; middleware injects scope predicate into every database call. Cross-practice leaks: structurally impossible.
▸Templates pre-seeded across five verticals.Thirty-eight compliance items shipped on day one - HIPAA, license attestations, OSHA, fire safety, controlled-substance audits.
Inspection software for auto-glass technicians. Paying customers since 2025.
▸Production-grade Stripe billing + plan management
▸Migrated to portfolio-shared upgrade flow in 2026
visorstud.io
What I build
A senior toolkit, narrowed to where the depth is real.
Seven services, narrowed to where my depth is real and where I've shipped recently. Not a menu - each item is something I can scope and deliver this quarter.
01
SaaS platforms & MVPs
Greenfield SaaS, sketch to paying customer.
Next.js · Fastify · Postgres · Stripe
02
API & backend architecture
Public APIs, internal services, data-plane work.
REST · GraphQL · Event-driven · Distributed systems
Operator tools no one writes about but every team needs.
Admin dashboards · Workflow engines · Ops tooling
07
Full-stack web applications
End-to-end product work, one person, full ownership.
React · TypeScript · Tailwind · App Router
Working notes
Working notes from someone who has shipped a lot of software and watched what tends to hold and what tends to break.
01
The compounding asset is a working library, not a clever framework.
Each new SaaS ships faster because the auth, billing, alerting, and audit-logging code is already written, tested in production, and consumed as a workspace package. The leverage is in the library being battle-tested by every prior product - not in writing a more general abstraction.
02
AI-accelerated does not mean AI-supervised.
I drive the architecture, the data model, and the production decisions. The AI writes code, runs test loops, and handles migrations under a clear set of instructions. Judgment calls remain with the senior engineer. That is what makes the speed possible without surfacing tech debt downstream.
03
Optimize for the night you carry the pager.
Every architecture decision is a bet about which on-call alert you would rather receive at 3 AM. Cache-first economics, idempotent webhooks, retry semantics that don't double-charge, observability you can actually use - not nice-to-haves.
04
Production over demos.
Anyone can show a Loom. The harder demonstration is fourteen apps actually serving traffic on subdomains you can curl from your terminal right now, each with Stripe products configured, working email, working alerts, and a real tenancy model.
05
Senior coordination overhead, kept low.
I write code, I make decisions, I ship. No standups to perform productivity in, no architecture committee, no synchronous Slack. The contract: agreed outcomes, regular working sessions, written decisions you can audit later.