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.04Resolved 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
Marketing Integrated Platform
2025.02 ~ PresentUnified 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 Migration & Event-Driven Architecture
2025.06 ~ 2025.08Resolved 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
Cloud Data Sync System
2025.08 ~ PresentBuilt 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
Internal Common Library System
2025.07 ~ PresentDevelopment 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
Probability Calculation & Audit Log Analytics Pipeline (Glider Probability)
2026.02 ~ PresentBuilt 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