Skip to content

GameDuo

DEV Team Server Developer

2025-01 — Present

Mobile game development and publishing company

Highlights

  • Resolved escalating marketing data query costs by switching BigQuery read method, achieving 82% cost reduction ($6.25→$1.1 per TB)
  • Overcame batch processing limitations by migrating to serverless architecture, expanding marketing metrics collection range 6x (60→360 days)
  • Eliminated code duplication across multi-game projects by building NestJS utility (10 modules) + Game Server Kit (2 packages), achieving code consistency across 12 projects
  • Designed and implemented Git-like Audit Log + 3-Way Merge engine to automate balance data change tracking and merging across 6 games, resolving delayed incident response
  • Unified 3 ad platform (Google Ads/Meta/TikTok) data and improved query performance 97% (18s→0.5s) through table normalization
  • Addressed game probability disclosure regulation risk by integrating DynamicModule-based package across 12 projects, building CDK-based audit log pipeline (94%+ coverage)

Projects

Glider Sheet Audit Log System

2025.01 ~ 2025.04

Resolved delayed balance issue response caused by inability to track data change history during game operations

  • Git-like Version Control System: UUID-based cross-environment/project entity tracking ensuring data consistency across 6 games
  • Event Sourcing-based Change Tracking: Auditable decorator + TypeORM Subscriber pattern for automated entity change recording pipeline
  • 3-Way Merge Engine: Multi-environment version merge system with parent/child entity conflict detection and unique constraint handling across 6 games
  • Version Diff Engine: Dual strategy of incremental comparison and snapshot comparison based on Base Audit availability for cost-efficient version diffing
  • Shared identifier-based Identification: Decoupled from PK dependency, ensuring accurate entity tracking during migration, comparison, and merge
TypeScript NestJS TypeORM MySQL

Marketing Integrated Platform

2025.02 ~ Present

Unified marketing platform managing Google Ads/Meta/TikTok campaigns, creatives, and metrics in a single system, built on dedicated marketing DB separation

  • Unified Campaign Automation: Built API for managing Google Ads/Meta/TikTok campaign creation, deployment, and modification in a single platform
  • Creative Auto-deployment Pipeline: Integrated pipeline from creative upload to automatic registration on Google/Meta/TikTok platforms
  • NAS-S3 Dual Sync: SQS event-based server-worker separation architecture for bidirectional sync/restore between internal NAS and S3
  • Meta Asset Sync Performance Optimization: ORM single-row saves to bulk operations conversion reducing Image sync time by 72% (25.7s→7.1s), DB transactions by 95% (10~16s→0.3~0.5s)
  • Lambda ARM64 Migration: Graviton2 architecture migration reducing creative processing Lambda costs by 20%
  • BigQuery Storage Read API Adoption: gRPC streaming-based high-performance data reading reducing BigQuery costs by 82% ($6.25→$1.1 per TB)
  • DB Optimization: Normalized 100+ column table (main/time-series/prediction split), index optimization and cursor-based pagination improving query performance from 18s to 0.5s
  • Retention Metrics Integration: Consistently applied retention metrics across the full pipeline from BigQuery ingestion to entity, API, and field metadata for user retention analysis
AWS Lambda Apache Arrow BigQuery GCP Pub/Sub Google Ads API Meta API MySQL NestJS S3 SQS BigQuery (Storage Read API) TikTok API TypeORM TypeScript gRPC

AWS Lambda Migration & Event-Driven Architecture

2025.06 ~ 2025.08

Resolved batch job limitations from marketing metrics 60-day → 360-day expansion and serverless transition for batch processing

  • Hybrid Architecture: Maintained API server (EC2) + separated batch/job processing (Lambda) for optimal resource utilization per workload
  • Event-Driven Architecture: SQS + Lambda + EventBridge-based async processing reducing batch processing time from 2hrs to 5min, expanding data collection range 6x (60 days → 360 days)
  • Transactional Outbox Pattern: Scheduled and delayed event publishing ensuring data consistency
  • Lambda Operational Stabilization: Batch Size bulk processing resolving throttling, CloudWatch log optimization reducing costs, build OOM remediation
  • RDS Proxy Connection Management: Resolved DB connection exhaustion during massive Lambda execution via RDS Proxy pooling
TypeScript NestJS AWS Lambda SQS SNS EventBridge RDS Proxy AWS CDK

Cloud Data Sync System

2025.08 ~ Present

Built S3-based sync and automated DDL management system to resolve dynamic game data inconsistency across environments

  • Cross-environment Data Sync: S3-based dynamic game data synchronization across development/staging/production environments
  • Automated DDL Management Engine: Dynamic PK column type resolution, column type mismatch detection with MODIFY, and automatic index creation/RENAME for schema sync automation
  • Save/Upload Performance Improvement: Analyzed and optimized Cloud Data ingestion and S3 upload bottlenecks, resolving large-scale processing delays
  • Sync Stabilization: Job separation, scheduling approach transition, timeout adjustments, and non-blocking processing for operational reliability
TypeScript NestJS TypeORM MySQL S3

Internal Common Library System

2025.07 ~ Present

Development and operation of NestJS utility (10 modules) + Game Server Kit (2 packages) for multi-project code consistency

  • 10-module Library System: Expanded to core, repository, cache, lock, slack, crypto, smb, hash, type, and iac modules
  • Repository Module: Bulk operations, Audit Log, TypeORM type narrowing support; refactored 2000+ line codebase into SRP-based file separation
  • Distributed Lock Module: ElastiCache (Redis)-based distributed lock decorator for concurrency control in multi-instance environments
  • TypeScript Generic-based Type Safety: Overcame TypeORM type limitations through function overloading and generics
  • Internal NPM Package Management: GitHub Packages-based distribution with CI optimization testing only changed packages
  • Game Server Kit Package Extraction: Extracted Sheet module + 5 submodules from game server monolith into @gameduo/glider-sheet package for multi-game project reuse, with 5-branch divergence analysis and conflict resolution
ElastiCache (Redis) GitHub NPM NestJS Slack API TypeORM TypeScript

Probability Calculation & Audit Log Analytics Pipeline (Glider Probability)

2026.02 ~ Present

Built probability calculation package and CDK-based audit log analytics infrastructure to address regulatory risk from lack of game probability verification

  • NestJS DynamicModule-based Probability Package: Packaged 5 probability functions + automatic Kinesis logging as @gameduo/glider-probability, integrated across 12 game projects
  • CDK-based Analytics Pipeline: Codified Kinesis → Firehose (Dynamic Partitioning + Parquet conversion) → S3 → Glue → Athena end-to-end probability audit log analytics infrastructure
  • LocalStack Integration Testing: Replaced mock tests with Testcontainers-based integration tests, achieving 12 suites 115 tests with 94%+ coverage
TypeScript NestJS AWS CDK Kinesis Firehose S3 Athena Glue Parquet LocalStack Testcontainers

Activities

Boosting Developer Productivity with Amazon Q Developer

Conference Talk
2025.10

Games on AWS 2025 Customer Session

Shared case study of a junior developer scaling data pipeline capacity 270x in just 10 days

Technical Skills

Node.js TypeScript NestJS TypeORM MySQL ElastiCache (Redis) BigQuery Apache Arrow gRPC AWS Lambda SQS SNS EventBridge S3 RDS Proxy AWS CDK GCP Pub/Sub Ad Platform APIs (Google, Meta, TikTok) Slack API GitHub NPM Kinesis / Firehose Athena Datadog