Andrii Shafar
~

Andrii
Shafar

Software engineer and applied researcher, Ukraine.

~/work
  • Six years of full-stack product work across nine services and applications, from donor-facing campaign and checkout flows to backend services, identity and sign-in, operations tooling, integrations, and AI-assistant access through MCP.

    • Expanded an OAuth-protected MCP server for AI assistants to 77 read and write tools spanning campaigns, teams, donations, exports, receipts, and reports, with approval-gated actions, opt-in donor-data scopes, and container-tested permission checks.
    • Built a standalone OAuth and OpenID Connect authorization server with partner entitlements and rotating signing keys, plus a hosted sign-in offering email and phone codes, two-factor checks, and origin-bound tokens for embedding sites.
    • Built and evolved a component-driven fundraising platform across Nuxt generations, including moving the admin app from Vue 2 to Nuxt 4, and a skin-based Vue 3 checkout with reusable multi-step flows, attribution, and localization.
    • Delivered campaign, team, and donation operations with contact management, secure analytics, custom reports, durable export jobs, queued campaign-total aggregation, and watermark-driven search-index sync that recovers from outages without gaps.
    • Integrated and hardened Stripe wallets and 3DS, PayPal, PayArc, Cardknox card and ACH, raffle preauthorization, and configurable international tax-compliance and receipt workflows.
    • Built email, SMS, and WhatsApp outreach with reusable audiences, templates, asynchronous delivery, opt-in flows, and provider callbacks, plus continuous HubSpot CRM sync with setup reconciliation, entity linking, and guarded bulk operations.
    • Implemented peer matching, team nominations, auctions, raffle registration, prize wheels, projector and live-feed experiences, with server-side eligibility and inventory protections.

    Go · Vue & Nuxt · TypeScript · Payments · OAuth & OpenID Connect · MCP · AWS & queues · CRM & messaging

  • Backend, frontend, and developer-platform work for realtime voice interviewing, interview retakes, durable background processing, speech-to-text, integration testing, and reusable AI engineering workflows.

    • Built interview retakes end to end: lineage-tracked attempts, a Retry flow in the Angular client, and a fail-open pipeline that feeds earlier attempts' feedback into the realtime interviewer so covered areas are not re-asked.
    • Designed an owner-scoped background-job platform with durable state and event delivery, registry-based dispatch, frontend integration, admission control, and cross-user authorization safeguards.
    • Modernized the Python platform around uv, Ruff, basedpyright, and Alembic, then replaced the legacy mock-based suite with a Testcontainers harness running the real app against migrated PostgreSQL and containerized service fakes.
    • Pinned defects found by the new suite as strict expected-failure tests and fixed about 40, covering WebSocket reconnection, connection limits, audio ordering, coaching flows, and caller identity taken only from verified tokens.
    • Built configurable realtime and batch speech-to-text pipelines and improved voice interviews with echo suppression, resilient WebSocket reconnects, and buffered-audio recovery.
    • Refactored realtime interview and voice-test sessions onto shared event, action, and shutdown primitives, and delivered automated interview testing with generated speech, PCM injection, recording storage, and diagnostic exports.
    • Created a reusable AI-engineering toolkit with orchestration and review workflows, later repackaged as native Claude Code and Codex plugin packs with bundled file search, flow mapping, and agent-led installation.

    Python · FastAPI · Angular · Realtime audio · WebSockets · PostgreSQL · Testcontainers · Claude Code

  • Cross-stack engineering for survey research, mental-health scoring, multi-tenant reporting, guided workforce journeys, a paid self-service group assessment, template-driven launch and export APIs, and AWS delivery infrastructure.

    • Built the self-service Group MHQ product end to end: a Go launch API, Stripe checkout with seat-based pricing, OAuth PKCE membership sign-in with free-launch entitlements, aggregated group scoring, retry and refund recovery, and PDF reports.
    • Re-architected a Python reporting application into a typed uv monorepo with a separated API, generated client, modern React frontend, migration-managed PostgreSQL and RBAC, and containerized delivery.
    • Delivered machine-to-machine survey exports and launch APIs with stable revision identity, deterministic CSV contracts, language-independent question codes, template launch and relaunch, project-scoped service accounts editable in place, and ownership guards.
    • Implemented role-scoped reporting with external survey synchronization, sync monitoring, localized-survey recognition, live TeamQ and OrgQ journeys, and in-app template launches.
    • Built secure multi-tenant identity and administration spanning bearer-token sessions, password recovery, organizations, teams, invitations, self-service workspace creation, revision-level authorization, and scoped, revocable sign-in for AI agents.
    • Expanded the MHQ survey platform with side-by-side revised scoring via a batch Lambda, cross-survey branching redirects, editable templates, video statements, conditional report blocks, accurate drop-off analytics, and an invite-only Research Calculator.
    • Designed AWS CDK infrastructure with managed containers and PostgreSQL, HTTPS edge delivery, keyless CI authentication, and cost controls, and cut CI/CD time and spend across seven repositories through ARM runners, artifact reuse, and immutable releases.

    Go · React & Next.js · Python & uv · AWS CDK · PostgreSQL · BigQuery & S3 · Stripe · GitHub Actions

  • Uzhhorod National University Postgraduate research

    Applied AI, fuzzy models, and decision-support systems for tourism in the Department of Software Systems.