Skip to content
View sotream's full-sized avatar
💼
Open to senior fullstack / product engineer roles
💼
Open to senior fullstack / product engineer roles

Block or report sotream

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.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. 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
sotream/README.md

Andrii Prisniak

Senior Software Engineer · Backend focused, full-stack · Claims-management SaaS

Open to Senior Backend / Full-Stack roles Hamburg or remote in Germany LinkedIn

Node.js TypeScript NestJS PostgreSQL AWS Vue React

What I'm looking for

A Senior Software Engineer role (backend, full-stack or product engineering) in a product company, in Hamburg or remote within Germany.

I want the next role to make me a stronger engineer, not just give me a new title:

  • Distributed and event-driven systems: data, consistency and reliability under real load. In production I worked with parts of this at small scale: several instances sharing work, at-least-once delivery, cache invalidation. The labs below go further, and I want to go deeper on the job.
  • System-level decisions: owning the design of services and the trade-offs behind them, and growing into broader architecture work as an individual contributor.
  • A strong team: engineers I can learn from, honest code review, decisions written down.
  • Nice to have: LLM features in the product, not only in my own workflow.

Fintech, claims handling and regulated domains are close to my experience, but the problem and the team matter more to me than the domain.

What I bring

9+ years of production web applications in claims management, crypto trading and online learning. Before that, nine years of third-line production support at two banks in Ukraine (payment systems, SWIFT, Bloomberg, Reuters): incident analysis, configuration and access rights on systems that must not go down. That is where my habits around reliability and observability come from.

Backend first: Node.js, TypeScript, NestJS, PostgreSQL, with Vue and React on the frontend, running on AWS. I take features from the first idea to production: design, backend, frontend, and monitoring after the release. I work spec-first with Claude Code, and every change still goes through code review.

Where What
Claims-management SaaS (automotive) TÜV NORD Group, product kaayo Damage-claims SaaS for workshops, surveyors and lawyers. Shared responsibility for the architecture; I own several backend modules end to end. Two-way CRM sync (Pipedrive): sales no longer enter changes twice. Lawyer-service integration: a manual export that locks the case, with document and client-card updates coming back over signed webhooks. In-app notifications after lawyers missed emails the provider reported as delivered (my design and specification, code written by Claude Code): no further complaints after release. In a team of five: LLM-based OCR, from ~30 s to 10-15 s per document. Cut AWS costs by 25% myself in Terraform.
Crypto exchange CEX.IO Two services I built and owned, Price Alerts (NestJS, PostgreSQL, Redis, Kubernetes) and Staking/Savings (Node.js), plus an internal admin app. Price Alerts: matching on candle high/low, instances share the work through Postgres row locks (SKIP LOCKED) with no broker, at-least-once delivery. Cut internal ledger entries per order or transfer from 10-15 to 2-4. Fixed unbounded memory growth in Staking, found through Grafana (24 h TTL, 1,000-entry cap, RabbitMQ invalidation): restarts stopped.
Online learning Lectrum Software engineer, promoted to Lead Software Engineer in 2020. Owned the architecture of the in-house LMS core and set up its Kubernetes cluster; GraphQL API. Mentored three client developer teams at a major internet provider.

Production code is under NDA, so the repositories below show how I think and build.

Projects

Start with evcharge-lab: its README maps each service to the system-design question it answers and lists the distributed-systems guarantees with the drill that tests each one.

Project What it shows
evcharge-lab EV charging platform (charge point operator side) as a system-design lab: seven NestJS and Go services, an OCPP WebSocket gateway driven by a station simulator, Kafka in KRaft mode (3 brokers), TimescaleDB, a Postgres read replica with read-your-writes by LSN. 21 ADRs against an explicit load model and SLOs; failure drills with saved raw output (broker loss, KRaft quorum loss, replica lag, Postgres failover, backup and restore, reconnect storm, offline replay); missed targets stay visible as missed. NestJS, Go, PostgreSQL, Kafka, Redis.
boxoffice-lab Design playbook for workload-driven architecture: a ticket flash sale across six NestJS/Fastify services, capacity formulas, 17 ADRs, k6-measured numbers, failure drills, and invariant tests (no seat sold twice, no double charge) that survive kill -9. PostgreSQL, Redis, Redpanda (Kafka API).
Kafka Pay Lab Transactional outbox, idempotency keys, circuit breaker, retries, dead-letter topic, OpenTelemetry tracing in Grafana. NestJS, Next.js, Kafka.
Access Control Lab OIDC + PKCE on Keycloak, RBAC + ABAC, Postgres row-level security, tamper-evident audit log, 63 attack tests. NestJS, Next.js.
Flagboard Feature-flag service: percentage rollouts, targeting rules, audit log, typed SDK. NestJS, Nuxt 4, PostgreSQL.
normkompass RAG over German federal law that answers only with citations checked in code, or refuses. Hybrid search (pgvector + full-text) with a published retrieval eval. NestJS, PostgreSQL.

All six are side projects, not production systems.

Also public: nest-next-starter (fullstack monorepo foundation) and nest-next-aws-cdk (AWS CDK deployment of it on ECS Fargate).

Working with AI agents

The projects above were built with Claude Code under my review: spec first, small tasks with tests, one commit per task, then CI and my own review. Design decisions are written down as ADRs.

Stack

Area Technologies
Backend Node.js, TypeScript, NestJS, REST, GraphQL, WebSocket, microservices, Keycloak, OAuth 2.0 / OIDC
Frontend Vue 3, Nuxt, React, Next.js, TanStack Query, Tailwind CSS
Data PostgreSQL, Redis, MongoDB, RabbitMQ, Bull. Kafka and pgvector in side projects
AI LLM-based document processing (Mistral) in production; RAG in a side project; Claude Code daily
Infrastructure AWS (ECS, RDS, S3), Docker, Kubernetes, Terraform, GitHub Actions; AWS CDK in a side project
Quality and observability Jest, Playwright, JMeter, Sentry, Grafana. OpenTelemetry and Prometheus in side projects

Pinned Loading

  1. boxoffice-lab boxoffice-lab Public

    Design playbook for workload-driven architecture decisions: six services (four NestJS, a Fastify gateway, a Kafka-API worker), capacity formulas, ADRs and k6-measured numbers

    TypeScript

  2. access-control-lab access-control-lab Public

    Security-first case-file vault: OIDC + PKCE, RBAC + ABAC, BFF with encrypted sessions, Postgres RLS, tamper-evident audit log, 131 black-box tests covering a catalogue of 63 attacks. NestJS, Next.j…

    TypeScript

  3. kafka-pay-lab kafka-pay-lab Public

    Local lab for watching Kafka work: transactional outbox, consumer lag, retries, DLQ and a circuit breaker, with a payment provider simulator, a realtime dashboard and end-to-end OpenTelemetry traci…

    TypeScript

  4. nuxt-flagboard nuxt-flagboard Public

    Feature-flag service: NestJS API, Nuxt 4 admin UI, percentage rollouts, targeting rules, audit log, live updates and a typed SDK.

    TypeScript