Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 

Repository files navigation

Hi, I'm Goran 👋

I architect and build payment & high-transaction platforms

I work where correctness isn't negotiable. Senior Fullstack Developer by title, working at architecture level: most recently I designed the architecture for a ground-up rebuild of a payments platform, consolidating four legacy codebases into one modular, type-safe system, and wrote roughly 75% of it (~1,815 commits across five repositories).

I care about the parts that compound: documented decisions (ADRs), an architecture that enforces itself in CI, a generated type-safe API client that kills front/back schema drift, and developer experience that turns a two-day setup into one command. (A recent favorite: tracing a 23-second page to a 32-join database view and making it ~10x faster.)

🟢 Open to remote Senior / Staff / Architect roles - wherever the scope is genuinely architectural.


🛠️ Core tech stack

  • Backend: PHP 8.4 (Laminas / Mezzio, Slim), Doctrine, DDD, OpenAPI
  • Frontend: TypeScript (strict), Vue 3, Nuxt 4, Nuxt UI, Vuetify, Tailwind CSS, Pinia, i18n
  • Data & platform: PostgreSQL (Supabase, row-level security), MariaDB / MySQL, Redis / Upstash, pg_cron
  • Testing: Vitest, Playwright (incl. automated a11y with axe), PHPUnit, Go's testing package
  • Quality & CI: PHPStan (level 5) + custom rules, Psalm, Deptrac, Rector, oxlint, SonarQube, GitHub Actions
  • Observability: Sentry, PostHog, structured logging
  • AI in the loop: Gemini (gemini-3.5-flash-lite scores every posting in job·finder), Claude Code for AI-augmented development, Google Stitch for brand and UI assets
  • Infra: Docker, DDEV, Ansible, Cloudflare Pages, Vercel, Linux
  • Also writing: Go, Rust, Shell

🚀 Featured projects

Client work is closed source, so these are the public evidence of how I build: typed, tested, documented, released through CI. Longer write-ups at goranninkovic.com/projects.

Project What it is Evidence Links
forge Git hook runner that executes linters inside DDEV/Docker. One Go binary, no Node. 297 Go test functions docs · tap
porter Air-gapped file transfer over dynamic QR codes. Rust sender, Flutter receiver, LT fountain codes. 160 tests, bit-exact across 2 languages docs
job·finder 🔒 Reads company ATS boards, scores every posting against your CV with an LLM. Built on gstack in 13 days. 766 tests, 9 ATS adapters write-up
gstack Multi-tenant SaaS starter: Nuxt 4 + Supabase, tenancy enforced by Postgres RLS 10 feature layers, RLS-gated docs
moj·GO 🔒 Multi-tenant HR leave management, in production. Private repo. 71 test files, 81 migrations product · write-up
php-booster The PHP quality toolchain I bring to a team (PHPStan, Psalm, ECS, Rector, hooks), packaged 1-command install, auto-fix in CI docs
Griffin Provisions a full Linux/macOS workstation from bare metal Tested on Ubuntu, WSL, macOS docs
sudoku A solver that explains itself - human techniques, not brute force 6 unit-tested modules play it

Also: goranninkovic.com - my portfolio and writing: Nuxt 4, Tailwind, i18n, prerendered to Cloudflare.

🌱 Currently

  • Designing and building a payments-platform rebuild (modular monolith + Slim middleware + Nuxt 4 SPA + generated TypeScript SDK), with an AI-augmented migration workflow that roughly halved the projected timeline
  • Writing Go and Rust — porter's sender is Rust, ported off TypeScript to drop the runtime dependency
  • Open to the right remote team - let's talk

🤝 Let's connect

Portfolio LinkedIn Substack

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors