개발노트

ZUDO: 기숙사 전체를 하나의 앱으로 묶을 수 있을까

종이 출석부, 엑셀, 단톡방을 걷어내고 남은 것들

김태영, 홍창욱Nov 24, 2025
기숙사 관리실시간학생 안전
개발노트

ZUDO: 기숙사 전체를 하나의 앱으로 묶을 수 있을까

DoRm이 교육 현장 문제를 어떻게 기술과 실험으로 풀어가는지 기록합니다.

zudo.my

이 글의 문제의식

기숙사 관리의 문제를 한 문장으로 줄이면, 정보가 흩어져 있다는 것입니다.

출석은 종이 출석부에, 외박 신청은 엑셀에, 긴급 연락은 카카오톡 단체방에, 상벌점은 담당 교사의 수첩에 있었습니다. 단순히 불편한 수준이 아닙니다. 사감이 교대할 때 인수인계가 누락되고, 학생 위치를 파악하는 데 시간이 걸리며, 학부모는 자녀가 기숙사에 돌아왔는지를 전화해서야 알 수 있었습니다. 정보 비대칭이 학생 안전 관리의 사각지대로 직결되는 상황이었습니다.

주도는 이 문제를 풀기 위해 시작됐습니다. 출결, 외박, 상벌점, 방과후, 건강 기록, 일일보고서까지 기숙사 운영에 필요한 모든 것을 하나의 플랫폼에 담는 것. 2025년 10월부터 개발을 시작해 2026년 3월 경기북과학고등학교에 정식 도입했고, 지금 매일 실사용 중입니다.

사감, 교사, 학부모가 같은 데이터를 다르게 봐야 한다

기숙사에는 사감, 사감장, 점호 담당, 교사, 학생, 학부모가 있습니다. 같은 출결 데이터를 놓고도 사감은 "지금 이 방에 누가 없는가"가 급하고, 교사는 "이 학생의 출결 패턴이 어떤가"가 중요하고, 학부모는 "내 아이가 돌아왔는가"만 알면 됩니다.

하나의 화면으로는 모두를 만족시킬 수 없었습니다. 동일한 출결 데이터를 7가지 뷰로 시각화했습니다. 위치별, 학생별, 2D 공간, 칸반, 캘린더, 갤러리, 분석 차트. 사감은 공간 뷰에서 빈 자리를 한눈에 파악하고, 교사는 캘린더와 분석 뷰로 결석 패턴을 추적합니다.

역할별로 접근할 수 있는 데이터가 달라야 합니다. IT에 익숙하지 않은 선생님들이 쓰는 시스템이라 프론트엔드 검증만으로는 부족했습니다. Supabase의 Row-Level Security를 전면 적용하고 8단계 역할 계층을 DB 수준에서 강제하는 구조를 선택했습니다. 프론트엔드 코드가 조작되어도 권한 밖 데이터에 접근할 수 없습니다.

대리 출석을 막으면서도 귀찮지 않게

학생 출입 기록을 자동화해야 했지만 대리 출석은 막아야 합니다. QR 코드만으로는 사진을 찍어서 공유할 수 있습니다. 물리 QR 스캐너와 시간 기반 일회용 비밀번호를 결합한 이중 인증을 설계했습니다. 지각이나 무단 외출은 자동 벌점 규칙으로 처리되고, 사감의 수동 확인 부담이 크게 줄었습니다.

학생 모바일(/m), 학부모 포털(/p), 점호 전용(/rc)을 독립 도메인으로 분리한 것도 같은 맥락입니다. 반응형 디자인만으로는 역할별로 완전히 다른 사용 동선을 커버할 수 없었습니다. 학생은 출입과 연장학습 확인이 주요 동선이고, 학부모는 자녀 귀사 여부만 빠르게 확인하고 싶고, 점호 담당은 체크리스트를 효율적으로 처리해야 합니다.

예상 못한 변화 — 교사들의 반응

가장 놀라웠던 건 교사들의 반응이었습니다. 원래 사감 중심으로 설계했지만, 도입 후 교사들이 퇴근 후에도 학생 데이터를 적극 활용하기 시작했습니다. 출결 패턴으로 결석을 감지하고, 상벌점 추이로 행동 변화를 추적하며, 일일보고서로 기숙사 상황을 파악합니다.

"교사가 학교에 없어도 학생을 돌볼 수 있는 시스템" — 이것이 현장에서 가장 크게 체감하는 가치였습니다. 학부모에게는 "열어보면 알 수 있는 시스템"이고, 학생에게는 "내 기숙사 생활이 내 손 안에 있다"는 자율성과 투명성입니다.

실패한 것들

방과후 모듈 초기 설계에서 출석 위치를 학습실이 아닌 원래 교실 기준으로 추적하는 구조적 결함이 있었습니다. 개별 기능은 동작했지만 전체 파이프라인을 관통하는 테스트가 없어서 배포 후에야 발견했습니다.

185개의 마이그레이션이 쌓이면서 로컬 환경 세팅 시간도 늘어났습니다. 다시 한다면 초기 스키마 설계에 더 시간을 투자했을 것입니다.

종이에서 디지털로 전환할 때 가장 중요한 것은 "덜 귀찮게"였습니다. 기존보다 한 단계라도 더 귀찮으면 현장에서 안 씁니다. 클릭 수를 줄이는 게 기능 추가보다 중요하다는 걸 IT에 익숙하지 않은 선생님들과 일하며 체감했습니다.

배운 점

기숙사는 학생이 하루의 대부분을 보내는 공간입니다. 그 공간의 안전과 관리가 종이와 메신저에 의존하고 있었다는 것 자체가 문제였습니다. 주도가 해결하려는 것은 단순한 디지털 전환이 아니라, 학생 안전 관리 체계의 근본적 개선입니다.

사용자 범위를 넓게 잡는 것이 제품의 가치를 키운다는 것도 배웠습니다. 사감만을 위한 도구가 아니라 교사, 학부모, 학생 모두가 연결되는 플랫폼이 되었을 때, 기숙사 운영의 정보 비대칭이 비로소 해소됩니다.

다음 단계

지금은 현장 피드백을 기반으로 지속 개선하는 단계입니다. 한 학교에서 깊이 쓰이는 경험을 단단하게 만드는 것이 우선이고, 이후 추가 학교 확장을 검토하고 있습니다.

Knowledge Base

주도(ZUDO) 지식 보기

주도(ZUDO) 프로젝트에 대해 팀과 소통하기