Featured Articles
Decision Records
- ArchitectureDetailsCesium Viewer Lifecycle Management and Crash PreventionADRCesiumReactWebGLcontextlifecycle
Fixed viewer crashes during rapid navigation by implementing per-route isolation, separated effects, and async guards
- ArchitectureDetailsPackage Build Pipeline and Type Safety in CIADRBuildCIMonorepoTurborepoTypeScripttsup
Migrated from source-based imports to proper package builds with full TypeScript validation in CI
- ArchitectureDetailsRSC Directives and Bundler LimitationsADRArchitectureDXNext.jsRSCReactbundler
Discovered bundler ecosystem gap with React Server Components directives, migrated UI package into web app
- InfrastructureDetailsAutomatic Type Generation for OpenAPIAPIDXOpenAPISwaggerTypeScriptautomation
Integrated automated TypeScript type generation from Swagger/OpenAPI specs
- ArchitectureDetailsRenewal of Header ComponentADRFramer MotionUI/UXdesignexperimentalstate-driven
Redesigned header as state-driven multi-role component: landing page, navigation bar, and transition mask in one
- InfrastructureDetailsStorybook + Vitest Integration for Component TestingDXStorybooktesting
Integrated Storybook stories with Vitest using @storybook/addon-vitest for unified component testing in browser environment
- PerformanceDetailsTimeline ImprovementADRNextJSSSRSoCarchitectureoptimizationperformancerefactoring
Reduced HTML from 319 KB to 257 KB (19% reduction) and separated markdown parsing so detail sections are parsed individually using Next.js parallel & intercepting route pattern
- ArchitectureDetailsPortfolio to Playground ReconstructionADRNextJSarchitecturerefactoring
Redefined portfolio as playground, and migrated system from file-based dynamic routes to static routes with centralized configuration, following `cesium-utils` page's architectural pattern
- ArchitectureDetailsBlog System MigrationPlaygroundADRASTCMSMarkdowncompatibilitydatabase-drivenmigrationpipeline
Migrated the blog system and routes of this project from file-based to database-driven having custom content management system.
Related:Playground - InfrastructureDetailsServerless Database IntegrationArticleNeonPrismadatabaseedge computingserverless
Integrated Prisma ORM with Neon PostgreSQL for serverless architecture, eliminating traditional backend framework
Related:Article - ArchitectureDetailsTimeline ImplementationADRcomponentdesign
Designed and implemented timeline for the project, inspired by monolith from 2001: A Space Odyssey
- InfrastructureDetailsTesting Framework MigrationDXJestPlaywrightVitesttesting
Migrated from Jest to Vitest for unit tests, added Playwright for E2E testing
- ArchitectureDetailsCesium Utils Page Architecture OverhaulArticleNextJSSoCZustandarchitecturecontextportabilityrefactor
Complete refactoring for portability, high cohesion, and separation of concerns using private folders and route-scoped context
Related:Article - PerformanceDetailsResium Removal: Native CesiumCesiumReactbundleoptimizationperformance
Removed Resium wrapper library (-1MB), implemented direct Cesium integration with custom React wrapper
- ExperimentDetailsMicro-Frontend ExperimentArticleMFEmulti-zoneperformancereversal
Implemented Next.js multi-zone architecture, then removed it after discovering 77% performance degradation
Related:Article - InfrastructureDetailsDocker Build OptimizationArticleCI/CDDevOpsDockeroptimization
Reduced Docker image from 526MB to 346MB (34% reduction) with 99% layer efficiency
Related:Article - PerformanceDetailsBundle OptimizationArticlebundlelazy loadingoptimizationperformance
Achieved 66-72% bundle size reduction through strategic lazy loading and dependency analysis
Related:Article - InfrastructureDetailsPackage Manager MigrationArticlePNPMYarn Berrymonorepopackage manager
Migrated from Yarn Berry PnP to PNPM due to Next.js standalone and Vercel monorepo incompatibility
Related:Article - ArchitectureDetailsMonorepo ArchitectureADRYarn Berryarchitecturemonoreposcalability
Restructured from single Next.js app to monorepo with shared packages
- FoundationDetailsProject InceptionNextJSPnPTypeScriptYarn Berry
Initial commit with standard single Next.js application, including various development tools and Yarn Berry PnP.


