BestSites (구 ONWI)

BestSites · 창립자 / 프로덕트 엔지니어

무료 커뮤니티 런칭은 투표로 경쟁하고, 유료 노출은 결제 금액순으로 정렬되는 별도 보드에 두며, 모든 노출 주장을 명확히 공개하는 다국어 발견 보드를 구축하고 출시했습니다.

  • 로그인, 투표, 검토를 갖춘 무료 일일 커뮤니티 런칭과 함께 유료 순위 보드, 카테고리 보드, 검색, 상세 페이지, 인사이트를 출시했습니다.
  • 유료 좌석은 계정 없이 유지했습니다. 결제 완료가 좌석을 확보하고 listing 게시를 위한 단기 권한을 발급합니다.
  • 브라우저를 신뢰하지 않고 최소 권한 Postgres 함수에서 가격, 영수증, 게시, 투표, 클릭 무결성 규칙을 강제했습니다.

Next.js 16 · React 19 · TypeScript · Tailwind CSS 4 · Supabase Postgres · Polar · next-intl · Recharts · SaaS Pro Max

배경

BestSites는 bestsites.si에서 운영하는 웹사이트·제품 발견 보드입니다. 2026년 8월 onwi.lol의 유료 노출 보드 ONWI로 시작했고, 2026년 10월 9일에 이름을 바꿨습니다. 이전 도메인의 모든 페이지는 새 도메인으로 영구 리디렉션됩니다. 사이트는 한국어, 영어, 우즈베크어로 제공됩니다.

보드에는 두 개의 순위가 따로 있습니다. 커뮤니티 런칭은 무료이며 투표로 순위가 정해집니다. 유료 노출은 별도 보드에 있으며, 그 순서는 결제 금액일 뿐 품질이나 인기 점수가 아닙니다.

문제

스폰서 기반 발견 제품은 광고와 편집 순위의 경계를 흐리는 경우가 많습니다. 단순할 수 있는 거래에 계정, 대시보드, 불투명한 경매 규칙을 추가하기도 합니다. BestSites는 상업적 구조를 분명히 밝히고, 순위 변화를 결정적으로 만들며, 브라우저에 데이터베이스 권한을 노출하지 않은 채 모든 금전 관련 전환을 보호해야 했습니다. 또한 아직 비용을 낼 준비가 되지 않은 메이커를 위한 무료 경로도 필요했습니다.

접근 방식

유료 좌석은 결제를 권한의 근거로 설계했습니다. 서버가 현재 좌석 가격을 읽고 유효한 다음 금액을 계산해 체크아웃을 생성하며, 검증된 영수증이 사용된 뒤에만 게시합니다. 구매자는 계정이 필요 없습니다. 결제가 하나의 listing 이름을 정할 수 있는 단기 권한을 만들지만 가격, 게시 상태, 클릭 수에는 접근할 수 없습니다.

무료 런칭은 다르게 작동합니다. 메이커가 Google이나 이메일 코드로 로그인해 웹사이트를 제출하면, 검토를 거쳐 한국 표준시 기준 다음 날 런칭 그룹에 합류합니다. 계정마다 런칭 하나에 한 번만 투표할 수 있고, 결제는 커뮤니티 순서를 바꾸지 못합니다.

무료 런칭과 유료 노출 경로를 나란히 보여 주는 BestSites 홈페이지

출시한 기능

  • 검토, 계정당 하루 하나의 런칭, 투표, 검토 상태를 보여 주는 내 런칭 페이지를 갖춘 무료 일일 커뮤니티 런칭
  • 실시간, 24시간, 7일, 30일 구간을 갖춘 유료 순위 보드와 카테고리 보드, 디렉터리, 검색, 상세 페이지, 인사이트
  • 아직 아무도 결제하지 않은 카테고리의 무료 첫 좌석. 유료 좌석과 같은 검토를 거치고 무료로 명확히 표시됩니다.
  • 부스트, 리런칭, 스포트라이트를 위한 Polar 체크아웃·웹훅 처리와 영구 영수증 페이지
  • 현지화된 메타데이터와 광고 고지를 포함한 한국어, 영어, 우즈베크어 경로
  • listing이나 수정 사항이 공개되기 전에 실패 시 차단 원칙으로 작동하는 자동·사람 검토
  • 공개 런칭·순위 가이드, AI가 읽을 수 있는 상세 페이지, SaaS Pro Max 기반 동의형 분석

무료 커뮤니티 런칭과 유료 노출을 비교하는 BestSites 런칭 가이드

결과

  • BestSites는 bestsites.si에서 운영 중이며, onwi.lol의 모든 페이지가 이곳으로 리디렉션됩니다.
  • 메이커는 무료로 런칭해 투표로 경쟁하거나, 순서가 광고임을 분명히 밝힌 별도 보드에서 노출을 구매할 수 있습니다.
  • 브라우저는 Supabase 자격 증명을 받지 않고, 애플리케이션 역할은 marketplace 행을 직접 삽입·수정·삭제할 수 없습니다.

ONWI에서 BestSites로의 변경 안내에서 새 이름, .si 도메인, 무료 런칭 규칙을 자세히 설명합니다.

기술 메모

BestSites는 Next.js 16, TypeScript, Tailwind CSS 4, next-intl, Recharts, Supabase Postgres로 구성됩니다. 브라우저 읽기는 애플리케이션 API를 통과하고, 쓰기는 정수 달러 단위, 단조 증가 금액, 일회성 영수증, 계정당 한 번의 투표, 웹훅 멱등성을 강제하는 검증된 SECURITY DEFINER 함수로만 제한됩니다. 클릭은 원본 IP 주소를 저장하지 않고 salted 방문자 해시와 분 단위 중복 제거를 사용합니다.