Skip to main content

스터디 팀 배정 앱 만들기

Views 102약 11분생성형 AI 활용

매번 팀을 나누는 일이 은근히 어렵다면

스터디를 운영해본 사람이라면 한 번쯤 이런 상황을 겪습니다. 참가자는 18명인데 3명씩 팀을 나눠야 합니다. 어떤 사람은 월요일 저녁만 가능하고, 어떤 사람은 초보자끼리만 모이면 부담스럽다고 말합니다. 또 어떤 사람은 발표를 좋아하고, 어떤 사람은 조용히 실습하는 편을 선호합니다.

처음에는 엑셀이나 메모장으로 충분해 보입니다. 이름을 적고, 시간을 보고, 주제를 맞춰보고, 숙련도를 섞어봅니다. 그런데 참가자가 조금만 늘어나도 머리가 복잡해집니다. 한 사람을 옮기면 다른 팀 균형이 깨지고, 시간을 맞추면 주제가 안 맞고, 숙련도를 섞으면 인원이 안 맞습니다.

이번 장에서는 이런 반복 작업을 줄여주는 스터디 팀 배정 앱을 만들어봅니다. 이 앱은 참가자 정보를 입력하면 기준에 따라 팀을 나눠주고, 결과를 카드나 표로 보여줍니다. 운영자는 결과를 확인한 뒤 마음에 들지 않는 부분만 다시 조정하면 됩니다.

중요한 점은 이 앱이 완벽한 인사 배치 시스템이 아니라는 것입니다. 첫 버전의 목표는 단순합니다. 참가자 정보를 입력하고, 팀을 나누고, 결과를 복사해서 공지에 붙여넣을 수 있게 만드는 것입니다.

반복되는 팀 배정 작업은 초보자가 AI 앱 빌더로 만들기 좋은 자동화 예제입니다. 규칙이 비교적 분명하고, 결과가 눈에 보이며, 조금 이상하게 나와도 프롬프트로 바로 고칠 수 있기 때문입니다.

스터디 팀 배정 앱 만들기

이 앱을 만드는 이유

스터디 팀 배정은 겉보기보다 판단 요소가 많습니다. 단순히 이름을 섞는 일 같지만 실제 운영에서는 여러 조건이 따라붙습니다.

예를 들어 독서 모임에서는 관심 주제가 비슷한 사람끼리 묶는 것이 좋을 수 있습니다. 코딩 스터디에서는 초보자와 경험자를 적절히 섞는 편이 도움이 됩니다. 회화 스터디에서는 가능한 시간이 맞지 않으면 아무리 좋은 팀이라도 운영이 어렵습니다.

이런 작업을 매번 손으로 하다 보면 운영자는 팀 배정 자체에 지치게 됩니다. 정작 중요한 것은 스터디 내용인데, 준비 시간의 상당 부분을 팀 나누기에 쓰게 되는 것입니다.

스터디 팀 배정 앱은 이런 상황에서 작은 비서처럼 작동합니다. 참가자 정보를 정리하고, 기준에 따라 결과를 만들어주며, 운영자가 마지막 판단을 할 수 있게 도와줍니다.

이 앱을 통해 우리는 다음 흐름을 연습합니다.

  • 여러 명의 참가자 정보를 입력받기

  • 무작위 배정과 조건 기반 배정의 차이를 이해하기

  • 배정 결과를 카드나 표로 보여주기

  • 결과를 복사해서 카카오톡, 이메일, 노션, 구글 문서 등에 붙여넣기

  • 결과가 이상할 때 AI에게 기준을 더 분명히 알려 수정하기

여기서 핵심은 "AI가 알아서 공정하게 해주겠지"라고 맡기는 것이 아닙니다. 내가 원하는 배정 기준을 말로 잘 설명하고, 결과를 보고 다시 조정하는 것입니다. 바이브 코딩은 코딩을 안 배워도 된다는 뜻이 아니라, 내가 원하는 것을 AI가 이해하게 설명하는 기술입니다.

완성 후 모습 상상하기

완성된 앱은 복잡하지 않아도 됩니다. 화면은 크게 세 부분이면 충분합니다.

첫 번째는 참가자 입력 영역입니다. 이름, 희망 주제, 가능 시간, 숙련도 같은 정보를 입력합니다. 한 명씩 추가할 수도 있고, 여러 명을 한꺼번에 붙여넣는 방식도 생각해볼 수 있습니다. 처음 버전에서는 한 명씩 입력하는 방식이 더 쉽습니다.

두 번째는 배정 기준 선택 영역입니다. 예를 들어 "무작위로 배정", "희망 주제를 우선해서 배정", "가능 시간을 우선해서 배정", "숙련도를 골고루 섞어서 배정"처럼 운영자가 기준을 선택할 수 있습니다. 초보자용 MVP에서는 모든 기준을 완벽하게 처리하지 않아도 됩니다. 먼저 무작위 배정과 간단한 조건 기반 배정만 구현해도 충분합니다.

세 번째는 결과 영역입니다. 팀 1, 팀 2, 팀 3처럼 카드 형태로 보여주거나, 표 형태로 보여줄 수 있습니다. 각 팀 카드에는 팀원 이름과 주요 정보가 함께 표시됩니다. 그리고 결과를 한 번에 복사할 수 있는 버튼이 있으면 실제 운영에 바로 사용할 수 있습니다.

예를 들면 이런 결과입니다.

팀팀원희망 주제가능 시간숙련도
1팀김민지, 박준호, 이서연마케팅, 마케팅, 브랜딩화요일 저녁초급, 중급, 초급
2팀최도윤, 정하늘, 오유진글쓰기, 글쓰기, 콘텐츠목요일 저녁중급, 초급, 고급
3팀한지우, 강민석, 윤서아AI, AI, 자동화토요일 오전초급, 중급, 중급

처음부터 완벽한 알고리즘을 만들려고 하지 않아도 됩니다. 알고리즘은 문제를 푸는 절차나 규칙을 말합니다. 여기서는 "어떤 기준으로 사람을 나눌 것인가" 정도로 이해하면 됩니다. 식당에서 손님을 자리로 안내할 때 "4명은 큰 테이블, 2명은 창가 자리, 예약 손님은 안쪽 자리"처럼 기준을 정하는 것과 비슷합니다.

필요한 기능 정리하기

이번 앱의 첫 버전에는 꼭 필요한 기능만 넣겠습니다. 팀 배정 앱은 욕심을 내면 금방 어려워집니다. 로그인, 참가자별 선호도 점수, 자동 이메일 발송, 캘린더 연동까지 넣고 싶어질 수 있지만, 첫 앱에서는 이런 기능을 과감히 빼는 편이 좋습니다.

첫 버전에 넣을 기능은 다음과 같습니다.

  • 참가자 이름 입력

  • 희망 주제 입력

  • 가능 시간 입력

  • 숙련도 선택

  • 참가자 목록에 추가

  • 팀당 인원 수 설정

  • 무작위 배정 실행

  • 간단한 조건 기반 배정 실행

  • 팀 배정 결과 표시

  • 결과 복사 버튼

  • 참가자 삭제 또는 전체 초기화

이 정도면 스터디 운영자가 실제로 써볼 수 있는 작은 도구가 됩니다. 특히 결과 복사 버튼은 중요합니다. 앱 안에서 결과를 보는 것만으로는 실제 운영에 쓰기 어렵습니다. 운영자는 결과를 카카오톡 단체방, 문자, 이메일, 노션 페이지, 공지글에 옮겨야 합니다. 그러므로 "보기 좋은 결과"만큼 "복사하기 쉬운 결과"도 중요합니다.

처음 버전에서 제외할 기능도 분명히 적어야 합니다.

  • 로그인 기능

  • 참가자 본인이 직접 신청하는 공개 신청 페이지

  • 이메일 또는 문자 자동 발송

  • 구글 캘린더 연동

  • 결제 기능

  • 복잡한 점수 기반 매칭

  • 관리자 권한 구분

  • 데이터베이스를 이용한 장기 저장

이 기능들이 나쁘다는 뜻은 아닙니다. 다만 첫 버전에는 무겁습니다. 처음에는 운영자가 직접 참가자 정보를 입력하고, 배정 결과를 확인하고, 복사해서 공유하는 정도로 시작하면 됩니다.

무작위 배정과 조건 기반 배정의 차이

팀 배정 앱에서 가장 먼저 구분해야 할 것은 무작위 배정과 조건 기반 배정입니다.

무작위 배정은 말 그대로 사람을 섞어서 팀을 나누는 방식입니다. 제비뽑기와 비슷합니다. 참가자 이름이 적힌 종이를 상자에 넣고 흔든 뒤, 순서대로 꺼내 팀을 만드는 것입니다. 기준이 단순하다는 장점이 있습니다. 하지만 가능 시간이 다른 사람이 같은 팀에 묶이거나, 초보자만 한 팀에 몰릴 수 있습니다.

조건 기반 배정은 정해진 기준을 고려해 팀을 나누는 방식입니다. 예를 들어 가능 시간이 같은 사람끼리 묶거나, 숙련도가 골고루 섞이게 하거나, 희망 주제가 비슷한 사람끼리 배정하는 것입니다. 식당 자리 배치로 비유하면 무작위 배정은 "오는 순서대로 아무 자리에 앉히기"이고, 조건 기반 배정은 "아이 동반 손님은 넓은 자리, 조용한 대화를 원하는 손님은 안쪽 자리, 단체 손님은 큰 테이블"처럼 상황을 고려하는 방식입니다.

초보자에게는 처음부터 복잡한 조건 기반 배정을 요구하지 않는 것이 좋습니다. AI 앱 빌더에게 "모든 조건을 완벽하게 만족하는 최적의 팀을 만들어줘"라고 요청하면 결과가 애매해질 수 있습니다. 대신 기준의 우선순위를 정해줘야 합니다.

예를 들어 이렇게 말하는 편이 좋습니다.

팀 배정 기준은 다음 순서로 적용해줘.
1. 가능 시간이 같은 사람끼리 우선 배정해줘.
2. 같은 시간 안에서는 희망 주제가 비슷한 사람끼리 묶어줘.
3. 가능하면 초급, 중급, 고급이 한 팀에 골고루 섞이게 해줘.
4. 모든 조건을 완벽히 만족하지 못하면 가능 시간을 가장 우선해줘.

이 문장에서 중요한 부분은 마지막 줄입니다. "모든 조건을 완벽히 만족하지 못하면 무엇을 가장 우선할지"를 알려주는 것입니다. 현실의 팀 배정은 모든 조건을 동시에 만족하기 어렵습니다. 그래서 AI에게 우선순위를 알려줘야 합니다.

이 장에서 만들 MVP

이번 장의 MVP는 다음과 같이 정의하겠습니다.

"스터디 운영자가 참가자 이름, 희망 주제, 가능 시간, 숙련도를 입력하면 팀당 인원 수에 맞춰 팀을 자동으로 나누고, 결과를 카드와 복사용 텍스트로 보여주는 웹앱."

이 문장 안에는 앱의 핵심이 모두 들어 있습니다. 누가 쓰는지, 무엇을 입력하는지, 어떤 결과가 나오는지, 어떤 형태로 보여주는지가 분명합니다.

화면은 다음처럼 구성합니다.

화면 영역역할
참가자 입력 영역이름, 희망 주제, 가능 시간, 숙련도를 입력한다
참가자 목록 영역추가된 참가자를 확인하고 삭제한다
배정 설정 영역팀당 인원 수와 배정 방식을 선택한다
결과 영역팀별 배정 결과를 카드 또는 표로 보여준다
복사 영역공지에 붙여넣기 쉬운 텍스트를 제공한다

여기서 데이터베이스는 필수가 아닙니다. 데이터베이스는 정보를 저장하는 장부나 엑셀 파일 같은 역할을 합니다. 하지만 이번 앱은 첫 실습이므로 브라우저 안에서만 임시로 작동해도 됩니다. 다만 새로고침하면 데이터가 사라질 수 있습니다. 실제 운영에 쓰려면 나중에 로컬 저장이나 클라우드 저장을 붙일 수 있습니다.

로컬 저장은 내 기기 안에 정보를 저장하는 방식입니다. 개인 메모장처럼 내 브라우저에만 남습니다. 클라우드 저장은 인터넷상의 저장 공간에 정보를 보관하는 방식입니다. 여러 기기나 여러 사람이 함께 볼 수 있지만, 그만큼 보안과 권한 관리가 중요해집니다. 이번 장에서는 먼저 앱의 구조와 흐름을 익히는 데 집중하겠습니다.

앱 생성 프롬프트

이제 AI 앱 빌더에게 첫 요청을 보낼 차례입니다. Lovable, Replit Agent, Bolt.new 같은 앱 빌더형 도구에서 시작하는 것을 추천합니다. 유명한 개발자형 도구가 초보자에게 항상 쉬운 도구는 아닙니다. 처음에는 앱 빌더형 도구로 성공 경험을 만드는 것이 중요합니다.

아래 프롬프트를 그대로 복사해서 사용할 수 있습니다.

나는 코딩을 모르는 스터디 운영자입니다.
스터디 참가자를 팀으로 자동 배정하는 간단한 웹앱을 만들고 싶습니다.

앱의 목적은 참가자 정보를 입력한 뒤 팀당 인원 수에 맞춰 팀을 나누고, 결과를 공지에 복사해서 붙여넣기 쉽게 만드는 것입니다.

사용자는 스터디 운영자 1명입니다. 일반 참가자가 직접 로그인해서 쓰는 앱은 아닙니다.

필요한 기능은 다음과 같습니다.
1. 참가자 이름을 입력할 수 있게 해주세요.
2. 희망 주제를 입력할 수 있게 해주세요. 예: AI, 마케팅, 글쓰기, 독서, 코딩
3. 가능 시간을 입력하거나 선택할 수 있게 해주세요. 예: 월요일 저녁, 수요일 저녁, 토요일 오전
4. 숙련도를 선택할 수 있게 해주세요. 예: 초급, 중급, 고급
5. 참가자 추가 버튼을 누르면 아래 목록에 참가자가 표시되게 해주세요.
6. 참가자 목록에서 개별 참가자를 삭제할 수 있게 해주세요.
7. 팀당 인원 수를 설정할 수 있게 해주세요.
8. 배정 방식은 '무작위 배정'과 '조건 기반 배정' 두 가지로 만들어주세요.
9. 무작위 배정은 참가자 순서를 섞어서 팀당 인원 수에 맞게 나눠주세요.
10. 조건 기반 배정은 가능 시간이 같은 사람을 우선으로 묶고, 그다음 희망 주제가 비슷한 사람을 묶고, 가능하면 숙련도가 골고루 섞이게 해주세요.
11. 배정 결과는 팀별 카드 형태로 보여주세요.
12. 각 팀 카드에는 팀원 이름, 희망 주제, 가능 시간, 숙련도를 표시해주세요.
13. 전체 결과를 공지용 텍스트로 복사할 수 있는 '결과 복사' 버튼을 만들어주세요.
14. 전체 참가자와 배정 결과를 초기화하는 버튼을 만들어주세요.

화면 구성은 다음 순서로 해주세요.
- 상단: 앱 제목과 짧은 설명
- 중간 왼쪽: 참가자 입력 폼
- 중간 오른쪽: 참가자 목록
- 하단: 팀 배정 설정과 결과 카드

디자인은 초보 스터디 운영자가 쓰기 편한 깔끔한 업무용 도구 느낌으로 해주세요.
색상은 흰색 배경, 연한 파란색 포인트, 읽기 쉬운 글자 크기를 사용해주세요.
모바일에서도 사용하기 쉽게 반응형으로 만들어주세요.

처음 버전에서는 로그인, 데이터베이스 저장, 이메일 발송, 문자 발송, 결제, 구글 캘린더 연동은 제외해주세요.
먼저 MVP로 작동하는 버전을 만들어주세요.

이 프롬프트는 조금 길어 보일 수 있습니다. 하지만 초보자의 첫 프롬프트는 짧고 멋진 문장보다 구체적인 문장이 더 좋습니다. AI 앱 빌더는 내 머릿속을 읽지 못합니다. "스터디 팀 배정 앱 만들어줘"라고만 말하면 어떤 정보를 입력받아야 하는지, 어떤 기준으로 배정해야 하는지, 결과를 어떻게 보여줘야 하는지 제멋대로 해석할 수 있습니다.

결과를 확인할 때 볼 것

앱이 생성되면 바로 마음에 드는지 아닌지를 판단하기보다, 먼저 작동 여부를 확인해야 합니다. 디자인이 조금 투박해도 괜찮습니다. 첫 단계에서는 예쁜 앱보다 작동하는 앱이 먼저입니다.

테스트용 참가자 데이터를 넣어봅시다.

이름희망 주제가능 시간숙련도
김민지AI화요일 저녁초급
박준호AI화요일 저녁중급
이서연마케팅목요일 저녁초급
최도윤마케팅목요일 저녁고급
정하늘글쓰기토요일 오전중급
오유진글쓰기토요일 오전초급
한지우AI화요일 저녁고급
강민석독서토요일 오전초급

이 데이터를 넣고 팀당 인원 수를 2명 또는 3명으로 설정해봅니다. 그다음 무작위 배정과 조건 기반 배정을 각각 눌러봅니다.

확인해야 할 것은 다음과 같습니다.

  • 참가자 추가 버튼을 눌렀을 때 목록에 정상적으로 들어가는가

  • 참가자 삭제 버튼이 작동하는가

  • 팀당 인원 수를 바꾸면 결과도 달라지는가

  • 무작위 배정 결과가 매번 적절히 섞이는가

  • 조건 기반 배정이 가능 시간이나 희망 주제를 어느 정도 반영하는가

  • 결과 복사 버튼을 눌렀을 때 텍스트가 제대로 복사되는가

  • 모바일 화면에서 입력 폼과 결과 카드가 너무 좁거나 깨지지 않는가

여기서 "어느 정도"라는 표현이 중요합니다. 첫 MVP에서 조건 기반 배정이 완벽할 필요는 없습니다. 다만 AI가 만든 결과가 내가 의도한 기준과 너무 다르면 수정 요청을 해야 합니다.

1차 수정 프롬프트: 배정 기준을 더 분명히 하기

팀 배정 결과가 이상하게 나오는 가장 흔한 이유는 기준이 모호하기 때문입니다. 예를 들어 "비슷한 사람끼리 묶어줘"라는 말은 사람마다 다르게 해석됩니다. 비슷하다는 것이 시간인지, 주제인지, 숙련도인지 분명하지 않습니다.

결과가 마음에 들지 않을 때는 이렇게 수정 요청을 해보세요.

현재 조건 기반 배정 결과가 제가 원하는 방식과 조금 다릅니다.
배정 기준을 더 명확히 수정해주세요.

조건 기반 배정은 다음 우선순위로 작동해야 합니다.
1. 가능 시간이 같은 사람끼리 우선 배정합니다.
2. 가능 시간이 같은 사람들 안에서는 희망 주제가 같은 사람끼리 우선 묶습니다.
3. 같은 팀 안에 숙련도가 초급만 몰리지 않도록, 가능하면 초급과 중급 또는 고급이 섞이게 합니다.
4. 모든 조건을 만족할 수 없을 때는 가능 시간을 가장 우선합니다.
5. 남는 인원이 있으면 마지막 팀에 배정하되, 왜 그렇게 배정되었는지 간단한 안내 문구를 보여주세요.

배정 결과 카드에는 각 팀의 기준 요약도 표시해주세요.
예: '화요일 저녁 가능자 중심, AI 관심자 중심, 숙련도 혼합'

이 프롬프트는 AI에게 "무엇이 가장 중요한지"를 알려줍니다. 조건이 여러 개일 때는 우선순위가 핵심입니다. 우선순위가 없으면 AI는 보기에는 그럴듯하지만 실제 운영에는 애매한 결과를 만들 수 있습니다.

디자인 개선 프롬프트: 운영자가 바로 쓰기 편하게

기능이 어느 정도 작동한다면 이제 디자인을 다듬을 차례입니다. 디자인 수정은 단순히 예쁘게 만드는 일이 아닙니다. 운영자가 실수하지 않고 빠르게 쓸 수 있게 만드는 일입니다.

스터디 팀 배정 앱에서는 입력 폼, 참가자 목록, 결과 카드가 한눈에 구분되어야 합니다. 참가자가 많아질수록 화면이 복잡해지기 때문입니다.

아래 프롬프트를 사용해보세요.

앱의 디자인을 스터디 운영자가 실제로 사용하기 편하게 개선해주세요.

원하는 방향은 다음과 같습니다.
1. 상단에는 앱 제목과 사용 방법을 짧게 보여주세요.
2. 참가자 입력 영역, 참가자 목록 영역, 배정 결과 영역을 카드로 분리해주세요.
3. 참가자 목록은 표 형태로 정리해서 이름, 희망 주제, 가능 시간, 숙련도가 한눈에 보이게 해주세요.
4. 팀 배정 결과는 팀별 카드로 보여주고, 팀 이름을 크게 표시해주세요.
5. 각 팀 카드에는 팀원 정보를 줄 단위로 정리해주세요.
6. '팀 배정하기' 버튼은 눈에 잘 띄는 파란색 버튼으로 만들어주세요.
7. '전체 초기화' 버튼은 실수로 누르지 않도록 회색 또는 빨간색 보조 버튼으로 만들어주세요.
8. 모바일에서는 입력 폼, 참가자 목록, 결과 카드가 세로로 자연스럽게 쌓이게 해주세요.
9. 전체 분위기는 깔끔한 업무용 SaaS 도구처럼 만들어주세요.

디자인만 개선하고, 기존 기능은 삭제하지 말아주세요.

여기서 "기존 기능은 삭제하지 말아주세요"라는 문장이 중요합니다. AI 앱 빌더는 디자인을 고치면서 이미 있던 기능을 실수로 바꾸거나 없앨 때가 있습니다. 그래서 수정 프롬프트에는 항상 유지해야 할 기능을 함께 적는 습관이 좋습니다.

결과 복사 버튼 추가 또는 개선하기

실제 운영에서는 복사 버튼이 아주 유용합니다. 배정 결과를 화면에서만 보는 앱은 반쪽짜리입니다. 운영자는 결과를 공유해야 합니다. 카카오톡 공지, 슬랙 메시지, 노션 페이지, 이메일, 문자 등으로 옮겨야 하기 때문입니다.

복사 버튼이 없거나, 복사한 결과가 보기 어렵다면 다음 프롬프트를 사용합니다.

팀 배정 결과를 공지에 바로 붙여넣을 수 있도록 복사 기능을 개선해주세요.

요구사항은 다음과 같습니다.
1. '전체 결과 복사' 버튼을 추가해주세요.
2. 버튼을 누르면 모든 팀 배정 결과가 텍스트 형식으로 클립보드에 복사되게 해주세요.
3. 복사되는 텍스트 형식은 아래 예시처럼 만들어주세요.

[스터디 팀 배정 결과]

1팀
- 김민지 / AI / 화요일 저녁 / 초급
- 박준호 / AI / 화요일 저녁 / 중급

2팀
- 이서연 / 마케팅 / 목요일 저녁 / 초급
- 최도윤 / 마케팅 / 목요일 저녁 / 고급

4. 복사가 완료되면 '복사되었습니다'라는 안내 메시지를 보여주세요.
5. 복사에 실패하면 '복사에 실패했습니다. 다시 시도해주세요.'라는 안내 메시지를 보여주세요.
6. 기존 팀 배정 기능은 그대로 유지해주세요.

복사 기능은 작아 보이지만 앱의 실용성을 크게 높입니다. 초보자가 만들기 좋은 앱은 대개 이런 식입니다. 거창한 AI 기능보다, 실제 반복 작업을 5분 줄여주는 기능이 더 쓸모 있을 때가 많습니다.

오류 해결 프롬프트

앱을 만들다 보면 예상대로 작동하지 않는 일이 생깁니다. 버튼을 눌러도 반응이 없거나, 참가자를 추가했는데 목록에 안 보이거나, 결과 복사가 되지 않을 수 있습니다. 이것은 실패가 아닙니다. 바이브 코딩에서는 결과를 보고 다시 말하는 과정이 기본입니다.

오류를 고칠 때는 "안 돼요"라고만 말하지 말고, 어떤 상황에서 무엇이 기대와 달랐는지 적어야 합니다.

버튼이 작동하지 않을 때는 이렇게 요청합니다.

'팀 배정하기' 버튼을 눌러도 배정 결과가 나타나지 않습니다.

현재 상황은 다음과 같습니다.
1. 참가자 6명을 입력했습니다.
2. 팀당 인원 수를 3명으로 설정했습니다.
3. 배정 방식은 무작위 배정으로 선택했습니다.
4. '팀 배정하기' 버튼을 눌렀지만 화면에 아무 변화가 없습니다.

원하는 동작은 다음과 같습니다.
- 버튼을 누르면 참가자 목록을 기준으로 3명씩 팀이 나뉘어야 합니다.
- 결과 영역에 1팀, 2팀 카드가 표시되어야 합니다.
- 참가자가 부족하거나 팀당 인원 수가 잘못된 경우에는 안내 메시지를 보여줘야 합니다.

기존 입력 폼과 참가자 목록 기능은 유지하면서 이 문제를 고쳐주세요.

입력값이 저장되지 않을 때는 이렇게 말할 수 있습니다.

참가자를 입력하고 '추가' 버튼을 누르면 목록에 잠깐 보였다가 사라집니다.

참가자 정보가 앱 화면 안에서 유지되도록 수정해주세요.
최소한 페이지를 새로고침하기 전까지는 참가자 목록이 사라지지 않아야 합니다.

가능하다면 브라우저의 로컬 저장을 사용해서 새로고침 후에도 참가자 목록이 남도록 만들어주세요.
단, 로그인이나 데이터베이스 연결은 아직 추가하지 말아주세요.

결과 복사가 작동하지 않을 때는 이렇게 요청합니다.

'전체 결과 복사' 버튼을 눌러도 클립보드에 내용이 복사되지 않습니다.

다음 기준으로 수정해주세요.
1. 팀 배정 결과가 있을 때만 복사 버튼이 작동하게 해주세요.
2. 결과가 없을 때 버튼을 누르면 '먼저 팀 배정을 실행해주세요'라고 안내해주세요.
3. 결과가 있을 때 버튼을 누르면 팀별 결과가 텍스트로 복사되게 해주세요.
4. 복사 성공 여부를 화면에 메시지로 보여주세요.
5. 모바일 브라우저에서도 가능한 방식으로 구현해주세요.

기존 팀 배정 로직은 바꾸지 말고 복사 기능만 고쳐주세요.

오류 수정 프롬프트의 핵심은 관찰입니다. 내가 무엇을 입력했고, 무엇을 눌렀고, 어떤 결과가 나왔고, 원래는 무엇을 기대했는지 알려줘야 합니다. 의사에게 "아파요"라고만 말하는 것보다 "어제부터 오른쪽 발목이 붓고, 걸을 때 통증이 있어요"라고 말하는 편이 진단에 도움이 되는 것과 같습니다.

응용 아이디어

스터디 팀 배정 앱은 여러 상황으로 쉽게 바꿀 수 있습니다. 구조는 거의 같습니다. 사람이나 항목을 입력하고, 기준에 따라 묶고, 결과를 보여주면 됩니다.

예를 들어 강사는 수강생을 발표 조로 나눌 수 있습니다. 회사에서는 워크숍 조 편성에 쓸 수 있습니다. 독서 모임 운영자는 책 주제별 토론팀을 만들 수 있습니다. 봉사활동 담당자는 날짜와 역할에 따라 활동조를 나눌 수 있습니다.

조금 바꿔보면 다음과 같은 앱으로 확장할 수 있습니다.

  • 워크숍 조 편성 앱

  • 발표 순서 자동 배정 앱

  • 독서 모임 토론팀 배정 앱

  • 프로젝트 팀 구성 앱

  • 멘토·멘티 매칭 앱

  • 봉사활동 역할 배정 앱

  • 회식 자리 랜덤 배정 앱

  • 온라인 세미나 소그룹 배정 앱

다만 멘토·멘티 매칭처럼 사람 간 관계가 중요하거나, 회사 인사 배치처럼 민감한 판단이 들어가는 경우에는 조심해야 합니다. AI가 만든 결과를 그대로 받아들이면 안 됩니다. 사람을 나누고 평가하는 앱은 운영자의 검토가 반드시 필요합니다.

특히 개인정보도 주의해야 합니다. 이름, 연락처, 나이, 직장, 건강 정보, 성향 정보처럼 개인을 식별하거나 민감하게 느껴질 수 있는 정보는 최소한만 수집해야 합니다. 이번 앱에서는 이름, 희망 주제, 가능 시간, 숙련도 정도만 다룹니다. 전화번호나 주민등록번호 같은 정보는 절대 필요하지 않습니다.

흔한 실수와 고치는 방법

스터디 팀 배정 앱을 만들 때 초보자가 자주 하는 실수가 있습니다. 대부분은 앱을 못 만들어서 생기는 문제가 아니라, 처음 요청이 너무 넓거나 모호해서 생깁니다.

첫 번째 실수는 조건을 너무 많이 넣는 것입니다. "시간도 맞추고, 주제도 맞추고, 성격도 맞추고, 숙련도도 맞추고, 친한 사람은 떨어뜨리고, 발표자는 한 명씩 넣어줘"처럼 요청하면 앱의 기준이 복잡해집니다. 이럴 때는 우선순위를 정해야 합니다. 이번 장에서는 가능 시간을 1순위, 희망 주제를 2순위, 숙련도 균형을 3순위로 두었습니다.

두 번째 실수는 결과를 검토하지 않는 것입니다. AI가 팀을 나눠줬다고 해서 곧바로 공지하면 안 됩니다. 같은 사람이 두 번 들어가 있지는 않은지, 빠진 사람이 없는지, 한 팀에 인원이 너무 몰리지 않았는지 확인해야 합니다. AI가 만든 앱도 반드시 사람이 검토해야 합니다.

세 번째 실수는 처음부터 실제 참가자 개인정보를 넣는 것입니다. 앱이 완전히 검토되기 전에는 가짜 이름과 예시 데이터로 테스트해야 합니다. 특히 공개 링크로 공유되는 앱이라면 더 조심해야 합니다. 작동하는 것과 서비스로 운영 가능한 것은 다릅니다.

이 문제들은 다음 점검 프롬프트로 줄일 수 있습니다.

이 스터디 팀 배정 앱을 초보 운영자가 실제로 쓰기 전에 점검해주세요.

다음 관점에서 문제점을 찾아주세요.
1. 참가자 입력 과정이 헷갈리지 않는지
2. 팀 배정 기준이 화면에 충분히 설명되어 있는지
3. 같은 참가자가 중복으로 들어갈 가능성이 있는지
4. 팀 배정 결과에서 빠진 참가자가 생길 가능성이 있는지
5. 결과 복사 문구가 공지에 붙여넣기 쉬운지
6. 개인정보를 과하게 수집하고 있지는 않은지
7. 모바일 화면에서 사용하기 불편한 부분은 없는지

문제점을 찾은 뒤, 초보자도 이해할 수 있는 방식으로 개선안을 제안해주세요.
바로 수정 가능한 항목부터 우선순위로 정리해주세요.

독자 미션

이번 장의 미션은 실제 스터디 상황을 하나 정해 팀 배정 앱을 바꿔보는 것입니다. 꼭 코딩 스터디일 필요는 없습니다. 독서 모임, 영어 회화 모임, 사내 워크숍, 강의 실습 조, 부모 모임, 온라인 챌린지 등 어떤 상황도 좋습니다.

먼저 참가자 8명을 가상으로 만들어보세요. 이름, 희망 주제, 가능 시간, 숙련도를 정합니다. 그다음 팀당 인원 수를 2명 또는 3명으로 설정하고 무작위 배정과 조건 기반 배정을 각각 실행해보세요.

그 후 다음 질문에 답해봅니다.

  • 무작위 배정 결과는 실제 운영에 써도 괜찮은가?

  • 조건 기반 배정은 내가 원하는 기준을 반영했는가?

  • 가장 중요하게 지켜야 할 기준은 시간, 주제, 숙련도 중 무엇인가?

  • 결과를 공지로 복사했을 때 읽기 쉬운가?

  • 참가자에게 보여주면 안 되는 정보가 포함되어 있지는 않은가?

마지막으로 자신의 상황에 맞춰 아래 프롬프트를 수정해보세요.

이 앱을 [내 상황]에 맞는 팀 배정 앱으로 바꿔주세요.

내 상황은 다음과 같습니다.
- 모임 종류: [예: 독서 모임 / 사내 워크숍 / 영어 회화 스터디]
- 참가자 수: [예: 12명]
- 팀당 인원 수: [예: 3명]
- 가장 중요한 배정 기준: [예: 가능 시간]
- 두 번째로 중요한 기준: [예: 관심 주제]
- 참고하면 좋은 기준: [예: 숙련도]

화면 문구와 예시 데이터도 이 상황에 맞게 바꿔주세요.
기존의 참가자 입력, 팀 배정, 결과 복사 기능은 유지해주세요.

이 미션을 마치면 여러분은 단순한 입력 앱을 넘어, 작은 자동화 앱을 만든 경험을 하게 됩니다. 업무와 일상에는 이런 자동화 후보가 많습니다. 사람을 나누는 일, 순서를 정하는 일, 항목을 분류하는 일, 결과를 공지용 문장으로 바꾸는 일은 모두 앱으로 만들기 좋은 반복 작업입니다.

한 장 요약

스터디 팀 배정 앱은 초보자가 바이브 코딩으로 만들기 좋은 자동화 예제입니다. 참가자 이름, 희망 주제, 가능 시간, 숙련도를 입력받고, 팀당 인원 수에 맞춰 결과를 보여주는 구조가 분명하기 때문입니다.

무작위 배정은 제비뽑기처럼 단순하게 사람을 섞는 방식입니다. 조건 기반 배정은 가능 시간, 희망 주제, 숙련도 같은 기준을 고려해 팀을 나누는 방식입니다. 조건이 여러 개라면 반드시 우선순위를 정해야 합니다. 모든 조건을 동시에 만족시키기 어렵기 때문입니다.

이번 장에서 기억할 핵심은 다음과 같습니다.

  • 첫 버전은 참가자 입력, 팀 배정, 결과 표시, 결과 복사만으로 충분합니다.

  • 조건 기반 배정은 "무엇을 가장 우선할지"를 AI에게 분명히 말해야 합니다.

  • 결과가 이상하면 배정 기준과 예외 상황을 더 구체적으로 설명해야 합니다.

  • 복사 버튼은 실제 운영에서 앱의 쓸모를 크게 높입니다.

  • 사람을 나누는 앱은 AI 결과를 그대로 믿지 말고 반드시 운영자가 검토해야 합니다.

첫 앱은 완성도보다 작동 경험이 중요합니다. 이번 장의 앱도 마찬가지입니다. 완벽한 팀 배정 시스템을 만들려고 하지 말고, 매번 손으로 하던 일을 조금 덜어주는 작은 도구를 만든다고 생각해보세요. 그렇게 하나씩 만들다 보면, 어느 순간 여러분의 일상과 업무에서 "이건 앱으로 만들 수 있겠다"는 감각이 생깁니다.

책 목록

아무것도 몰라도, 바이브 코딩

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기