gb-coding.nl
Available for new projects · Q2 2026

Build your product faster
with a senior full-stack engineer

Scalable web, mobile, and backend systems built with modern technologies. 10+ years shipping production software.

NEXT.JS·KOTLIN·KMP·POSTGRES·KUBERNETES
BSc Software Engineering
Fontys Hogescholen — graduated engineer
10+ years shipping production
Mobile, frontend, backend — full lifecycle
30+ AI-built websites delivered
Lovable, Cursor, Claude — productized & shipped
SEO done right
SSR meta, JSON-LD, sitemaps, Core Web Vitals
Security · Performance · Maintainability
Code you can still ship from in 3 years
Services

End-to-end product engineering.

Four ways I help teams ship — from rapid AI-generated sites to full mobile apps.

Fullstack Development

Next.js frontend + Kotlin backend (Ktor / Spring Boot). Postgres, Mongo, MySQL.

Backend Systems

APIs, microservices, authentication systems built to scale.

Mobile & Desktop

Kotlin Multiplatform — Android, iOS, Desktop from one codebase.

AI-Generated Websites

Built and hosted via Lovable. Fast delivery in 24–72h.

Engineering approach

Pick the methodology that fits.

Every project is different. I bring the discipline that matches your scale and risk profile.

Data-Driven

Analytics, dashboards, tracking. Decisions backed by signal.

IDEAL FOR · SaaS · Growth

Event-Driven

Real-time systems and scalable backends with messaging.

IDEAL FOR · Real-time · High scale

Test-Driven

High reliability and maintainability through rigorous testing.

IDEAL FOR · Long-term systems
Deployment

Hosting that fits your budget and scale.

Scalable Cloud

Azure + Kubernetes

  • Auto-scaling
  • High availability
  • Production-grade observability

Cost-Efficient VPS

Own VM, full control

  • Lower monthly cost
  • Full root access
  • Great for early stage

AI Hosting

Lovable platform

  • Instant deployment
  • Zero infra to manage
  • Perfect for marketing sites
Principles

How I write code.

/Clean Architecture
/Scalable systems
/API-first design
/Type-safe Kotlin
/Performance-focused
/No overengineering
/Maintainable code
/Pragmatic delivery
/Honest estimates
Quality & testing

Tests are the seatbelt for your codebase.

Every project I ship comes with an automated test suite running in CI. That's how a small team can move fast without breaking the product on Friday afternoon.

Unit tests

Pure logic, business rules and utilities verified in isolation. Fast feedback on every save.

VITEST · JEST · JUNIT

Integration tests

API routes, database queries and auth flows tested end-to-end against a real test database.

PLAYWRIGHT · TESTCONTAINERS · SUPERTEST

Coverage & CI

Coverage reports on every PR. Builds fail when critical paths drop below threshold — no surprises in production.

C8 · KOVER · GITHUB ACTIONS
80%+
code coverage target on critical paths
CI on every PR
GitHub Actions — lint, type-check, test, build
0
red builds shipped to production
main · #1284 · feat/checkout-flow
PASSING
  1. 01
    Lint & type-check
    PASSED
    12s
  2. 02
    Unit tests
    PASSED
    34s
  3. 03
    Integration tests
    PASSED
    1m 18s
  4. 04
    Coverage report
    PASSED
    8s
  5. 05
    Build
    PASSED
    42s
  6. 06
    Deploy preview
    in progress…
.github/workflows/ci.yml · runs on every PR
test results
114 passed · 0 failed
auth.spec.ts240.42s
billing.spec.ts310.61s
api.integration.ts4712.4s
checkout.e2e.ts1218.7s
coverage report
threshold: 80%
Statements87%
Branches81%
Functions92%
Lines88%
Testing FAQ

Common questions about how I test.

Coverage isn't a vanity number and CI isn't bureaucracy — both exist so you can change code on a Friday and still sleep on Sunday.

What coverage target do you aim for?

80% statements / 80% branches on critical paths (auth, billing, data writes). 100% chasing is a vanity metric — I focus on the code that hurts most when it breaks.

Where do tests run — local DB, mocks, or real services?

Unit tests run in-memory. Integration tests run against a real Postgres in Docker (Testcontainers) so SQL, RLS and migrations are exercised. External APIs (Stripe, email) are stubbed with recorded fixtures.

How does CI gate merges?

Every PR triggers GitHub Actions: lint → type-check → unit → integration → coverage threshold → build → preview deploy. A red step blocks merge. Coverage drops below threshold also block merge.

Do you write end-to-end (E2E) tests?

For critical user journeys, yes — Playwright against a preview environment. Checkout, signup and any flow that touches money gets E2E coverage. Everything else stays at the integration level for speed.

What happens to flaky tests?

They get fixed or quarantined the same day. A flaky suite that everyone learns to ignore is worse than no suite at all.

Security testing

Shipping software you can defend, not just demo.

Security work happens before launch and on every commit after. Here's the baseline I run on every project.

OWASP Top 10 checks

Manual review and automated scans for injection, broken auth, IDOR, SSRF and the rest of the usual suspects before launch.

OWASP ZAP · SEMGREP · MANUAL REVIEW

Auth flow tests

Integration tests cover signup, login, password reset, session expiry, role escalation attempts and Row-Level Security boundaries.

PLAYWRIGHT · SUPERTEST · RLS POLICY TESTS

Dependency scanning

Automated audits on every PR. CVEs above a threshold fail the build. Lockfiles pinned, Dependabot opens upgrade PRs weekly.

NPM AUDIT · DEPENDABOT · TRIVY · SOCKET.DEV
Why hire an engineer

AI can generate code. Shipping a product takes more.

AI tools (including the ones I use myself) are great for speed. But the parts that decide whether your product survives — security, performance, updates, edge cases — still need an experienced engineer behind the wheel.

RAW AI OUTPUT
  • Looks great on day one — quietly breaks at scale, on edge cases, or under real load.
  • Security holes: leaked secrets, missing auth checks, weak validation, public DB rules.
  • No upgrade path — dependencies rot, frameworks change, nobody knows how to fix it.
  • Generic patterns copy-pasted everywhere; technical debt compounds fast.
  • When something breaks at 2am, there's no one who actually understands the system.
WITH A SENIOR ENGINEER
  • Architecture chosen for your real constraints — not the average of the internet.
  • Security reviewed end-to-end: auth flows, RLS, input validation, secrets, headers.
  • Performance profiled and tuned — fast today and a year from now.
  • Clean, typed, tested code that other engineers (or future-you) can extend.
  • A single accountable engineer who owns updates, fixes, and the long game.
Security reviewed

Auth, RLS, input validation, secrets — done right, not auto-generated.

Performance tuned

Profiled queries, sensible caching, real load tested — not vibes.

Maintainable & updatable

Typed code, tests, dependency upgrades — your codebase keeps moving.

I use AI every day to move faster. The difference is that every line still passes through 10+ years of engineering judgement — so you don't end up paying twice to rebuild it next year.

Pricing

Productized packages.

Fixed scope, fixed price. Or hourly for custom work.

Starter Website
€299–499

AI-generated, 3–5 pages, hosted.

MVP Builder
€1.5k–3k

Fullstack app, auth, database.

Mobile Starter
€2k–4k

Kotlin Multiplatform, iOS + Android.

Custom
€75–95/h

Custom scope, custom quote.

Selected work

Recent projects.

Next.js · Postgres
SaaS Dashboard
Kotlin · Spring Boot
Booking System
New · Courses

Level up with senior-grade courses.

Practical online courses on Git, modern coding, CI/CD pipelines, and customer satisfaction. Buy once, watch forever, ship better next week.

Start your project today.

Tell me about what you're building. I'll come back with a free estimate within 24 hours.