A SaaS · AI boilerplate built for Korea
Ship a service that takes Korean payments today
Add your keys, edit a few settings, and go. Subscriptions, one-off payments, refunds, email, AI and an admin area are already wired up — along with PortOne payments and the Korean e-commerce disclosures you would otherwise build yourself.
- Sign-in in 30 min
- Deployed in 1 hour
- AI in 10 min
What's inside
The parts you rebuild for every service
All six work today. Try them in the demo, and if you like what you see, you get the same code.
Payments
Recurring and one-off payments through PortOne. Webhooks are never trusted as-is — the server re-checks with the provider, and a repeated webhook is applied only once.
- Billing-key subscriptions
- Webhook signatures
- Partial refunds
Sign-in
Google, Kakao and email magic links together. Sessions live in the database so they can be revoked instantly, and abuse limits are built in.
- Social sign-in
- Database sessions
- Account linking
Email
Receipts, expiry notices and marketing mail through Resend and React Email. Every send is logged, and the consent rules are enforced in code.
- Consent tracking
- Send log
- React Email
AI
The server calls the provider with the service's own key. Responses stream, and the plan's usage limit is checked before the call — so cost has a ceiling.
- Streaming
- Usage limits
- OpenAI · Anthropic
Admin area
Users, payments, refunds and a config check in one place. Non-admins get a 404, and promotion happens only through a server script.
- Config check
- Payment lookup
- Refunds
Korean compliance
Terms, a privacy policy, tax-inclusive pricing and the business details payment providers check. Company name and address come from one config file.
- E-commerce disclosures
- Total-price display
- Seller registration
Payments run in test mode until the payment provider's review is complete.