# ksides > ksides는 웹사이트·서비스에 HTML 한 줄로 임베드하는 채팅 위젯입니다. 방문자와 즉시 대화하고, 운영자가 자리를 비웠을 때는 이메일로 끊김 없이 이어집니다. 한국에서 1인 개발자가 직접 만들고 운영하는 SaaS이며, 2026년 현재 Phase 0(검증) 진행 중입니다. 정식 가격·SLA는 MVP 운영 3~6개월 데이터를 본 뒤 확정되며, 그때까지는 구체적 금액을 공개하지 않습니다. > ksides is a Korean-first embedded chat widget that web/SaaS sites add with a single line of HTML. Visitors can start a conversation immediately; when the operator is away, the conversation continues over email without breaking. Built and operated by a single developer in Korea on Cloudflare's serverless stack. As of 2026 it is in Phase 0 (validation); specific pricing and SLA numbers are intentionally withheld until 3–6 months of MVP operating data are available. ## What ksides is - An embedded chat widget delivered as a Web Component (Lit + TypeScript, ~5KB trigger) - One-line HTML installation, framework-agnostic - Korean-first (한국 우선), pricing in KRW - Operated as a single-person SaaS — "boring tech" + Cloudflare serverless - Built on Cloudflare Workers, Durable Objects with WebSocket Hibernation, R2, and D1 ## What ksides is not - Not a marketing automation or multi-channel suite (no WhatsApp, Instagram, etc.) - Not a CRM, meeting scheduler, full-stack help desk, or sales tool - Does not bundle AI auto-reply — customers connect their own LLM via webhook - Not currently optimized for GDPR / EU residency (planned for Phase 3+) ## Installation (Phase 1 활성화 예정 / activates at Phase 1) ```html ``` This is the final integration shape. The CDN URL `https://cdn.ksides.com/widget.js` is **not yet published** — it will go live when MVP billing opens in Phase 1. Pasting the snippet today will 404 the script. The dogfood widget on https://ksides.com itself bundles the same SDK directly from the workspace, which is why it works there. Will work in plain HTML, React, Vue, Svelte, Astro, Next.js, Nuxt, WordPress, Shopify, Wix, and Webflow once the CDN is live. ## Plans (prices intentionally withheld until after MVP) | Plan | Audience | Notable | |---------|---------------------------------|--------------------------------------------------| | Free | Small personal sites | "powered by" badge on widget | | Starter | Individuals · solo operators | Email notifications | | Growth | Small teams | Team collaboration (internal notes/mentions), webhooks (AI / 자동화) | | Scale | Higher-volume operators | Conversations unlimited (fair use), unlimited operators, SSO, priority support | Specific KRW amounts are intentionally not published during Phase 0. They will be set after 3–6 months of MVP operating data and announced before billing opens. There is no public SLA commitment yet; a Best-Effort posture is documented and a status page (https://status.ksides.com) is the source of truth. ## Differentiation - **One-line install** across React, Vue, Svelte, Astro, WordPress, Shopify, and more - **Graceful failure**: if the ksides backend is unreachable, the SDK times out in 5 seconds and disappears silently — the customer's page is never broken - **BYO-AI** via webhook: the operator chooses the LLM (ChatGPT, Claude, self-hosted) and owns the cost/quality tradeoff; ksides does not mark up tokens - **Narrow scope**: ksides intentionally avoids marketing automation, multi-channel, CRM, and meeting scheduling - **Operated by a single accountable human**; status and incidents are public - **(Phase 2 roadmap) Embedded observability**: OpenTelemetry trace export of widget events/sessions/errors into the customer's own APM (Datadog, Grafana, Sentry, WhaTap) ## Roadmap - **Phase 0** (validation, ~1–2 months): dogfooding on operator's own sites and a closed beta with 5 developer friends - **Phase 1** (MVP, ~3–4 months): paid plans open, Korean market first, Free + Starter pricing tiers - **Phase 2** (differentiation): observability export (OpenTelemetry / Datadog / Sentry / WhaTap), Growth plan launch, formalized SLA based on measured availability - **Phase 3+** (sustaining operation): global / USD pricing, GDPR readiness, ongoing DX/AX research ## Research areas (informing the product) - **DX** (Developer Experience): keeping the SDK boring, predictable, framework-agnostic - **AX** (Agent Experience): how AI agents discover and use the widget — investigating discovery (`/.well-known/ksides.json`), inquiry API, and operator-controlled trust policy for agent-originated inquiries - **Operations / Observability**: making the widget's runtime transparent in the customer's existing APM, so the chat surface is not a black box ## Contact - General: hello@ksides.com - Support: support@ksides.com - Security: security@ksides.com - Abuse: abuse@ksides.com - Waitlist: waitlist@ksides.com - Status page: https://status.ksides.com - Site: https://ksides.com ## Optional - [Domain & DNS plan](https://github.com/redlasha/kside/blob/main/docs/domain-plan.md): infrastructure layout for ksides.com (Cloudflare Pages, Workers, R2, Email Routing) - [Email routing setup](https://github.com/redlasha/kside/blob/main/docs/email-routing-setup.md): inbound mail configuration