Elvin
From United States (UTC-7)
Elvin – Python, React, Typescript
Elvin is a Senior Full-Stack Engineer with experience since 2007 across fintech, e-commerce, and B2B SaaS analytics. His core stack is TypeScript/Node.js and React, backed by solid Python/Django, PostgreSQL, and AWS experience, with particular strength in payment integrations (Stripe, Adyen). He's shipped open-source infrastructure that stands on its own merits — a zero-dependency JSON-RPC 2.0 library and an Adyen payment provider for Medusa v2 that was vetted and featured by the Medusa core team. He communicates clearly, reasons carefully about architectural tradeoffs, and brings founder-level product thinking from currently co-founding a fintech startup on the technical side.
19 years of commercial experience in
Main technologies
Additional skills
Direct hire
PossibleReady to get matched with vetted developers fast?
Let’s get started today!Experience Highlights
Senior Software Engineer
An open-source (MIT) JSON-RPC 2.0 client and server for TypeScript with zero runtime dependencies. This library is a compact, auditable protocol core that handles full spec compliance and typed error semantics end-to-end while leaving transport, middleware, and method resolution in the consumer's hands. It targets Node 18+, Deno, Bun, and edge runtimes, ships with 100% enforced test coverage, and anchors the RPC layer of a fintech platform currently in development.
- Designed and shipped a spec-complete JSON-RPC 2.0 client and server in TypeScript with zero runtime dependencies, compatible with Node 18+, Deno, Bun, and edge runtimes.
- Architected both halves as factory functions over single-function contracts: the server consumes a Resolver and returns a pure async Handler, the client consumes a Transport and returns a unified Dispatcher; the Handler is itself assignable to Transport, so a complete client–server wiring composes in-process, with zero I/O, in a single expression.
- Defined method dispatch as a single caller-supplied Resolver function, turning namespacing, lazy module loading, authorization gates, and middleware into plain function composition.
- Engineered errors that stay typed across the network boundary: branded JSON-RPC error codes at the type level, range-checked them at runtime, and rehydrated wire responses into error class instances so instanceof discrimination works on both sides of the wire.
- Threaded opaque, request-scoped context from the transport boundary into every method invocation — authentication principals, tracing spans, database transactions — without module globals.
- Wrote 185 tests pinning the spec's drift-prone corners (notification-reply suppression, mixed-batch response shapes, request/response id correlation, empty-batch handling) and enforced 100% branch, function, line, and statement coverage — over the examples as well as the source — in the npm publish gate.
- Authored 12 self-contained integration examples (HTTP, WebSocket, middleware, namespace routing, shared end-to-end types), each type-checked and exercised by its own runtime test.
Senior Software Engineer
An open-source Adyen payment provider for the Medusa v2 commerce platform. Vetted by the Medusa core team, it was featured in the official "New Integrations" blog post and listed in the Medusa Integrations Directory alongside the first-party Stripe and PayPal integrations.
- Designed and built a production-grade Adyen payment integration for Medusa v2.
- Built the webhook reconciliation engine as a Medusa workflow, bridging the structural incompatibility between Medusa's synchronous payment workflows and Adyen's asynchronous, webhook-driven model.
- Implemented Adyen's Advanced flow end-to-end — server-side payment session creation, authorization, capture, cancellation, and refund — with configurable retry handling for transient API failures, frontend-agnostic across Adyen Web Components, Drop-in, and custom integrations.
- Added authenticated, schema-validated store API routes for shopper stored-payment-method retrieval and payment-session updates, plus tokenization support via configurable shopper-interaction and recurring-processing models.
- Wrote 71 unit and integration tests running the provider and webhook workflows against a real Medusa test server, with the Adyen API mocked via nock and an optional live-endpoint mode against Adyen's test environment.
- Built a full reference implementation pair — a Medusa store and a Next.js storefront with Adyen Drop-in wired into checkout — used for manual end-to-end testing and as an integration guide for adopters.
- Earned the Medusa core team's approval in their monthly vetting cycle; the plugin was featured in the official "New Integrations Mar'26" blog post as one of eight community integrations that month and listed in the Medusa Integrations Directory alongside Stripe and PayPal.
Senior Software Engineer
The data formatting layer of an advanced data analytics platform's frontend: a TypeScript library that turns raw warehouse values — numbers, currencies, percentages, booleans, timestamps, durations — into display-ready strings for every data surface of the product. A single factory maps 28 named formats to composable, null-safe formatter functions, with locale-aware numbers built on the Intl API and timezone-correct dates on date-fns. It renders the values shown in the platform's customer journey views, metric plots, tables, and reports.
- Designed and built the data formatting library for analytics frontend: a factory mapping 28 named formats — numbers, currencies, percentages, ordinals, booleans, strings, dates, and durations — to composable, null-safe formatter functions.
- Implemented locale-aware numeric formatting on the Intl API: currency with configurable ISO codes, compact notation with significant-digit control, percentages, plural-rules-driven ordinals, and ticker variants that prefix metric deltas with direction arrows.
- Built timezone-correct date handling on date-fns and date-fns-tz that detects UTC-encoded warehouse timestamps and adjusts them to the viewer's timezone and locale, while formatting already-localized dates as given.
- Composed relative-time and duration displays — calendar-component durations derived from raw seconds through months, "distance to now" phrasing, and combined "date • distance" formats for feeds and tables.
- Guarded every formatter with shared option defaults and null handling, so call sites render missing data as a typographic placeholder instead of branching on nulls.
- Wrote 60 Jest unit tests pinning exact output strings for the numeric and temporal formatters; 21 modules across customer journey views, metric plots, tables, date inputs, and reports render their data through the library.
Senior Software Engineer
The foundational component layer of an advanced data analytics platform's frontend: 44 reusable UI primitive families — from buttons and form controls to dialogs, tables, and app layout — that define the product's visual styling rules and keep its UX consistent. Each primitive is self-contained, builds accessible behavior on Headless UI, and composes Tailwind class recipes behind a deliberately constrained prop surface. The library ships with 52 Storybook story files and a documented architecture guide, and 85 modules across the product build on it.
- Developed the UI primitives library of Narrator's frontend: 44 self-contained component families — buttons, forms, dialogs, dropdowns, tables, navigation, and layout — that define the product's visual styling rules; 85 modules across the product build on them.
- Architected the layer for consistency by design: primitives depend only on themselves and third-party libraries and expose a deliberately constrained visual-prop surface, so styling decisions live in the components rather than at call sites.
- Built accessible interaction on Headless UI with Tailwind class recipes composed via clsx — per-variant style and size matrices (solid/outline/plain × rectangle/pill/circle/icon) — including touch-target expansion and screen-reader labels for icon-only controls.
- Standardized compound-component families — Dialog with Actions/Body/Description/Title, Text with Code/Strong/TextLink, shared Options powering Combobox, Dropdown, and Listbox — so features compose consistent parts instead of restyling raw elements.
- Documented the architecture in a maintained README and a _TemplateComponent scaffold that prescribes each primitive's file structure: public index, one component per file, co-located stories.
- Integrated Storybook 8 with 52 story files serving as integration examples, UI/UX documentation, and the library's visual-testing surface.
Senior Software Engineer
The typed data architecture of an advanced data analytics platform's frontend and the AI chat experience built on it. A generic HTTP client wraps the platform's backend API — type-parameterized request functions with token-refreshing auth, US/EU datacenter routing, structured API errors, and a server-sent-events streaming mode — and typed domain stores build on it: TypeScript interfaces mirroring backend payloads, a generic CRUD repository, and Zustand state with immutable updates. The AI chat rides this full stack, streaming assistant replies chunk-by-chunk into the conversation with typed renderers for every message kind.
- Refactored the frontend's API layer over the Mavis backend into five generic request functions (get/post/put/patch/delete) that type both payload and response, inject cached, expiry-checked auth tokens, route each call to US or EU datacenters, normalize responses to camelCase at a single boundary, and raise structured API errors.
- Engineered type-safe domain stores for nine domains — chats, datasets, journeys, reports, tables, activities, companies, notifications, users — with per-domain TypeScript interfaces that mirror backend payloads, enforcing API contracts at compile time; 167 modules across the product consume them.
- Led the development of the AI chat components: dedicated renderers for every message kind — text, assistant replies with suggestions, datasets, customer journeys, errors — plus prompt form, suggestions, search, and feedback voting wired to TanStack Query.
- Streamed assistant replies into the conversation progressively: each SSE chunk is parsed and upserted into the chat store as it arrives, and favorite/feedback actions update state optimistically ahead of the network round-trip.
Software Engineer / Senior Software Engineer
A critical compliance fix on an online marketplace for beauty and wellness professionals: vendors could not accept Stripe's updated Terms of Service through the platform, and past Stripe's acceptance deadline payouts would have stopped for nearly all vendors on the platform. The project brought the platform into compliance with the updated TOS, keeping vendor payouts uninterrupted.
- Led the project to resolve a critical payment issue threatening payouts for nearly all platform vendors: the platform could not surface Stripe's updated Terms of Service for vendor acceptance, with a hard payout-suspension deadline approaching.
- Worked directly with Stripe support and internal stakeholders to pin down Stripe's updated requirements and align them with the platform's payment flows.
- Traced the root cause through the existing payment codebase, then refactored the integration and adjusted the affected flows so vendors could accept the TOS on the platform.
- Verified the fix with a rigorous testing pass, bringing the platform into compliance and averting the payout disruption.
Software Engineer / Senior Software Engineer
Modernization of the message-delivery data pipeline on an online marketplace for beauty and wellness professionals. Booking notifications were moving from hard-coded SMS templates on the deprecated Twilio API to a new flow of Segment events feeding Braze — but the new flow carried significant technical debt. The project defined a comprehensive new data schema with the Data Team and refactored the Segment event ETL functions around it, so the Marketing Team could change multichannel communication templates in Braze without engineering involvement.
- Uncovered significant technical debt in the platform's new message-delivery flow — Segment events feeding Braze — while wiring booking SMS notifications to it, and expanded the project's scope to fix the debt at its source rather than build on it.
- Partnered with the Data Team to define a new, clean, and comprehensive schema for the event data the platform sends to Segment.
- Refactored all data extraction and transformation functions behind the Segment event tasks to maintain the new schema, laying the groundwork for retiring the deprecated Twilio-based delivery flow.
- Enabled the Marketing Team to create and modify multichannel communication templates in Braze autonomously — independent of engineering — while giving the Data Team richer, cleaner event data for analysis.
Software Engineer / Senior Software Engineer
New backend payment endpoints on an online marketplace for beauty and wellness professionals that let the platform charge vendor fees directly to a credit card — expanding revenue collection beyond booking transactions. The endpoints simplified how vendors settle platform fees and opened an additional revenue path for the business.
- Led the development and deployment of new backend endpoints for charging vendor fees directly to credit cards, expanding the platform's revenue collection beyond booking transactions.
- Designed and coded the endpoints and integrated secure payment processing for the direct charges.
- Simplified fee collection for vendors with a flexible, straightforward way to settle platform fees, improving the vendor payment experience.