Celindra — building a live options trading education platform
Celindra runs live options trading courses with Cristian Sima — 2-day intensive in Bucharest plus 3-day retreats in Covasna. Around them: an active Discord community with materials, live Q&A, and 1:1 consultancy. The model worked. The tech behind it didn't. Each new student meant 2-3 hours of admin work for a single course.
Business context
The traditional admin process was completely manual: Cristian received intent emails, replied with IBAN, waited for bank confirmation (sometimes 2-3 days), manually sent Discord invites, manually added to spreadsheet. For a single course with 30 people, that meant ~30 admin hours that ate into prep time for materials.
The required solution: site with interactive menu, direct online ordering, integration with own courier (or Sameday for unreached zones), online payments, SMS notifications for order status, kitchen dashboard with auto-print. Plus integration with the existing POS system.
Tech stack & key decisions
Stack chosen for maintainability
The restaurant had no technical team. We picked Next.js + Supabase — a stack a junior dev could pick up immediately if they hire one in 2 years. Stripe Checkout for payments. Discord automation via webhook + dedicated bot.
Discord integration via webhook + bot
When someone pays a course, Stripe webhook → backend creates DB record → backend generates single-use Discord invite (24h expiry) → Resend sends email with credentials in <30 seconds → Discord bot moves user to right channels.
Cost-conscious infrastructure
Hetzner CPX31 + Cloudflare = €35/month total. Same app on AWS would have run €300-€500/month.
Measured outcomes
Key takeaways
- Idempotency is mandatory for any payment integration. Failed webhooks will exist — the question is whether you respond or lose money.
- Discord rate limits aren't well documented. Plan with buffer — queue with delay is safer than naive retry.
- Hetzner + Cloudflare delivers 90% of AWS at 10% of the cost for stable, EU-bound workloads under 100k MAU.
- Stripe Checkout pre-built > custom checkout for projects under 10,000 transactions/month.
- Code ownership from first commit is the only way to win client trust. It's not marketing — it's business hygiene.
«In the first 6 months we increased monthly courses from 1 to 3 without adding a single second of manual admin. Faintech delivered exactly what we asked, on time, with code that looks clean when I open GitHub.» — Cristian Sima, founder Celindra