Serhii Chernikov

Serhii Chernikov

Recent

See more

Products

See more

Feed

See more

Experience

  • Full-Stack TypeScript Software Engineer

    SysGears · Permanent Full-time

    Sep 2023 – Present · 3 yrs

    Europe · Remote

    • Elicit requirements when the brief is a goal, not a spec. Sit with stakeholders, ask the awkward questions, and turn the answers into boundaries and contracts.
    • Own the outcome on client products, not just the ticket: React / Next.js and Vue, Expo, NestJS, Postgres, AWS or Azure. Same ownership loop across marketing, fitness, finance, healthcare, and wellness.
    • Review critical, production-facing PRs before they ship: auth, payments, tenant isolation, queued jobs, schema changes. Look for authorization holes, unsafe migrations, and lock mistakes – not style nits.
    • Resolve incidents instead of bouncing them: Sentry, LogRocket, CloudWatch. Find the cause, ship the fix, write down what was implicit so the next failure is cheaper.
    • Add the context that is missing: edge cases, dependency order, who owns the follow-up, what “done” means – so NestJS work does not start on an underspecified epic.
    • Measure whether the change did anything: PostHog on the user path, Sentry on the failure path. Keep, cut, or rewrite from that – not from “it deployed.”
    • Deliver the effective solution, not the largest architecture: OpenAI Agents SDK / LangChain tools, CRON and event triggers, citations on retrieved answers – scoped so marketing teams can run work without a new ticket per client (agentic marketing platform).
    • Put AI on messy production data, then check the impact: classify junk comments, transcribe and summarize video, queue the work on SQS / EventBridge / Lambda (fitness influencer platform).
    • Own payments and identity in production, including the webhook and OAuth failure cases: Stripe on the mental-health app; OAuth 2.0 for Google data; Cognito where the client already lived on AWS.
    • Make ownership stick in a consultancy: mentoring, Jest / Playwright on the paths that break, staging demos before prod, async with stakeholders in other time zones.
  • Founder & Product Engineer

    Self-employed

    Oct 2025 – Present · 11 mos

    Toronto, Ontario, Canada · Remote

    • Own the product loop end to end: ideation → implementation → packaging → marketing materials → user requests → ongoing maintenance. Then double down, maintain, or archive.
    • Turn a vague idea into a scoped MVP and decide with evidence, not sunk cost. CupertinoClicks is in active build; DocuLens is in maintenance; PowerGram and LiquiRaise were archived when distribution would not pay back the hours.
    • Own the unglamorous middle: legal pages, payment webhooks, notarization, CI, and systems that keep running when I am on someone else's payroll the next morning.
    • Build this alongside a full-time engineering job and direct client contracts. Nights and weekends, hard MVP cuts, one product in active build at a time.
    • Package and distribute without a release team: paid checkout, licensing, signed builds, self-serve download and activation – including an App Store-ready path on CupertinoClicks.
    • Know the solo-founder constraints – no ads team, no support org, limited hours – and compensate with self-serve flows, search-led discovery, and ruthless scope.
    • Pick the stack the product needs and ship it: native Mac (Swift), web (Next.js), APIs (NestJS), payments, search, CI. The skill is going end to end, not collecting frameworks.
    • Keep systems running after launch: billing, auth, security patches, landing refreshes. DocuLens stayed in production while new build time went to CupertinoClicks.
    • Design for how a product feels, not only whether it works. The bar is "this belongs on the platform," not a thin skin over the plumbing – native Mac craft on CupertinoClicks, calm document UX on DocuLens.
    • Handle real user requests myself. Useful ones go back into the product; the rest get a reply. No support desk, no backlog theater.
  • Full-Stack Software Engineer

    Upwork · Freelance

    Jul 2022 – Present · 4 yrs 2 mos

    United States · Remote

    • Owned freelance product work on Next.js and NestJS (TypeScript): APIs, UI, schemas, and migrations. Tickets were the start, not the edge of the job.
    • Dropped into an unfamiliar TypeScript codebase and cleared production bugs plus the QA backlog so an AI-product MVP could ship without a long ramp.
    • Left repos better than I found them: tightened database schemas and migrations, added docs and the missing context the next engineer needs.
    • Proactiveness past the ticket. Proposed refactors and process fixes (reviews, handoffs, env setup) where they actually made sense.
    • Ported a C# / .NET agentic platform to NestJS and TypeScript: read the old logic, migrated the database, fixed broken Node / TypeScript environment setup, without prior C# experience.
    • Built agents clients could run: OpenAI Agents SDK, prompt iteration, RAG, and vector embeddings on a media and advertising platform – working autonomous flows, not a notebook demo.
    • Delivered cloud automation from a brief to a tested handoff: read the requirements, implemented, verified, and wrote status so nothing silent failed in prod.
    • Communicated every day in writing: what merged, what was blocked, what was next. Clients should not have to chase status.
    • Worked inside the client's team – engineers and cross-functional partners – on shared codebases, not as a black-box contractor.
  • Senior Full-Stack Software Engineer

    ClickTech · Contract Full-time

    Oct 2025 – Aug 2026 · 11 mos

    Nottingham, England, United Kingdom · Remote

    • Root-caused production billing incidents with CloudWatch logs and webhook tracing (stale plan-sync, broken account-email identity). Coordinated fixes across teams so customers were not left on the wrong plan.
    • Reviewed high-risk PRs (including a billing-reconciliation engine) for authorization, migration safety, and Redis-lock correctness.
    • Owned Recurly / Stripe / Chargebee subscriptions: reactivation with declined-payment checkout, cancellation, Free Plan access control, and invoicing edge cases – the work that recovers failed payments and turns free users into paid ones.
    • Turned oversized, underspecified epics into stories with acceptance criteria, dependency order, and clear ownership. Gave product admin-portal controls so feature copy, timing, and enablement could change without a new engineering ticket.
    • Designed and built push notifications from scratch: token registry, Expo Push (APNs/FCM) with receipt polling and dead-token cleanup, and Redis locks so scheduled jobs stayed safe across replicas.
    • Helped build the company's first mobile app (React Native / Expo, iOS + Android): EAS builds, GitHub Packages, and shared TypeScript contracts. Billing and engagement logic lived once, not once per platform.
    • Built a product-analytics pipeline where purchase events fire once, only for real conversions, and a failed emit never breaks checkout. Used PostHog and Sentry to see whether features moved engagement and conversion – not only whether they deployed.
    • Overhauled NestJS authorization, closed access-control gaps, handled GDPR deletion requests, and designed sessions that fail closed. Security work landed as part of shipping product, not as a side project.
    • Migrated the members area from legacy React to Next.js 16 / React 19 and took it to production parity, so the company could ship on a modern stack without leaving existing customers behind.