Skip to content

JNPMedi

Dev2 Team Docs Squad Backend Engineer

2023.06 — 2024.08

Clinical trial data management solution startup with KRW 16B cumulative investment (MSA-based)

Highlights

  • Intermittent automatic e-signature failures caused by database deadlocks — Reproduced foreign-key (FK) shared/exclusive-lock deadlocks using SQL and lock tables, Derived two remedies: transaction ordering and SELECT FOR UPDATE pre-acquisition
  • VDR project schedule delay under MVP launch pressure — Emergency sprint with 2 BE + 1 FE: Event-Driven PDF conversion + permission-based workflow, Launched the MVP in 3 weeks and ended synchronous large-PDF conversion timeouts
  • Missing delivery/bounce tracking left email failures visible only after the fact — Received SES Configuration Set events through SNS and logged results in Datadog, Built Slack alerts for delivery failures and shared the implementation through a tech blog and internal seminar

Projects

Maven Docs Electronic Consent System

2023.07 ~ 2023.09

Resolved inefficiency in collecting participant consent and e-signature regulatory compliance using Cyan (in-house Node.js framework)

  • Inefficient individual consent dispatch for clinical trial participants — Created batch dispatch system for participant group management and batch consent dispatch, Streamlined consent collection per clinical trial
  • Opaque event flow from batch + S3 event-based processing — Migrated to EDA + Outbox pattern, Made the event flow visible and set up a local test environment

Tech Rationale

Adopted EDA + Outbox pattern to eliminate synchronous service coupling. Designed plugin architecture for extensible input methods (text, checkbox, signature).

Contribution: Designed EDA transition, implemented plugin architecture, built batch participant registration with Signer table migration. 2-person BE team.
TypeScriptExpress.jsCyanAurora Serverless v2Knex.js

Maven Docs System Reliability Improvement

2023.08 ~ 2023.12

Resolved critical notification failures due to database Deadlocks in clinical trial e-signature notifications

  • Production database deadlocks intermittently failed automatic e-signature processing — Reproduced child-INSERT/parent-UPDATE lock ordering in SQL and confirmed it through INNODB lock tables, Identified the FK shared/exclusive-lock deadlock mechanism and derived transaction-ordering and SELECT FOR UPDATE remedies
  • Synchronous notification processing causing cascading failures — Designed and implemented AWS SNS → SQS → Lambda Event-Driven pipeline, Decoupled notification delivery from main transaction flow

Tech Rationale

Identified deadlocks between shared locks acquired by foreign-key (FK) checks on child INSERTs and exclusive locks on parent UPDATEs. Derived transaction ordering and exclusive-lock pre-acquisition with SELECT FOR UPDATE as remedies.

Contribution: Independently reproduced and analyzed the deadlock and derived remedies. Reproduced the scenario with SQL in DBeaver and verified it via INNODB lock tables.
TypeScriptExpress.jsCyanSlate.jsSNSSQSLambdaReact

Maven Mailing System Enhancement

2023.12 ~ 2024.02

Resolved lack of delivery status tracking and data consistency issues in email system

  • Missing delivery/bounce tracking left email failures visible only after the fact — Configured SES Configuration Set → SNS → event processing pipeline with Datadog logging + Slack real-time alerts, Established email monitoring with delivery-event logs and Slack alerts for failures

Tech Rationale

AWS SES cannot synchronously confirm delivery status due to its async nature. Added SNS event destination to SES Configuration Set for async delivery/bounce event subscription.

Contribution: Designed and implemented SES Configuration Set → SNS → event processing pipeline. Led tech blog publication and internal seminar presentation.
TypeScriptExpress.jsAWS SESNodemailer

Maven Auth System Enhancement

2024.01 ~ 2024.02

Resolved user inconvenience and system scalability limitations from 1:1 user-organization structure

  • 1:1 user-organization structure limiting multi-organization management — Expanded user-organization relationship from 1:1 to 1:N structure, Supported multiple organizations per user
  • API migration risking service downtime — Ensured backward compatibility throughout migration process, Achieved zero-downtime API migration with service continuity

Tech Rationale

Redesigned account-organization from 1:1 to 1:N to support clinical trial researchers participating in multiple organizations simultaneously. Added post-login organization selection flow for context switching.

Contribution: Full-stack change: schema migration, auth flow modification, and batch update of downstream service (Docs/Billing/Mailing) account-organization reference logic.
TypeScriptExpress.jsCyanAurora Serverless v2

Maven TMF New Project Development (Frontend)

2023.06 ~ 2024.08

Frontend development for clinical Trial Master File (TMF) management system

  • No systematic Trial Master File (TMF) management system — inefficient regulatory compliance and document tracking — Mobilized as an emergency developer in a 1 BE + 2 FE team; defined MVP scope and built document upload, classification, version control, and Audit Trail on the Admin/Dashboard, Delivered the TMF management frontend MVP in 3 months, establishing systematic management of clinical-trial essential documents

Tech Rationale

Defined MVP scope focusing on core features (document upload, classification, version control, audit trail) under 3-month delivery constraint.

Contribution: FE developer in 1 BE + 2 FE team. Implemented Admin/Dashboard document upload, classification, and audit trail features.
ReactTypeScriptJotai

Maven VDR MVP Development

2024.06 ~ 2024.07 (3 weeks)

Emergency deployment for delayed VDR project under MVP launch pressure

  • Synchronous PDF conversion causing timeouts on large documents — Designed Event-Driven PDF conversion triggered by S3 upload → Lambda lightweight conversion → SNS/SQS notification, Eliminated synchronous timeouts; large documents now flow through async pipeline reliably
  • No role-based document access control for medical workflows — Engineered permission-based workflow managing document access and approval by medical role, Defined per-role document access and approval workflow
  • VDR project schedule delay under MVP launch pressure — Executed 3-week emergency sprint prioritizing core features, Delivered MVP within 3-week timeline (BE 2 + FE 1 team)

Tech Rationale

Designed EDA-based async conversion pipeline (S3 trigger → Lambda conversion → SNS/SQS notification) to structurally resolve synchronous PDF conversion timeout issues.

Contribution: 1 of 2 BE developers. Designed and implemented EDA document processing pipeline and large-scale async PDF conversion worker. Delivered MVP within 3-week emergency sprint.
TypeScriptLambdaS3SNSSQS

Maven Billing Subscription Management System

2023.06 ~ 2024.08

Subscription, plan, and license management system for all Maven services

  • No support for organization-specific subscription plans — Shipped org-specific custom plan Internal API, Facilitated tailored subscription offerings per organization
  • Non-renewable plans could be incorrectly renewed or re-subscribed — Added renewal/re-subscription blocking logic for non-renewable plans, Kept the subscription lifecycle consistent with business policy

Tech Rationale

Introduced event queue for async cleanup processing after subscription expiry. Enforced non-renewable plan re-subscription blocking via bundles.is_renewable schema attribute at the data level.

Contribution: Implemented org-specific custom plans, event queue-based inventory auto-deletion, and renewal eligibility logic. Multiple PRs directly contributed.
TypeScriptExpress.jsCyanAurora Serverless v2Knex.js

Activities

Email Delivery Monitoring through AWS SES Event Logs

Tech Blog
2024.03

Published technical article on building email delivery monitoring system using AWS SES event logs

Mailing System Email Delivery Result Tracking Feature

Internal Seminar
2024.02

Presented mailing system email delivery result tracking feature implementation and architecture

AWS SAA Study Group

Study Group
2023.09 ~ 2023.12

Internal study group for cloud architecture deep dive

Technical Skills

Node.jsTypeScriptExpress.jsCyanAurora Serverless v2Knex.jsLambdaS3SNSSQSAWS SESNodemailerSlate.jsReactJotai