powerofconsciousness.ru is not a business-card website — it is a full digital ecosystem for an international-level coach Yana Tarasova (her own CNT method). It bundles a public site, a user dashboard, a Telegram bot with an AI assistant, online payments with e-signed contracts, a 5-level MLM affiliate programme, an admin CRM and a content engine with AI image generation — all on a single backend and one shared database.
Technology stack
- Frontend: React + Vite (SPA, lazy code-split by route), custom design, fully responsive.
- Backend: Django + REST API + Django Unfold admin.
- Telegram bot: aiogram 3 + asyncpg (connection pool).
- Database: PostgreSQL 14 (shared between the website and the bot).
- Payments: bank payment gateway + idempotent webhooks, tax-compliant electronic receipts.
- AI: OpenAI GPT + Google Gemini / Imagen 4.
- Email: SMTP + Mailgun, DKIM/SPF.
- Infrastructure: nginx, supervisor, Let's Encrypt SSL, Cloudflare, rclone backups to Google Drive, error monitoring (GlitchTip) and uptime tracking (UptimeRobot).
- Integrations: iCloud calendar sync (CalDAV), qualified electronic signature.
Full list of implemented features
🌐 Website and pages
- Home page with rotating hero photos and a shimmer pre-loader
- Events programme with filters and drag-scroll
- A catalogue of 21 trainings, with a dedicated page for each (
/training/<slug>) - Blog with articles, videos and filters across 7 categories
- "About Yana" page (timeline, methodology, statistics, corporate clients)
- Individual coaching with a booking form
- A hub of 11 interactive practices (flash cards, breathing, MAC cards, grounding) with progress stored in localStorage
- CTA after each practice → matching training (practice-to-training mapping)
- "Documents" section — 7 legal documents (~110,000 characters)
- Contacts and a 404 page with auto-search
- Full mobile adaptation, mobile TabBar, lazy loading, ScrollToTop
🔐 Authentication
- Sign-up and login via Telegram OTP (code delivered into the bot)
- Login by phone OR email + password (a single smart field that auto-detects the format)
- Country picker for the phone number (a lightweight in-house selector)
- Password set / change, password recovery by email
- Bot account linked to the Django user
👤 User dashboard
- Profile (name, phone, email, city, date of birth)
- A 7-tier loyalty rank with a progress bar
- A checklist of 21 programmes (what is taken / what is available)
- Order history, cancellation of an unpaid order
- L1–L5 affiliate tree and a referral link
- Sticky tab navigation, jump to the admin for staff members
- Notifications (Telegram + email)
💳 Payments and affiliate programme (MLM)
- Online payments through a bank gateway, success / failure pages
- Idempotent webhooks (protect against double crediting)
- MLM down to 5 levels, Decimal-precise maths, self-referral and cycle protection
- Order deduplication, tax-compliant receipt, "thank you for your purchase" email
- Qualified e-signature of the offer on the website and inside the bot + document hash and full-text archive
- Prices from a single source of truth (TrainingCatalog)
- Affiliate payouts: partner request + admin-initiated, receipt confirmation, balance debit
🤖 Telegram bot @SilaSoznaniyaYT_Bot
- AI assistant (GPT / Gemini) with conversation memory and logging
- Training menu with a category tree, schedule by months
- Materials library (a button leads to the article on the website)
- Profile, referral link + QR, affiliate section with history and statements
- Promo codes, payments with e-signature directly inside the bot
- Scheduler: nightly import, deactivation, push reminders before a programme starts
- Fail-fast environment checks, admin alerts on failures
🛠 Admin (Django Unfold, CRM)
- Event calendar (FullCalendar), inline price editing in a table
- Register of electronic signatures
- Custom pages: Finance, Loyalty, Affiliates, a stats dashboard, a visual affiliate tree
- Customer card: bonuses, ban / unban / freeze, notes, favourites, view of the AI-assistant conversation, direct message, affiliate network
- Bulk actions: Telegram broadcast, Excel export, staff assignment, re-engagement, rank changes
- Manual order creation, announcement page with segment selection
- Quick affiliate toggle in the user list
🧠 AI infrastructure
- Log of every AI request, model settings
- RAG knowledge base (AISmartContent)
- Sentiment and topic analysis of conversations, customer fact extraction (name, city, interests)
- AI-powered meaning expansion in search
📝 Content engine
- A single Article model: one publication = website + bot (dual content)
- 70 real articles (7 clusters × 10), all with images
- Automatic image generation via Gemini Flash + Imagen 4 (banks of 210 archetypes, 3 unique images per article)
- Markdown, video (YouTube / RuTube / Vimeo), auto-previews in 3 sizes
- A management command to publish articles
🔎 Search
- Full-text search (PostgreSQL tsvector) across articles and events
- A static index across the 21 trainings and 12 pages
- AI fallback (Gemini) when there are zero results
- Search modal: Cmd+K, arrow-key navigation, debounce, match highlighting; a search icon on desktop, a FAB on mobile
🔍 SEO / GEO / AEO
- Sitemap.xml + robots.txt, canonical + hreflang
- Schema.org markup: EducationalOrganization, Course, BlogPosting, FAQPage, BreadcrumbList
- OG / Twitter meta tags, server prerender of blog posts so sharing previews look correct
- Web analytics, AI Overviews readiness,
llms.txt/llms-full.txt
- A service with two backends (SMTP + Mailgun), DKIM / SPF
- Emails: order confirmation, welcome, password recovery, affiliate bonus
- Segmented event announcements (partners / past buyers / new) sent in daytime batches
- Newsletter unsubscribe (working opt-out)
📅 Calendar
- An iCal feed for subscribing in any calendar app
- iCloud calendar sync (CalDAV) — event dates are pulled in automatically
⚡ Performance
- Click-to-play video (facade: the player loads only on click, −~480 KB JS)
- Self-hosted font (render-blocking Google Fonts removed) + preload
- Static pre-compression (gzip_static), cache headers, WebP images + mobile variants
- Home page prerender (LCP poster) with an instant fallback through nginx
- Result: desktop 98/100 PageSpeed
🛡 Security and reliability
- Payment idempotency, money arithmetic safety (Decimal + atomic operations)
- SQL injection protection, escaping of user input
- CSP and security headers, API rate-limiting (anti-DDoS), Cloudflare
- Database backups on Google Drive, error monitoring (GlitchTip) and uptime (UptimeRobot)
📦 Infrastructure / DevOps
- Monorepo, supervisor (web + bot), nginx, SSL with auto-renewal
- One-step backend / frontend deploy scripts
- 35+ database migrations, an egress proxy for outbound requests to Telegram / AI APIs, backups

