Hampass

아마추어 무선기사 시험을 반복 학습할 수 있도록 3급과 1급 문제은행, 해설, 신고 기반 개선 루프를 갖춘 운영형 PWA입니다.
운영중아마추어 무선자격시험학습Next.jsPWAStudy App

Hampass는 아마추어 무선기사 시험을 준비하면서 "기출문제를 더 안정적으로 반복할 수 있는 도구가 있으면 좋겠다"는 필요에서 시작한 학습 앱입니다. 처음에는 3급 전화급 전파법규를 빠르게 풀어보는 문제은행에 가까웠지만, 지금은 1급 전 과목, 문제별 해설, 오류 신고, 업데이트 기록까지 포함하는 운영형 PWA로 다듬고 있습니다.

누구를 위한 앱인가

Hampass의 사용자는 아마추어 무선기사 시험을 준비하는 사람입니다. 특히 모바일로 자투리 시간에 문제를 풀고, 틀린 문제를 다시 확인하고, 시험 직전까지 감을 유지해야 하는 사람을 기준으로 만들고 있습니다.

그래서 앱의 중심은 화려한 기능보다 반복 학습의 마찰을 줄이는 데 있습니다. 로그인 없이 바로 시작하고, 중간에 멈춰도 세션을 복원하며, 정답만 보여주는 대신 왜 틀렸는지까지 확인할 수 있게 구성했습니다.

핵심 학습 흐름

  • 3급 전화급 전파법규와 1급 5개 과목 학습
  • 실제 시험 흐름에 가까운 랜덤 모의고사
  • 빈출 문제와 비빈출 문제를 섞은 집중 학습
  • 카테고리별 학습과 전체 문제 마스터 모드
  • 정답 해설, 오답 해설, 학습 팁, 유사 문제 연결
  • 부정형 문제 강조, 세션 저장/복원, 키보드 단축키
  • KaTeX 수식, 모스부호, 이미지 문제 렌더링

3급과 1급은 문제 구조와 학습 흐름이 다르기 때문에 라우트와 저장 키를 등급/과목 단위로 분리했습니다. 1급은 전파법규, 통신보안, 전파공학, 무선통신술, 영어를 각각 독립된 학습 단위로 다룹니다.

데이터와 해설 구조

이 앱에서 가장 오래 손보는 부분은 문제 데이터입니다. 단순히 정답 번호를 맞히는 앱이라면 빨리 만들 수 있지만, 실제 학습 앱으로 쓰려면 문제 유형, 빈출도, 오답 이유, 유사 문제, 부정형 문항 여부가 함께 관리되어야 합니다.

그래서 문제 데이터는 정답 중심 구조에서 해설 중심 구조로 옮겨가고 있습니다. 각 문제는 상세 해설, 오답별 해설, 학습 팁을 담고, 빈출도는 배지와 유사 문제 연결에 활용합니다. 사용자가 틀린 문제를 봤을 때 "아, 이 선택지가 왜 아닌지"까지 이해할 수 있게 만드는 것이 목표입니다.

운영과 피드백 루프

Hampass는 한 번 배포하고 끝나는 정적 문제은행이 아니라, 사용자 신고를 받아 계속 고치는 앱입니다. 문제 오류 신고는 Google Sheets API로 모으고, 신고 내역을 검토해 데이터 수정과 업데이트 기록으로 연결합니다.

이 흐름은 개인 프로젝트지만 운영 제품에 가까운 기준으로 다루고 있습니다. 신고 남용을 줄이기 위한 제한, 개인정보 노출을 줄이는 표시 방식, 후원자와 업데이트 기록 정리까지 함께 챙기고 있습니다.

기술 스택과 설계

기술적으로는 Next.js App Router, TypeScript, Tailwind CSS, Jest, React Testing Library를 사용합니다. 도메인 로직은 Clean Architecture 형태로 분리해 문제 저장소, 퀴즈 세션, 결과 계산, progressive 학습 상태가 UI와 느슨하게 연결되도록 만들었습니다.

SEO와 PWA도 별도의 작업 축으로 두었습니다. 문제은행과 소개 페이지는 검색 유입을 받을 수 있게 메타데이터와 JSON-LD를 정리하고, 실제 퀴즈 실행 페이지는 검색 결과에 노출되지 않도록 분리했습니다.

앞으로 개선할 것

  • 1급 과목별 문제 품질과 이미지/수식 렌더링 QA 강화
  • 모바일에서 장시간 학습할 때의 피로도와 이동 흐름 개선
  • 문제 수정 내역을 블로그 릴리즈 노트와 더 촘촘하게 연결
  • 검색 등록, 업데이트 히스토리, 사용자 피드백을 운영 기록으로 정리

Hampass는 취미에서 출발했지만, 지금은 데이터 품질과 학습 UX, 검색 노출, 운영 피드백 루프를 모두 다루는 실전적인 사이드 프로젝트가 되었습니다. 이 블로그에서는 앞으로 기능 소개보다 "왜 이렇게 바꿨는지"와 "운영하면서 무엇을 배웠는지"를 중심으로 기록하려고 합니다.

Hampass 열기

관련 노트

모두 보기