ROUND
생활 체육 대회의 대진표와 참가 신청, 결과 기록을 한 흐름으로 잇는 서비스를 만들고 있습니다.
256대진표 하나에 넣을 수 있는 최대 참가자 수
- 2026.09 ~ 현재
- Firstage
- 기획, 개발, 운영 (1인)

핵심 가치
회원 가입 없이 바로 대진표를 만들고, 결과를 고쳐도 지난 기록과 다음 경기가 어긋나지 않게 합니다.
성과
- 2명부터 256명까지, 한 번 지면 탈락하는 방식과 두 번 져야 탈락하는 방식을 모두 지원
- 같은 결과를 두 번 보내도 한 번만 기록
- 이미 치른 다음 경기에 영향을 주는 결과 수정은 영향을 확인한 뒤에만 기록에 덧붙임
- 정식 출시 전 미리보기 버전(0.6.0) 공개
기술 스택
배경
ROUND는 배드민턴, 테니스, 탁구처럼 작게 열리는 생활 체육 대회를 위한 서비스입니다. 대학생과 동호인이 알맞은 경기를 찾아 참가하고, 결과를 남긴 뒤 다음 도전을 고르는 경험을 목표로 합니다. 계정 없이 바로 대진표를 만드는 Quick과, 참가 신청부터 검토와 결과까지 다루는 주최 대회 기능으로 나뉩니다. 기획부터 프론트엔드, 백엔드, 배포까지 제가 혼자 맡습니다.
결정과 구현
- 대진표는 결정론 커널이 만듭니다. 2명부터 256명까지 싱글과 더블 엘리미네이션을 지원하고, 부전승에는 가짜 결과나 패자를 만들지 않습니다. 패자조로 내려가는 규칙에는 버전을 붙여 관리합니다.
- 결과 입력은 고유 ID와 기대 버전을 가진 명령으로만 받습니다. 같은 요청이 두 번 와도 한 번만 반영되고, 이미 끝난 다음 경기를 무효로 만드는 정정은 영향 목록을 검토한 뒤에만 기록에 덧붙입니다.
- Quick은 계정 없이 브라우저 안에서 동작합니다. 대진표 문서는 초기 참가자와 명령의 목록이라 언제 다시 계산해도 같은 결과가 나오고, JSON으로 내보내고 다시 들여올 수 있습니다.
- 대진표 캔버스는 데이터를 직접 바꾸지 않습니다. 키보드와 스크린 리더로 쓸 수 있는 같은 내용의 화면을 함께 둡니다.
- 대회마다 운영자, 기록원, 열람자, 재무, 부문 운영자 역할을 나누고, 공개 대진표 응답에서는 서버가 비공개 정보를 빼고 내보냅니다.
- 운영 DB를 마이그레이션하기 전에는 백업을 로컬에 복원해 기존 데이터가 그대로 보존되는지 먼저 확인합니다.
현재 상태
0.6.0 프리런치 프리뷰입니다. 검색 노출과 익명 대진표 공개는 아직 닫아 두었고, 참가비 결제와 정산, 모바일 앱, 경기 일정과 코트 배정은 아직 만들지 않았습니다.
