Skip to content
View TerrorSquad's full-sized avatar
🎯
Focusing
🎯
Focusing

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 👋

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

Pinned Loading

  1. griffin griffin Public

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

    Shell 17 1

  2. php-booster php-booster Public

    Supercharge your PHP projects with Booster - automated setup for code quality tools, formatting, and development workflows. Seamless integration, supports DDEV

    Shell 2 1

  3. gstack gstack Public template

    An opinionated, RLS-first, type-safe Nuxt 4 + Supabase starter for shipping multi-tenant SaaS. Every subsystem wired, all of them off by default.

    TypeScript

  4. forge forge Public

    Git hook runner that runs your linters inside DDEV/Docker. Single Go binary, TOML config, no Node.js required.

    Go