안녕하세요 HN, 저희는 Jesse와 Gautham입니다. 저희는 Ghostship을 만들고 있습니다.
Ghostship은 URL을 입력하고 사용자 여정 (user journey)을 설명함으로써 웹 앱의 버그를 찾을 수 있게 해줍니다.
Ghostship이 작동하는 영상은 여기 있습니다: https://www.loom.com/share/dec264ae32f94d50adb141c9246837c3?....
저희는 인생의 절반 이상을 개발자로 지내왔으며, 제가 만든 CerealCodes라는 코딩 경진 대회나 Upwork에서의 프리랜서 프로젝트와 같이 수많은 사용자 대상 프로젝트를 수행해 왔습니다. 저희가 직면했던 가장 큰 문제는 테스트하지 않은 엣지 케이스 (edge cases)에서 버그가 발생하여 배포된다는 점이었고, 새로운 기능을 배포할 때마다 테스트 과정을 거치는 것이 매우 번거로웠다는 점입니다. 자동화 테스트 (automated testing) 도구들도 시도해 보았지만, 그것들은 불안정 (flaky)했고 기능 변경에 적응하지 못했습니다. 또한 설정하는 과정도 매우 번거로웠습니다.
저희의 솔루션은 브라우저 에이전트 (browser agents)를 사용하여 사용자가 하는 것처럼 제품을 클릭하며 웹 앱의 버그를 찾는 것을 돕는 것입니다. URL을 입력하고 사용자가 무엇을 할지 설명하면, Ghostship은 사용자 여정을 따라가며 버그를 찾으려고 시도합니다. 이 과정에서 각 단계를 거치며 시각적으로 다른 곳을 클릭할 수 있는 지점을 확인하여 엣지 케이스를 추론합니다. 그런 다음 저희는 에이전트가 웹 앱을 탐색하는 세션 리플레이 (session replays)를 보여주고 에이전트가 수행한 모든 단계를 나열합니다.
저희는 거의 별도의 프롬프팅 (prompting) 없이도 엣지 케이스를 찾아낼 수 있습니다. 여러분이 해야 할 일은 단 하나의 URL과 하나의 사용자 여정을 입력하는 것뿐입니다 (웹 앱에 로그인 정보가 필요한 경우, 테스트용 자격 증명을 입력하세요).
Ghostship으로 찾아낼 수 있었던 버그 중 하나는 YC 지원 페이지에 있었습니다. 알고 보니 학력 사항의 날짜를 역연대순으로 추가할 수 있었습니다 (2022년 4월부터 2021년 1월까지로, 이는 말이 되지 않습니다).
저희가 찾아낸 또 다른 버그는 저희가 바이브 코딩 (vibe coded)한 암호화폐 스마트 컨트랙트 CRM 대시보드였는데, 초안 컨트랙트를 여러 번 편집하려고 할 때 데이터 손상 (data corruption)이 발생하는 버그를 발견했습니다.
제한된 수량의 크레딧(credits)을 사용하여 여기서 가입하실 수 있습니다: https://playground.tryghostship.dev/. 여러분이 재미로 웹 앱을 만들고 있든, 고객에게 멋진 사용자 대상 제품(user-facing product)을 출시하는 개발자이든 관계없이, HN 커뮤니티의 의견을 듣고 싶습니다. Ghostship을 통해 여러분의 웹 앱에서 어떤 버그를 찾아낼 수 있을지 정말 기대됩니다!
추신: 만약 Ghostship을 CI/CD 파이프라인에 직접 통합하여 모든 PR(Pull Request) 이후에 실행하고 싶다면, 저희와 데모(demo) 일정을 예약해 주세요.