Skip to content
View TerrorSquad's full-sized avatar

Block or report TerrorSquad

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
terrorsquad/README.md

Hi, I'm Goran 👋

Software Architect & Staff Engineer · payments & high-transaction platforms

I work where correctness isn't negotiable. Over 7+ years I've gone from shipping features to owning architecture. 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 Staff / Principal / Architect roles - or Senior where 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, Vuetify, Tailwind CSS
  • Quality & CI: PHPStan (level 5) + custom rules, Psalm, Deptrac, Rector, SonarQube, GitHub Actions
  • Databases & infra: MariaDB / MySQL, Redis, Docker, DDEV, Ansible, Linux
  • Also writing: Go, 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
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
  • Deepening Go (and tinkering with Rust)
  • Open to the right remote team - let's talk

🤝 Let's connect

Portfolio LinkedIn Substack

Pinned Loading

  1. griffin griffin Public

    Griffin - effortless cross-platform workstation provisioning with Ansible (Ubuntu, Mint, Debian, WSL, macOS)

    Shell 17 1