고장 난 Lovable 및 Bolt 앱을 누가 고칠까? 실제 옵션 비교
요약
Lovable 및 Bolt와 같은 AI 기반 앱 빌더로 제작된 앱에서 발생하는 주요 오류 유형과 해결 방안을 비교합니다. 직접 수정, 프리랜서 고용, 전문 서비스, 에이전시 활용 등 네 가지 대응 옵션과 함께 구체적인 기술적 체크리스트를 제공합니다.
핵심 포인트
- 앱 오류 발생 시 비용과 속도에 따른 4가지 해결 옵션 제시
- Supabase RLS 정책 및 인증 세션 쿠키 문제 확인 방법
- Magic-link 만료 문제 해결을 위한 verifyOtp 전환 권장
- Vercel 배포 시 환경 변수 누락으로 인한 흰 화면 문제 해결 가이드
Lovable과 Bolt 앱이 고장 났을 때 네 가지 종류의 도움으로 해결할 수 있습니다: 직접 몇 가지 핵심 검사를 통해 스스로 고치거나; Upwork나 Fiverr 같은 마켓플레이스의 프리랜서를 고용하거나; 전문적인 '바이브 코드(vibe-code)' 복구 서비스를 이용하거나; 또는 개발 에이전시를 고용하는 것입니다. 적절한 선택은 비용, 속도, 위험도에 달려 있으며, 대부분의 오류는 동일한 다섯 가지 실패 패턴에서 비롯되므로, 누군가에게 돈을 지불하기 전에 아래 검사를 먼저 실행해 보세요.
각 옵션에 대한 한 문장 요약 버전:
- 직접 고치기. 무료이며, 앱이 아래의 다섯 가지 패턴 중 하나와 일치하는 경우 보통 1시간 안에 해결됩니다.
- 마켓플레이스 프리랜서 고용. 일반적으로 $30에서 $150 사이이며, 품질은 우수할 수도 있지만 원래 버그보다 더 나쁠 수도 있습니다.
- 전문 복구 서비스 이용. AI로 구축된 앱만 전문적으로 수리하는 업체들로, 보통 귀하가 겪는 정확한 오류를 이전에 경험해 본 적이 있습니다.
- 에이전시 고용. $1,000 이상이며, 지속적인 개발에는 적절하지만 단 한 번의 배포 실패에는 과도합니다.
이 답변은 또한
확인 사항: Supabase SQL 편집기를 열고 anon 역할을 사칭하는 것이 아니라 authenticated 역할을 사칭하여 실패한 쿼리를 실행해 보세요. 여기서도 실패한다면 정책(policy)이 문제이지 앱 코드가 문제가 아닙니다. 해결책은 RLS를 비활성화하는 것이 아니라 INSERT 정책을 작성하는 것입니다.
2. 서버는 로그인된 것으로 생각하지만, 클라이언트가 다르게 인식함
증상: @supabase/ssr를 사용하는 Next.js App Router 앱에서 서버 코드는 사용자를 읽을 수 있지만, 페이지는 로그아웃 상태로 렌더링되거나, 로그인 시도 후 다시 로그인 화면으로 리다이렉트되는 경우.
일반적으로 의미하는 바: 세션 쿠키가 인증 콜백(auth callback) 이후에 리다이렉트를 거치면서 살아남지 못했거나, 클라이언트가 서버가 작성한 것과 다른 이름의 쿠키를 읽는 경우.
확인 사항: 콜백 응답에서 쿠키 이름을 기록하고, 이를 클라이언트가 받는 내용과 비교해 보세요. 누락된 쿠키나 두 개의 다른 이름이 있다면 그것이 답입니다.
3. Magic-link 로그인 실패 시 "otp_expired" 또는 "email link is invalid"
증상: 사용자가 이메일로 받은 로그인 링크를 클릭했는데, 몇 초 간격으로 클릭했음에도 만료되었다는 메시지를 받는 경우.
일반적으로 의미하는 바: 기업 및 대학의 사서함(inbox)이 인간보다 먼저 링크를 열어 일회용 토큰을 소모시켰기 때문입니다. 이러한 현상은 회사나 학교 환경에서 끊임없이 발생합니다.
해결책 방향: 사용자가 직접 입력해야 하는 코드를 사용하는 verifyOtp로 전환하세요. 사용자가 타이핑하는 코드는 링크를 따라가는 스캐너에 의해 소모될 수 없습니다.
4. 배포는 성공했으나, 프로덕션 환경에서 흰 화면이 나타남
증상: Vercel 빌드는 통과하고, 배포 상태는 녹색이며, 라이브 URL은 빈 페이지인 경우. 로컬에서는 모든 것이 정상 작동함.
일반적으로 의미하는 바: Vercel 프로젝트 설정에 환경 변수가 누락되었거나 비어 있는 경우입니다. 로컬에서 작동하는 이유는 .env.local 파일이 존재하기 때문인데, 이 파일은 배포되지 않습니다. 빈 값의 변수도 누락된 변수만큼 치명적이며 발견하기 더 어렵습니다.
확인 사항: 라이브 URL의 브라우저 콘솔에서 정의되지 않은(undefined) 설정 값을 찾고, 이를 Vercel 환경 변수 목록과 .env.local을 줄 단위로 비교해 보세요.
5. 빌더 미리보기에서는 작동했으나, 내보내기 후 깨짐
5. 빌더 미리보기에서는 작동했으나, 내보내기 후 깨짐
증상: 빌더 미리보기 URL에서는 모든 것이 작동했지만, 내보내기하여 자체 도메인에 배포한 후 리디렉션이 잘못된 곳으로 가거나 요청이 실패합니다.
일반적으로 의미하는 바: 하드코딩된 미리보기 URL 또는 인증(auth) 리디렉션 URL이 여전히 빌더의 도메인을 가리키고 있으며, 사용자의 도메인이 아닙니다.
확인 사항: 코드베이스에서 빌더의 도메인 문자열을 검색한 다음, 인증 사이트 URL과 리디렉션 허용 목록에 프로덕션(production) 도메인이 포함되어 있는지 확인합니다.
만약 이 중 하나가 일치한다면, 누군가를 고용할 필요가 없을 수 있습니다. 만약 아무것도 일치하지 않거나 직접 수정하고 싶지 않다면, 여기 고용이 어떤 모습인지 설명합니다.
솔직하게 비교한 네 가지 옵션
| 옵션 | 일반적인 비용 | 속도 | 실제 위험성 |
|---|---|---|---|
| 직접 해결 | $0 | 저녁 시간 | 보안 기능을 비활성화하여 오류를 무마하는 것 |
| ... | |||
| 직접 해결. 실패가 알려진 패턴과 일치할 경우 무료이며 진정으로 실행 가능한 옵션입니다. 한 가지 경고: 보안을 끄는 방식으로 보안 오류를 절대 사라지게 만들지 마십시오. RLS(Row-Level Security)를 비활성화하거나 서비스 역할 키를 브라우저 코드에 넣는 것은 데이터베이스를 인터넷의 누구에게나 열어둡니다. |
마켓플레이스 프리랜서. 종종 가장 저렴하고 유능한 옵션이며, 훌륭한 사람들이 많이 있습니다. 문제는 편차가 크다는 것입니다: 같은 $80로 깔끔하게 수정할 수도 있고, 되돌리는 데 더 많은 비용이 드는 지저분한 결과물을 얻을 수도 있습니다. 유용한 필터: 답변에서 특정 오류와 그럴듯한 원인을 명시하는지, 아니면 단순히
저희는 specialized service 중 하나인 Vibe-Code Rescue를 rescue.ticassociation.com에서 운영하고 있습니다. 진단은 무료입니다. 오류 코드를 붙여넣어 주시면, 무엇이 고장 났는지, 그리고 그것을 수정하는 데 어떤 과정이 필요한지 설명해 드립니다. 이 진단 결과는 프리랜서에게도 포함하여 어디든 가져가실 수 있습니다. 만약 저희에게 수정을 맡기시려면, $90의 일괄(flat) 비용이 발생하며, 수정된 내용이 실제 앱에서 작동하는 것이 확인된 후에만 지불하시면 됩니다. 이것은 위에 제시된 네 가지 옵션 중 하나일 뿐, 유일하게 합리적인 선택지는 아닙니다.
누가 여러분의 앱을 고치든 상관없이, 결과물의 보안 여부를 무료로 확인할 수 있습니다. ticassociation.com/supabase-rls-audit에 있는 저희 Supabase RLS auditor는 Supabase SQL 에디터에서 실행하는 읽기 전용(read-only) SQL 파일입니다. 이 파일은 아무것도 쓰지 않고 아무것도 변경하지 않으며, AI가 구축한 앱들이 조용히 노출되기 쉬운, RLS가 비활성화되었거나 정책이 누락된 테이블들을 나열해 줍니다.
요약
먼저 다섯 가지 점검을 실행하세요. 이것들은 대부분 고장 난 Lovable 및 Bolt 앱을 커버합니다. 만약 사람이 필요하다면: 프리랜서가 가장 저렴한 도박이며, 리스큐 서비스는 예측 가능성을 위해 일괄 비용을 거래하고, 에이전시는 하나의 수정 사항만 구매하는 것이 아닐 때만 의미가 있습니다. 어떤 것을 선택하든, 정확한 오류 텍스트를 보관하고, 수정이 어떻게 검증될지 물어보며, '저희가 보안 규칙을 비활성화했습니다'라는 답변을 절대 해결책으로 받아들이지 마세요.
A TIC Association 제작.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기