제약 데이터 동적 분석 웹앱 만들기
소개
제약 바이오 분야에서 데이터를 업로드하면 자동으로 exploratory 분석 결과를 보여주는 웹앱을 개발하고 싶었습니다. 하드코딩 되어 있는 코드로는 코드를 읽을 줄 모르는 유저들이 사용하기 힘든 점을 고려해서 간극을 AI가 채워줄 수 있지 않을까? 생각했습니다.
그래서 유저가 데이터를 넣으면 데이터 형태/파라미터/실험 디자인 등에 대해서 요약하거나, 필요할 때는 그것들을 입력 → 형태에 따라서 어떤 분석 방식이 좋을지 등에 대해서 자동으로 평가→ 그래프 생성이 큰 틀의 계획이었습니다.
현재 코드의 하드코딩된 "정규식 패턴"을 없애고, 대신 앱이 raw 데이터에서 실제 존재하는 Test 값들을 읽어서 유저에게 선택지로 제공하는 방식을 구현하는게 목표였어요.
진행 방법
기존에 가지고 있던 분석 코드를 git에서 다운 받아서 구조화 및 수정
1) Cytokine 동적 매핑: 하드코딩된 정규식 제거 → raw 데이터 Test 컬럼에서 unique 값 자동 추출 → 유저가 분석할 항목 선택 + canonical 이름 지정
2) ggplot2 → plotly 1줄 전환: 기존 코드 수정 없이 ggplotly() 래핑
3) reactive 래핑: 기존 순차 source() 실행 → Shiny reactive({}) 블록으로 변환. 파일 업로드되면 자동으로 전처리 트리거
4) 그 외에 자잘한 typo 수정
구조 및 웹 배포 형태 결정
Vercel 배포를 위해서는 구상했던 ShinyApp을 사용할 수 없어서, claude code로부터 architecture를 추천 받아서 전체 workflow를 재정렬
결과와 배운 점
미리 구상해둔 코드가 있으니까 구현하는데 어려움이 많지는 않을거라고 생각했는데, 구상하고 있었던 그래프 구현 방식이 vercel 배포 기능이랑 호환이 되지 않아서 전체 구조를 재구상했습니다. 또한, 유저 관리 범위 (혼자 또는 여러명), 접속 형태 (모든 컴퓨터 또는 내부망) 에 따라 구조가 달라질 수 있다는 점을 고려하지 못했습니다.
Claude에게 물어볼 때 내가 아는 정보와 "너에게 어떻게 물어봐야 해?/ 너가 더 필요한 정보가 뭔지 얘기해줘./너가 더 궁금한게 뭐야?" 등으로 티키타카를 할수록 더 완성도가 높아진다는 것을 알게 됐습니다.
그 외에 히스토리 대시보드, 파일 업로드+미리보기 등의 기술들을 추가할 예정입니다.
도움 받은 글 (옵션)
참고한 지피터스 글이나 외부 사례를 알려주세요.
(내용 입력)
댓글 1개
로그인하고 댓글을 작성하세요
vercel 은 편한 방식이지, 절대적인 배포 방법은 아닙니다!
ShinyApp가 정확하게 무엇인지 알수는 없지만, 한번 댓글로 남겨주시면 같이 고민 해보시져!