One person runs this site. These are the tools behind it, each one checked against the code on 29 Oct 2026. A tool we only tried, or only plan to use, is not on the list.
- Netlify
Hosts the static site and runs the server code: about 232 files in netlify/functions.
In the code: netlify.toml, netlify/functions/
- Supabase
Login and the database: accounts, subscriptions, logs. The person comes only from the Supabase token, never from what a page sends.
In the code: netlify/functions/kriya-core.js, lib/
- DigitalOcean
One server (a “droplet”) in Bangalore that makes the podcast audio and the daily video and runs n8n; its Spaces storage holds the video files.
In the code: worker/server.js, worker/run-daily-video.sh
- Claude
The model behind the chat answers in Kriyā and Beacon and the replies in Slack.
In the code: netlify/functions/intelligence-chat.js, netlify/functions/slack-events-background.js
- Sarvam
Indian-language speech: text to speech for Listen and the Hindi video, speech to text for voice questions.
In the code: lib/voice.js
- ElevenLabs
Voices for the product clips, with a meter that reads the remaining credits.
In the code: scripts/build-product-clip.py, netlify/functions/voice-credits.js
- Resend
Sends the email: the daily brief and the payment-failed notices.
In the code: netlify/functions/newsletter.js, netlify/functions/payment-failed.js
- PostHog
Counts what people do on the site, and feeds the weekly funnel report.
In the code: posthog-config.js, netlify/functions/funnel-weekly.js
- Razorpay
Creates the order and confirms the payment through its webhook. Some paid plans are still switched off.
In the code: netlify/functions/create-order.js, netlify/functions/razorpay-webhook.js
- Slack
Gets the daily run report and the video alert, and passes questions to the model.
In the code: netlify/functions/video-notify.js, netlify/functions/slack-events-background.js
Prices for these tools are on their own pages, with the date we read them. See also how we score tools.