Skip to main content

# DrillQuiz를 소개합니다! 🎉


제가 만든 DrillQuiz라는 프로젝트를 소개해보겠습니다.

https://us.drillquiz.com
https://apps.apple.com/us/app/drillquiz/id6755402441

## 🎯 핵심 기능 4가지

DrillQuiz는 단순한 퀴즈 플랫폼이 아닙니다. 학습의 핵심 문제를 해결하는 AI 기반 플랫폼이에요:

### 1. 드레인 시스템 (Drain System) - 시간이 지나면 다시 나오는 문제 💧

맞춘 문제도 시간이 지나면 까먹어요. 시스템이 언제 다시 풀어야 할지 자동으로 계산해서 보여줍니다.

- 문제를 맞추면 → 일정 시간 동안은 안 나와요
- 시간이 지나면 → 자동으로 다시 출제돼요 (까먹기 전에!)
- 맞추면 → 다음 간격은 더 길어지고
- 틀리면 → 다시 짧은 간격으로 반복 학습

망각 곡선 이론 기반으로 설계했어요. 사용자는 아무것도 신경 쓰지 않고, 시스템이 알아서 최적의 타이밍에 문제를 다시 보여줍니다!

### 2. 파일/URL → AI 문제 자동 생성 🤖

블로그 글, 문서, URL... 뭐든지 올리면 AI가 알아서 문제를 만들어줘요.

- 텍스트 파일(.txt) 업로드 또는 URL 입력
- 문제 개수 설정 (예: 10문제)
- 생성!

React 공식 문서, 면접 준비 블로그, 기술 뉴스... 무엇이든 나만의 문제집으로 만들 수 있어요!

### 3. AI 음성 시험 및 평가 🎤

음성으로 답변하고 AI가 평가해줘요. 혼자서도 실제 면접처럼 연습할 수 있어요.

- 문제를 음성으로 읽어줌 (TTS)
- 사용자가 음성으로 답변 (음성 인식)
- AI가 답변을 평가하고 피드백 제공
- 정확도(%)와 상세한 평가 제공

80% 이상이면 통과, 그 이하면 다시 연습! 24시간 언제든지 면접 연습이 가능해요.

### 4. 스터디 그룹 결과 공유 및 리포트 👨‍👩‍👧‍👦

문제 풀이 결과를 스터디 그룹에 공유하고 리포트할 수 있어요. 부모가 아이에게 문제를 만들어서 풀게 하고, 결과를 확인할 수 있는 기능이에요!

- 스터디 그룹 생성 및 멤버 초대
- 시험 결과 자동 리포트
- 부모-자녀 학습 관리 (예: 엄마가 아이에게 문제 만들기)
- 멤버별 학습 진행 상황 추적

예를 들어, 엄마가 아이에게 문제를 만들어서 풀어보게 하고, 결과가 자동으로 리포트되어 아이의 학습 상태를 체크할 수 있어요!

---

## 이게 뭔데요?

DrillQuiz는 AI 기반 퀴즈 학습 플랫폼이에요.

- 시간이 지나면 까먹는 문제를 자동으로 관리 (드레인 시스템)
- 원하는 콘텐츠를 AI로 문제로 만들어줌 (AI 문제 생성)
- 음성으로 시험을 보고 AI가 평가 (AI 음성 평가)
- 스터디 그룹으로 결과 공유 및 리포트 (부모-자녀 학습 관리)

이 4가지 핵심 기능으로 학습 효율을 극대화하는 플랫폼입니다.

## 왜 만들었나요?

사실 개인적으로 면접 준비하면서 여러 문제집을 사서 공부했었어요. 근데 문제가 뭐였냐면:

1. 틀린 문제뿐만 아니라 맞춘 문제도 시간이 지나면 까먹더라고요 - 일주일 전에 맞춘 문제도 지금 풀면 틀릴 수 있죠
2. 문제를 직접 만들어야 하는 게 너무 귀찮았어요 - 블로그 글, 문서, URL 같은 걸 읽고 문제를 만드는데 시간이 너무 많이 걸려요
3. 면접 연습을 하려면 누군가가 들어줘야 하는데... - 음성으로 답변하고 평가받고 싶은데 그게 어렵더라고요

그래서 "아, 이런 걸 자동으로 해주는 플랫폼 있으면 좋겠다"는 생각에서 시작했어요. 그리고 만들기 시작했죠! 🚀

## 각 기능 자세히 알아보기

### 1. 드레인 시스템 (Drain System) - 시간이 지나면 다시 나오는 문제 💧

이게 DrillQuiz의 진짜 핵심이에요. 이름이 좀 독특하죠?

핵심 아이디어: 맞춘 문제도 시간이 지나면 까먹어요. 그래서 시스템이 언제 다시 풀어야 할지 자동으로 계산해주는 거예요.

- 문제를 맞추면 → 일정 시간 동안은 안 나와요
- 시간이 지나면 → 자동으로 다시 출제돼요 (까먹기 전에!)
- 맞추면 → 다음 간격은 더 길어지고
- 틀리면 → 다시 짧은 간격으로 반복 학습

이렇게 하면 "아 맞다, 이 문제 있었지!" 하고 까먹기 직전에 자연스럽게 다시 만나게 돼요. 망각 곡선 이론 기반으로 설계했는데, 확실히 효과가 있어요!

예시:
- 오늘 문제를 맞췄어요 → 3일 후에 다시 나와요
- 3일 후에 또 맞췄어요 → 1주일 후에 다시 나와요
- 1주일 후에 또 맞췄어요 → 2주일 후에 다시 나와요

시간이 지날수록 간격이 늘어나면서 자연스럽게 장기 기억으로 전환되는 거죠.

### 2. 파일/URL → AI 문제 자동 생성 🤖

이거 진짜 편해요. 블로그 글, 기술 문서, 위키피디아 페이지... 뭐든지 올리면 AI가 알아서 문제를 만들어줘요.

사용 방법:
- 텍스트 파일(.txt) 업로드 또는
- URL 입력 (블로그, 문서, 뉴스 기사 등)
- 문제 개수 설정 (예: 10문제)
- 생성!

그러면 AI가 해당 콘텐츠를 분석해서 문제를 만들어줘요. 객관식, 주관식 다 가능하고요.

예시:
- React 공식 문서 URL 올리기 → React 관련 문제 생성
- 면접 준비용 블로그 글 올리기 → 면접 문제 생성
- 기술 뉴스 기사 올리기 → 최신 기술 문제 생성

나만의 문제집을 만드는 게 이렇게 쉬워도 되나요? 라고 생각할 정도로 편해요 😄

### 3. AI 음성 시험 및 평가 🎤

면접 준비할 때 혼자 연습하기 힘들었던 경험 있으시죠? DrillQuiz는 음성으로 답변하고 AI가 평가해줘요.

작동 방식:
1. 문제를 음성으로 읽어줘요 (TTS)
2. 사용자가 음성으로 답변해요 (음성 인식)
3. AI가 답변을 평가하고 피드백을 줘요
4. 정확도(%)와 함께 상세한 평가를 들을 수 있어요

실제 평가 예시:
- "좋은 답변이에요, 하지만 이 부분은 더 구체적으로 설명하면 좋겠어요"
- "정확도 85%입니다. 핵심 내용은 잘 이해하고 계시네요"

80% 이상이면 통과, 그 이하면 다시 연습! 특히 면접 준비할 때 정말 유용해요. 혼자서도 실제 면접처럼 연습할 수 있으니까요!

### 4. 스터디 그룹 결과 공유 및 리포트 👨‍👩‍👧‍👦

이 기능은 정말 실용적이에요! 문제 풀이 결과를 스터디 그룹에 공유하고 리포트할 수 있어요.

주요 기능:
- 스터디 그룹 생성 및 멤버 초대
- 시험 결과 자동 리포트
- 부모-자녀 학습 관리 지원
- 멤버별 학습 진행 상황 추적

실제 사용 예시:
- 엄마가 아이에게 문제를 만들어서 풀어보게 하기
- 아이가 문제를 풀면 결과가 자동으로 엄마에게 리포트됨
- 틀린 문제, 정답률, 학습 시간 등을 한눈에 확인 가능
- 선생님이 학생들에게 문제를 내고 결과를 관리

이렇게 하면 학습 관리자(부모, 선생님)와 학습자(아이, 학생)가 효율적으로 연결되어, 체계적인 학습 관리가 가능해요!

## 실제 사용 시나리오

### 시나리오 1: 면접 준비

1. 면접 관련 블로그 글 URL 올리기 → AI가 문제 생성
2. 음성 시험 모드로 연습하기 → AI가 평가해주기
3. 드레인 시스템이 자동으로 복습 일정 관리 → 까먹기 전에 다시 나와주기

결과: 혼자서도 체계적으로 면접 준비 가능! 🎯

### 시나리오 2: 자격증 공부

1. 공부한 내용을 텍스트 파일로 정리
2. AI가 문제로 변환
3. 드레인 시스템이 최적의 타이밍에 다시 출제

결과: 효율적인 암기 학습! 📚

### 시나리오 3: 새로운 기술 학습

1. 공식 문서나 튜토리얼 URL 올리기
2. AI가 핵심 내용을 문제로 추출
3. 반복 학습으로 장기 기억으로 전환

결과: 체계적인 학습! 💡

### 시나리오 4: 부모-자녀 학습 관리

1. 엄마가 아이 학습 내용으로 문제 만들기 (AI 문제 생성)
2. 아이가 문제 풀기
3. 결과가 자동으로 엄마에게 리포트됨
4. 드레인 시스템이 아이의 복습 일정 자동 관리

결과: 체계적인 자녀 학습 관리! 👨‍👩‍👧‍👦

## 어떻게 만들어졌나요?

기술 스택 얘기를 조금 해볼게요. (개발자 친구들이 궁금해할 것 같아서!)

### 핵심 기술

AI 문제 생성
- OpenAI API (GPT) - 텍스트를 분석해서 문제 생성
- URL 파싱 및 텍스트 추출
- 다양한 난이도와 문제 유형 자동 생성

음성 시험
- Web Speech API - 음성 인식 (STT)
- Text-to-Speech - 문제 읽기 (TTS)
- OpenAI API - 답변 평가 및 피드백

드레인 시스템
- 문제별 마지막 정답 시간 추적
- 망각 곡선 기반 간격 계산 알고리즘
- 자동 복습 스케줄링

## 모바일 앱도 있어요!

웹뿐만 아니라 iOS 앱도 있어요. Capacitor를 사용해서 만들었는데, 음성 기능도 잘 작동해요!

- 음성 시험 모드
- 드레인 시스템
- AI 문제 생성

모두 모바일에서도 사용 가능해요! 📱

## 왜 이 4가지 기능이 중요한가요?

### 1. 드레인 시스템 - "까먹는 게 문제" 해결

공부할 때 가장 큰 적은 "까먹는 것"이에요. 한 번 맞춘 문제도 시간이 지나면 틀릴 수 있죠. 드레인 시스템은 이걸 자동으로 관리해줘요. 사용자는 공부만 하면 되고, 시스템이 알아서 최적의 타이밍에 문제를 다시 보여줍니다.

### 2. AI 문제 생성 - "문제 만들기 귀찮음" 해결

공부할 내용을 문제로 만드는 건 정말 시간이 많이 걸려요. 블로그 글 하나 읽고 문제 만들려고 하면 30분은 걸리죠. AI가 자동으로 만들어주니까 그 시간을 공부하는데 쓰면 돼요!

### 3. AI 음성 평가 - "혼자서는 평가 어려움" 해결

면접 준비나 말로 설명하는 연습은 누군가 들어줘야 해요. 하지만 AI가 평가해주니까 혼자서도 실제 면접처럼 연습할 수 있어요. 24시간 언제든지요!

### 4. 스터디 그룹 결과 공유 - "학습 관리와 모니터링" 해결

부모가 아이 공부를 관리하거나, 선생님이 학생 학습을 추적하는 건 쉽지 않아요. 하지만 스터디 그룹 기능으로 결과가 자동으로 리포트되니까, 누가 문제를 풀었는지, 몇 점을 맞았는지 한눈에 확인할 수 있어요!

## 아직 개선할 점이 많아요

솔직히 말하면, 아직 부족한 부분이 많아요:

- AI 평가 정확도 개선
- 더 많은 언어 지원
- 음성 인식 정확도 향상
- 드레인 시스템 알고리즘 최적화

하지만 계속 업데이트하고 있어요! 사용하면서 불편한 점이나 개선할 점이 있으면 언제든 알려주세요.

혹시 궁금한 점이나 사용해보고 싶으시면 [사이트](https://us.drillquiz.com)에 방문해보세요!

Comments

Popular posts from this blog

Install CoreOs on linode without VM

Install CoreOs on linode without VM 1. Add a Linode 2. Create a new Disk   CoreOS 3. Rescue > Reboot into Rescue Mode 4. Remote Access   Launch Lish Console 5. make an install script cat <<'EOF1' > install.sh # add needed package sudo apt-get update sudo apt-get install -y curl wget whois sudo apt-get install -y ca-certificates #sudo apt-get install gawk -y # get discovery url discoveryUrl=`curl https://discovery.etcd.io/new` # write cloud-config.yml cat <<EOF2 > cloud-config.yml #cloud-config users:   - name: core     groups:       - sudo       - docker coreos:   etcd:     name: node01     discovery: $discoveryUrl hostname: node01 EOF2 # get the coreos installation script #wget https://raw.github.com/coreos/init/master/bin/coreos-install wget https://raw.githubusercontent.com/coreos/init/master/bin/coreos-install # run installation chmod 75...

Make vagrant vm for Fedora-16

Make vagrant vm for Fedora-16 # https://cbednarski.com/articles/veewee/ # 1. requirements curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enabled gem update gem install net-scp # 2. install veewee gem install veewee git clone https://github.com/jedi4ever/veewee.git cd veewee # 3. make a veewee vbox #https://github.com/jedi4ever/veewee/tree/master/templates #veewee vbox define awesome-ubuntu-server ubuntu-12.04.2-server-amd64 veewee vbox define awesome-fedora-server Fedora-16-i386 # 4. change url in definition.rb cf. /Users/dhong/tmp/veewee/templates/Fedora-16-x86_64-netboot/definition.rb :iso_file => "Fedora-16-i686-Live-KDE.iso", :iso_src => "http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/16/Live/i686/Fedora-16-i686-Live-KDE.iso", # 5. build vbox veewee vbox build awesome-fedora-server -n ll ~/VirtualBox VMs/ # 6. export to vagrant # need to shutdown virtualbox of awesome-fedora-server veewee...

Amazon RDS Blue/Green Deployments

In order to avoid some errors I experienced when proceeding as described in the official documentation, I describe what I did in order. 1) Modify parameters of source_database * error: Blue Green Deployments requires cluster parameter group has binlog enabled. RDS Parameter groups: source-params-group binlog_format => MIXED mysql> show global variables like 'binlog_format'; 2) Insert a row after rebooting the source database, to avoid this error. * error: Correct the replication errors and then switch over. Read Replica Replication Error - IOError: 1236, reason: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file' => To Fix: You need to change the data in the source database. INSERT INTO dummy_table ( `favorite_id` , `favorite_order` , `user_id` , `board_id` ) VALUES ('100001', '1', '11111', '11111'); 3) Modify the param...