개발 · 2026. 8. 23.19

안녕하세요workwrap입니다잘부탁드립니다.

workwrap(1/2)

  1. 1.안녕하세요workwrap입니다잘부탁드립니다.
  2. 2.WorkWrap 이슈 기록
목차

안녕하세요 Workwrap입니다. 잘 부탁드립니다.

Porklog가 어느 정도 궤도에 오르면서 여유 시간이 많이 남아, 새로운 사이드 프로젝트를 해보려고 한다.

프로젝트의 이름은 Workwrap 이고, 업무들을 요약, 정리해주는 서비스다.

이 프로젝트를 진행하게 된 사유는 몇 가지가 있었다.

1. 실사용 가능한 서비스를 만들어보고 싶었다

사이드 프로젝트를 하나둘 만들어보면서, 실제로 사람들이 쓸 수 있는 서비스를 만들어보면 개발 능력 향상에 도움이 많이 될 것 같다는 생각이 들었다. 지인들이 직접 써보면서 나오는 개선 요구사항을 처리하다 보면, 그런 쪽 역량도 자연스럽게 늘 것 같았다.

2. AI를 적극적으로 사용한 서비스를 만들어보고 싶었다

이유는 말 그대로다. 요즘 트렌드이기도 하고, AI를 잘 다룬다는 어필도 되고, 경험해보면 좋겠다 싶었다.

3. 친구를 보고 떠오른 아이디어

친구 중 한 명이 머천다이징(MD) 업무를 하는데, 휴대폰으로 녹음을 정말 많이 한다. 현장에서 여러 업무를 처리하다 보니 놓치는 것도 많고, 처리한 내용을 나중에 보고할 때 다시 기억해내는 것도 힘들다고 했다. 현장직이다 보니, 그때그때 메모하는 것도 힘들고..

그 얘기를 듣고, 그런 부분을 만족시킬 수 있는 서비스를 만들어보면 어떨까 하는 생각이 들었다. 짬 날 때마다 짧게 음성 메모를 남기고, 나중에 요약 기능으로 뭘 했는지 확인한 다음, 그 결과를 업무 자동화 폼에 입력까지 할 수 있게 워크플로우를 만들어볼 수 있지 않을까 싶었다.

요약 내용을 메일로 보내주는 것도 방법이고. 물론 그 친구의 니즈를 100% 채워주진 못할 거고, 비슷한 서비스가 이미 시장에 있을 것도 안다. 그래도 이런 것도 경험이니까 싶어서 만들어보기로 했다.

시작하기 전에 생각해본 것

이 프로젝트가 현실적으로 가능하려면, STT(Speech-to-Text)와 그렇게 변환된 텍스트 뭉치들을 요약해주는 기능이 잘 동작해야 했다.

상용 AI를 써보신 분들이라면 알겠지만, 요즘 AI 서비스는 요약 기능을 기똥차게 잘한다. 진짜 뒤지게 잘한다. 컨텍스트 파일 몇 개 등록해놓으면 더 잘한다. 이 부분에 대한 걱정은 없었다.

하지만, 중요한 건 STT(Speech-to-Text)가 내가 원하는 만큼 뽑아줄까에 대한 걱정이 있었다. 최근에 써본 STT는 카카오톡이랑 애플 시리 정도인데, 내 발음이 구린 건지 성능이 떨어지는 건지는 모르겠지만.. 결과가 너무 안 좋았다.

그래서 프로젝트를 진행하기 전에 STT 서비스를 제공하는 OpenAI에서 시범 테스트를 했다. 결과는 놀라웠다.

말하는 거 그대로 뽑아내는 수준이었다. 물론 비싼 모델이었긴 했지만.

카카오톡이나 애플도 STT 기능 좋은 모델로 변경한다면, 조만간 손으로 타이핑 안 할 수도 있겠다.

그래도 Workwrap 라이브에 적용하는 모델은 비용 압박 때문에 저렴한 모델인 'gpt-4o-mini-transcribe'를 사용하게 될 것 같다.

이 부족함을 메꾸기 위해선 요약기능에 맥락을 이해할수 있는 컨택스트 파일을 추가하면 좀 해결이 가능할것 같다는 생각이 있다. => 메모 자체가 좀 삐꾸가 나도, 요약에서 만회하면 되지 않을까?

물론 인풋이 좋으면 더 좋겠지만..

Workwrap 기술 스택 (확정 아님)

  • 프론트엔드: Next.js(App Router), React, TypeScript, Tailwind CSS, shadcn/ui — 컬러는 모노톤으로 잡고 라이트/다크 모드는 처음부터 지원(next-themes)
  • PWA: 서비스 워커는 Serwist(@serwist/next) — next-pwa가 유지보수가 뜸해져서 후속 격인 이쪽으로 선택
  • 음성 녹음 + 전사(STT): MediaRecorder로 몇 초 단위 청크 녹음 → gpt-4o-mini-transcribe로 순차 전사해 누적 표시(진짜 실시간은 아니고 근사치)
  • 요약(LLM): GPT-5.6 Luna, reasoning_effort: "none"으로 호출 — 요약은 추론이 필요 없는 태스크라 판단
  • 백엔드: Next.js API Routes
  • DB: Neon(Serverless Postgres) + Drizzle ORM
  • 오디오 저장: Vercel Blob
  • 인증: NextAuth(Auth.js) + Google OAuth, 로그인 후 관리자 승인이 있어야 대시보드 진입
  • 배포: Vercel

테스트 참여 부탁드립니다.

https://workwrap-ochre.vercel.app/