Email copied to clipboard!

Revamping the Tech Blog: A Leap Towards 'Research Institute' Aesthetics

Beauty Insight Editor
2026-01-212 min read
Executive Summary (요약)
  • 블로그 전면 개편: 'Beauty Insight Lab'의 전문성을 강조하기 위해 블로그 리스트와 상세 페이지의 UI/UX를 완전히 재설계했습니다.
  • 사용자 경험(UX) 강화: 긴 기술 문서를 편하게 읽을 수 있도록 Sticky 목차(TOC), 진행률 바(Progress Bar), 예상 읽기 시간 기능을 도입했습니다.
  • 하이브리드 레이아웃 구현: 엔지니어링 블로그(Grid)와 데일리 리포트(List)를 효과적으로 보여주는 하이브리드 레이아웃을 완성했습니다.

Technical Implementation (구현 상세)

1. Blog Index Page (/blog)

  • Hybrid Layout:
    • Engineering Posts: Displayed as a 2-column Grid for visual impact.
    • Daily Reports: Displayed as a dense List in the sidebar (latest 5) or main column when filtered.
  • Pagination Logic: Implemented server-side pagination (6 items per page) to optimize load performance.
  • Visuals: Added a "Featured Post" Hero section with dynamic gradients and glassmorphism effects.

2. Blog Detail Page (/blog/[slug])

  • Sticky Table of Contents (TOC):
    • Desktop: A sticky sidebar that highlights the active section while scrolling using IntersectionObserver.
    • Mobile: A collapsible Accordion component at the top of the article.
  • Reading Enhancements:
    • Scroll Progress Bar: A minimal blue line at the top indicating reading progress (framer-motion).
    • Typography: Increased line-height and font size for better readability.
    • Metadata: Added "Read Time" calculation and Author Profile.

3. Custom MDX Components

We created a suite of custom React components to enrich our technical documentation:

  • <Callout>: For Tips, Warnings, and Notes.
  • <CodeBlock>: Mac-OS style terminal windows with copy functionality.
  • <ImageBlock>: Enhanced image containers with rounded corners and captions.
  • <Breadcrumb>: Clear navigation paths for deep linking.
// Example: MDX Component Mapping
const mdxComponents = {
    Callout,
    ImageBlock,
    pre: CodeBlock, // Maps standard markdown code blocks to our custom component
};
Troubleshooting Log

[Issue] Pagination Logic Conflict

  • Error: When filtering by "Daily Report", the sidebar duplicated contents or the main list didn't paginate correctly.
  • Root Cause: The slicing logic for the main column and sidebar was interdependent.
  • Solution: Decoupled the data streams. sidebarReports is now a fixed slice (0-5), while mainList is dynamic based on the active filter and page number.
Insights

Why 'Vercel-style' matters?
Tech blogs are not just content repositories; they are branding assets. Adopting a clean, typography-focused, and interactive design (like Vercel or Linear) immediately signals engineering maturity and attention to detail, which is crucial for our "AI-First" brand image.