제가 만든 무료 합성 데이터 생성기 — 이렇게 만들었습니다 (React + Tailwind)
Source: Dev.to

개요
우리는 모두 그런 경험이 있습니다 — 앱을 테스트하기 위해 10,000개의 현실적인 사용자 레코드가 필요하거나, 데모를 위한 가짜 의료 데이터 배치가 필요하거나, 대시보드를 스트레스 테스트하기 위한 거래 로그가 필요할 때 말이죠. 그래서 보통 다음 중 하나를 선택합니다:
- “User_1, User_2, User_3…”과 같은 데이터를 생성하는 조잡한 스크립트를 작성한다
- CLI 도구를 설정하는 데 30분을 소비한다
- 무료 티어에서 100행으로 제한되는 SaaS 도구를 사용한다
이러한 상황에 지쳐서 DataForge를 만들었습니다 — 무료이며 브라우저 기반의 합성 데이터 생성기로, 현실적인 가짜 데이터를 즉시 생성합니다. 회원가입도 필요 없고, 서버도 없으며, 제한도 없습니다.


무엇을 제공합니까
DataForge는 두 카테고리의 9가지 데이터 유형에 걸쳐 현실적인 가짜 데이터를 생성합니다.
📊 일반 데이터
- 사용자 – 이름, 이메일, 전화번호, 생년월일, 회사, 직함
- 주소 – 거리, 도시, 주, 우편번호, 좌표
- 거래 – 금액, 가맹점, 카테고리, 상태
🏥 의료 / HIPAA‑안전
- 환자 – 의료 기록 번호(MRN), 혈액형, 알레르기, 질환, 보험
- 의료 기록 – ICD‑10 코드, 활력징후, 방문 유형, 임상 메모
- 처방전 – 실제 약물, 복용량, DEA 번호, NDC 코드
- 실험실 결과 – 기준 범위와 플래그가 포함된 26개의 실제 실험실 검사
- 보험 청구 – 청구/허용/지불 금액, 청구 상태
- 의료 제공자 – NPI 번호, 전문 분야, 자격증
모든 데이터는 100 % 합성 데이터이며 — 실제 환자 데이터가 없고, HIPAA 위험이 없습니다.
주요 기능
⚡ 최대 50,000개의 레코드를 즉시 생성
모든 작업이 클라이언트 측에서 실행됩니다. API 호출도, 서버도 없습니다. 데이터가 브라우저를 떠나지 않습니다.
🎬 맞춤 시나리오
기본 시나리오
- 🧓 고령 환자 코호트 (연령 65세 이상)
- 👶 소아 코호트 (연령 0‑17세)
- 🚨 위험한 검사값
- 💰 고액 거래 ($5천 이상)
- 🕵️ 사기 패턴
- ❌ 거부된 청구 배치
- 🗑️ 더럽고 지저분한 데이터 (null 및 오류 포함)
맞춤 빌더
- 필드별 null 비율 설정 (0‑80 %)
- 값 범위 정의 (예: 연령 65‑95, 금액 $10천 이상)
- 특정 값 강제 지정 (예:
status = "Denied") - 맞춤 값 풀 추가
- 중복 비율 및 오류 삽입 제어
📤 내보내기 형식
- JSON – 표준 구조화 데이터
- CSV – 스프레드시트 및 데이터베이스용
- SQL – 바로 실행 가능한 INSERT 문
- HL7 FHIR – 의료 상호운용성 표준
🌱 시드로 재현 가능
시드 값을 설정하면 매번 동일한 데이터를 얻을 수 있습니다. 일관된 테스트 스위트에 최적입니다.
어떻게 만들었는가
기술 스택
- React 18 + TypeScript
- Tailwind CSS – 다크 HD 인터페이스
- Vite – 빠른 빌드
- Custom seeded PRNG – 외부 faker 라이브러리 불필요
시드된 난수 생성기
Math.random()(시드가 불가능함)을 대신해, 간단한 선형 합동 생성기를 기반으로 맞춤 PRNG를 만들었습니다:
class SeededRandom {
private seed: number;
constructor(seed: number) {
this.seed = seed;
}
next(): number {
this.seed = (this.seed * 16807 + 0) % 2147483647;
return this.seed / 2147483647;
}
nextInt(min: number, max: number): number {
return Math.floor(this.next() * (max - min + 1)) + min;
}
pick<T>(array: T[]): T {
return array[this.nextInt(0, array.length - 1)];
}
}
헬스 IT 분야에서 일한다면 다음과 같은 어려움을 겪고 있을 겁니다:
- ❌ 테스트에 실제 환자 데이터를 사용할 수 없음 (HIPAA)
- ❌ Epic/Cerner 샌드박스는 제한된 테스트 환자만 제공
- ❌ Synthea는 강력하지만 Java와 CLI 설정이 필요
- ❌ 대부분의 온라인 생성기는 의료 데이터를 이해하지 못함
DataForge가 이 격차를 메웁니다:
- ✅ FHIR‑네이티브 내보내기 — 유효한 FHIR 번들을 생성
- ✅ 실제 ICD‑10 및 CPT 코드 — 무작위 문자열이 아님
- ✅ 임상 시나리오 — 노인 코호트, 중요한 실험실 결과, 거부된 청구
- ✅ 브라우저에서 실행 — QA 팀과 URL을 공유
- ✅ 50 K 레코드 — 부하 테스트에 충분
다음 단계
- 사용자 정의 스키마 빌더 (자신만의 데이터 타입 정의)
- API 엔드포인트 모드 (모의 API로 사용)
- 테이블 간 관계 (외래 키)
- 더 많은 의료 표준 (HL7v2 메시지, C‑CDA)
- 현지화 (미국 외 이름, 주소, 전화 형식)
이 도구가 시간을 절약해 주었다면, 저장소에 ⭐를 남기거나 댓글을 달아 주세요. 여러분이 어떻게 사용하고 있는지 듣고 싶어요!