One Go puzzle a day — with streaming DeepSeek AI coaching in 中 / EN / 日 / 한.
Languages: English (this page) · 中文 · 日本語 · 한국어
go-daily is a production-oriented daily tsumego (Go life-and-death) platform: one focused puzzle per day, full Chinese / English / Japanese / Korean UX, and streaming AI coaching via DeepSeek (coachPrompt.ts anchors replies to curated explanations and board metadata; persona voices and fair-use quotas apply).
Technically, the product is a Next.js 16 (App Router) stack on Supabase (Auth, Postgres, RLS), Stripe for subscriptions, and a deliberately nine-domain layout under lib/ so behaviour stays traceable as the system grows.
| Focus | What you get |
|---|---|
| Daily practice | Curated puzzles, habit-friendly flow, keyboard-accessible board |
| AI coach | Streaming coach API, fair-use quotas, persona system, puzzle quality-tier eligibility |
| Global product | Locale-prefixed routing, SEO-scale sitemap with the puzzle corpus, adaptive pricing |
| Operations | Documented APIs & schema, automated CI (format → lint → validate → typecheck → test → build), security disclosure process |
Phase 3 first-pass readiness is complete: content quality baselining, the learning loop, commercial copy, funnel events, AI safety/cost controls, launch materials, and production configuration checks are documented. On 2026-05-19, the production release window passed: Vercel Production redeploy, Resend real-send smoke, and Stripe live $1 payment/refund smoke all succeeded; final preflight:prod -- --check-remote --stripe-mode=live passed with 123 pass / 0 warn / 0 fail.
Public release actions remain separate and require explicit approval: pushing code, creating a GitHub release, public announcements, and external user outreach.
For a concise product/engineering narrative, see the case study. For launch operations, see the Chinese-first launch checklist.
Authoritative technical and product documentation is the eight-pillar, four-locale library under docs/. Use the hub to pick your language (en / zh / ja / ko).
| I need… | Start here (English) |
|---|---|
| Vision, strategy, phases | Concept & strategy |
Request lifecycle, lib/ domains, security boundaries |
Architecture |
| SRS, entitlements, subscriptions, coach rules | Product specifications |
| Deploy, env, tests, preflight | Operations & QA |
| Release readiness / roadmap cues | Project status |
| HTTP routes & payloads | API reference |
| Tables, indexes, RLS | Database schema |
| Legal posture (multi-jurisdiction) | Legal & compliance |
Also: Changelog · Security · Code of Conduct · Contributing · Contributing (中文) · License · Commercial licensing
- Node.js 22.5+ (see
package.jsonengines) - A DeepSeek or OpenAI-compatible API key (coach)
- Supabase project (optional for local dev; anonymous mode works without it)
git clone https://github.com/frank99-owl/go-daily.git
cd go-daily
cp .env.example .env.local
npm install
npm run devOpen http://localhost:3000 — locale negotiation redirects to /{zh|en|ja|ko}/....
Common local verification commands:
npm run validate:messages
npm run lint
npx tsc --noEmit
npm run test
npm run build| Layer | Choices |
|---|---|
| UI | Next.js 16, React 19, Tailwind CSS v4, Framer Motion |
| Data & auth | Supabase (Postgres + RLS), tiered client storage |
| Payments | Stripe (adaptive pricing, trials) |
| AI | DeepSeek Chat API (coachPrompt.ts coach pipeline: streaming, personas, quotas) |
| Edge | Upstash Redis rate limiting (required in production for standard deployments) |
| Resend (transactional, where configured) |
Issues and PRs are welcome where policy allows. See Contributing for domain layout, i18n checks, CI expectations, and contribution terms. Please follow the Code of Conduct. Report vulnerabilities per SECURITY.md — please do not open public issues for undisclosed security problems.
Copyright © 2026 Frank. See LICENSE.
Source-available under the PolyForm Perimeter License 1.0.1. Providing a competing product requires separate permission; see Commercial licensing.