피드로 돌아가기
Dev.toBackend
원문 읽기
localStorage와 Cloudflare KV를 활용한 No-Account 리더보드 설계
How I built a no-account leaderboard for my typing game — and why I’ll never ask for signup
AI 요약
Context
계정 생성 절차로 인한 사용자 이탈 방지와 경쟁 심리 유도를 위한 최소 마찰 설계 필요. 기존 계정 기반 시스템의 높은 진입 장벽이 사용자 경험의 연속성을 저해하는 병목 지점으로 작용.
Technical Solution
- localStorage 기반의 무작위 Handle 할당을 통한 Client-side Persistent Identity 레이어 구현
- Cloudflare KV를 활용하여 일자별 Key 구조로 리더보드 데이터를 관리하는 Stateless 아키텍처 채택
- 서버 측 Upsert 로직을 통해 동일 Handle의 최고 점수만 유지하며 상위 50명으로 데이터 캡핑
- TTL(Time-To-Live) 설정을 통한 자동 데이터 만료 처리로 별도 Cron Job 없는 암시적 Daily Reset 구현
- IP 기반 Rate Limiting과 WPM 상한선 설정을 통한 최소한의 서버 사이드 Soft Filter 적용
- Handle 변경 기능을 제공하여 사용자 정체성 투자를 유도하되 24시간 락킹으로 남용 방지
실천 포인트
사용자 유입 단계의 Friction을 제거하기 위해 정식 계정 대신 localStorage 기반 임시 식별자를 우선 도입하고, 서비스 성장 단계에 맞춰 점진적으로 계정 체계로 전환하는 전략 검토