{
  "$schema": "https://jsonresume.org/schema/",
  "basics": {
    "name": "Denys Medvid",
    "label": "Senior Full Stack Engineer with Backend & Architecture Focus",
    "image": "https://medvid.cc/img/main_photo.jpg",
    "email": "denys@medvid.cc",
    "url": "https://medvid.cc/",
    "summary": "Senior Full Stack Engineer focused on backend-heavy SaaS development, system architecture, and production infrastructure. Experienced with EdTech platforms, LMS and LTI integrations, payment systems, REST APIs, dashboards, asynchronous document-processing pipelines, and legacy modernization. Main stack: PHP, Symfony, Doctrine ORM, MariaDB, Redis, React, TypeScript, Linux, Nginx, GitLab CI/CD, Docker.",
    "location": {
      "city": "Kyiv",
      "countryCode": "UA",
      "region": "Ukraine"
    },
    "profiles": [
      {
        "network": "GitHub",
        "username": "DenysMedvid",
        "url": "https://github.com/DenysMedvid"
      },
      {
        "network": "Mastodon",
        "username": "@medvid",
        "url": "https://mastodon.social/@medvid"
      },
      {
        "network": "Weblancer",
        "username": "thebucefal",
        "url": "https://www.weblancer.net/users/thebucefal/reviews/?type=positive"
      }
    ]
  },
  "work": [
    {
      "name": "hidden 2",
      "position": "Senior Full Stack Engineer with Backend & Architecture Focus",
      "startDate": "2018",
      "summary": "Contributed to the architecture, development, and maintenance of a production EdTech SaaS platform used for plagiarism detection, originality checking, LMS integrations, and academic integrity workflows.",
      "highlights": [
        "Developed and maintained backend services on a production EdTech SaaS using PHP, Symfony, Doctrine ORM, MariaDB, and Redis.",
        "Built React + TypeScript frontends for the customer profile area, public report viewer, admin panel, and PDF generation, using Redux, MobX, Webpack, and SCSS.",
        "Designed and maintained LMS integrations with Canvas, Moodle, Google Classroom, Blackboard, Schoology, and Brightspace, embedding plagiarism workflows directly inside instructor tooling.",
        "Implemented LTI 1.1, LTI 1.3, and Canvas SaaS LTI 2.0 launches, including JWT-based LTI 1.3 with dynamic registration, Names & Roles, Deep Linking, and Assignment & Grade Services (AGS).",
        "Built AI-generated text detection and authorship/fingerprint analysis workflows, including queued profile teaching, cross-text similarity checks, callback handling, and auto-scaling of detection nodes on AWS.",
        "Supported a production SaaS platform serving more than 2.2 million user accounts and processing roughly 190,000-360,000 plagiarism checks per month.",
        "Built asynchronous document-processing pipelines using scheduled Symfony console workers, Symfony Lock for idempotency, Google Pub/Sub (Google Classroom auto-checks), and database-backed message queues.",
        "Designed and maintained REST APIs documented as an OpenAPI 3.0 contract spanning roughly 105 public endpoints, plus B2B organization APIs, Chrome extension endpoints, Google Docs add-on, and inbound webhook contracts.",
        "Implemented Stripe and PayPal payment workflows including subscription billing, recurring invoices, webhook signature verification, coupon and promo-code support, and customer-facing billing flows.",
        "Implemented multi-firewall security with stateless API tokens, OAuth2 social login (Google, Facebook), TOTP 2FA with backup codes and audit logging, JWT for LTI 1.3, reCAPTCHA, and per-domain access voters.",
        "Integrated object storage through Flysystem with S3- and Ceph-compatible adapters for reports, parsed report data, invoices, original files, and authorship corpora.",
        "Wired production observability across Sentry, Graylog/GELF, and Grafana/InfluxDB so production incidents are diagnosable from dashboards.",
        "Maintained backend code quality with a large PHPUnit test suite (~629 test files) running in parallel via ParaTest, PHPStan static analysis, and php-cs-fixer enforced as GitLab CI gates.",
        "Contributed to two major framework migrations (Symfony 3.4 -> 4.4 -> 5.4 LTS) with the full backend test suite kept green and no production downtime.",
        "Created technical roadmaps and implementation plans for complex backend and integration tasks, with documentation kept alongside code under version control.",
        "Worked with Linux, Nginx, PHP-FPM, Docker, and a documented release process built around feature branching, CI gates, staging QA, and fast-forward merges.",
        "Collaborated with an 11-person engineering team spanning backend/full-stack, frontend, and NLP/C++ specialists."
      ]
    },
    {
      "name": "hidden 1",
      "position": "Software Engineer / Full Stack Developer",
      "startDate": "2012",
      "endDate": "2018",
      "summary": "Worked as a software engineer on web application development, maintenance, integrations, payment workflows, APIs, dashboards, and legacy system support.",
      "highlights": [
        "Contributed to backend and frontend functionality using PHP, Symfony, Doctrine, JavaScript, CodeIgniter, and legacy custom frameworks.",
        "Maintained legacy PHP systems while supporting ongoing product development."
      ]
    },
    {
      "name": "Intuitec",
      "position": "Full Stack Software Engineer",
      "startDate": "2010-07",
      "endDate": "2012-09",
      "summary": "Created projects with Yii, JavaScript, database architecture, Google Calendar integrations, and custom calendar UI with drag-and-drop events and schedules."
    },
    {
      "name": "Freelancer",
      "position": "Full Stack Software Engineer",
      "startDate": "2009-08",
      "endDate": "2010-07",
      "url": "https://www.weblancer.net/users/thebucefal/reviews/?type=positive",
      "summary": "Created parsers, small scripts, website fixes, and other freelance web development work."
    }
  ],
  "education": [
    {
      "institution": "Kyiv radio-mechanical college of NAU",
      "area": "Computer programming",
      "startDate": "2006",
      "endDate": "2010"
    }
  ],
  "certificates": [
    {
      "name": "Zend Certified Engineer",
      "date": "2015-06-18",
      "issuer": "Zend",
      "summary": "Candidate ID: ZEND027501"
    }
  ],
  "skills": [
    {
      "name": "Backend",
      "keywords": ["PHP", "Symfony", "Doctrine ORM", "Twig", "REST APIs", "ActiveRecord", "PHPUnit", "ParaTest", "PHPStan", "C++", "STL", "Qt Framework"]
    },
    {
      "name": "Frontend",
      "keywords": ["React", "TypeScript", "JavaScript", "Redux", "MobX", "Webpack", "SCSS"]
    },
    {
      "name": "Databases",
      "keywords": ["MariaDB", "MySQL", "Redis", "Sphinx", "schema design", "query optimization", "indexing", "normalization", "denormalization"]
    },
    {
      "name": "Architecture",
      "keywords": ["integration and API design", "technical roadmaps", "database architecture", "OOP", "YAGNI", "DRY", "KISS", "SOLID", "GRASP", "TDD", "DDD"]
    },
    {
      "name": "Infrastructure",
      "keywords": ["Linux", "Nginx", "PHP-FPM", "Docker", "Docker Compose", "GitLab CI/CD", "Travis CI", "Drone CI", "Git", "Mercurial", "SVN", "Ansible", "Restic", "Hetzner", "AWS EC2", "production deployments", "server administration"]
    },
    {
      "name": "LMS & Integrations",
      "keywords": ["Canvas", "Canvas SaaS LTI 2.0", "Moodle", "Google Classroom", "Blackboard", "Schoology", "Brightspace", "Google Calendar", "Google Docs add-on", "Chrome extension APIs", "OneRoster", "LTI 1.1", "LTI 1.3", "LTI 2.0", "Names and Roles Provisioning Service", "Deep Linking", "Assignment & Grade Services (AGS)", "LTI dynamic registration", "OAuth2", "HWI OAuth bundle", "KnpUniversity OAuth2 client"]
    },
    {
      "name": "Payments",
      "keywords": ["Stripe Checkout", "Stripe subscriptions", "Stripe recurring invoices", "Stripe promo codes", "Stripe webhook signature verification", "PayPal", "coupon and discount workflows", "customer-facing billing flows", "payment-provider failover"]
    },
    {
      "name": "Security",
      "keywords": ["Multi-firewall Symfony Security", "stateless API token authentication", "OAuth2 social login", "TOTP 2FA", "2FA backup codes", "2FA audit logging", "JWT (firebase/php-jwt)", "reCAPTCHA", "encrypted-at-rest secrets (defuse/php-encryption)", "per-domain access voters", "brute-force protection", "GeoIP2 country lookup"]
    },
    {
      "name": "Observability",
      "keywords": ["Sentry", "Graylog", "GELF/UDP log forwarding", "Grafana", "Prometheus", "InfluxDB", "Monolog", "structured logging", "production incident triage"]
    },
    {
      "name": "Email & Deliverability",
      "keywords": ["Postfix", "Dovecot", "AWS SES", "DMARC", "DKIM", "SPF", "transactional email", "deliverability and authentication hardening"]
    }
  ],
  "interests": [
    {
      "name": "Open-source software"
    },
    {
      "name": "Personal projects across C++/Qt and PHP utilities"
    },
    {
      "name": "FPV drones"
    },
    {
      "name": "DIY electronics on microcontrollers"
    }
  ]
}
