Edge platform (eSwara VM)
Shared Caddy TLS front door, Docker Compose services, systemd units, and state-preserving deploy scripts. Secrets and runtime DBs stay on the VM; rsync excludes .env, rosters, MQTT ACLs, and correlation state.
Systems · Cloud · Embedded · Real-time UX
This site summarizes work spanning a FastAPI trading platform (Suvriddhi), Oracle Cloud edge infrastructure with OAuth and SSH tunnels, a multi-channel notification bus, ESP32/STM32 microcontroller systems, and music-tech applications (likhAmi, Finger Drums, Swara Laya).
Shared Caddy TLS front door, Docker Compose services, systemd units, and state-preserving deploy scripts. Secrets and runtime DBs stay on the VM; rsync excludes .env, rosters, MQTT ACLs, and correlation state.
Google OAuth via oauth2-proxy with separate email allowlists for family and TradeX. Identity headers are injected only after OAuth; an nginx gate token blocks spoofed headers through SSH tunnels. Local RDP and Schwab OAuth callback forwards keep admin and broker flows on loopback.
FastAPI hub fans out alerts with correlation IDs to WhatsApp (Whapi), Telegram, SMS (Twilio), and email. Inbound YES/NO webhooks map replies back to the originating alert. Slack is a planned adapter, not yet implemented.
TradeX / devices
│ POST /api/notify · MQTT
▼
Notify hub (eSwara) ──► WhatsApp / Telegram / SMS / email
│ webhooks (YES)
▼
TradeX YES consumer · human-in-the-loop execution
Public and private names on the eSwara edge VM. Google OAuth gates use per-host email allowlists. Traffic to the Suvriddhi OCI machine is not a DNS redirect — TLS stays on eSwara and an SSH tunnel carries the app.
| Host | What it is | OAuth gated | Notes |
|---|---|---|---|
| Static pages | |||
| portfolio.eswara.com | This engineering showcase | No | Public static site |
| school.eswara.com | Carnatic school of arts | No | Public static site |
| Websites | |||
| www.eswara.com eswara.com preview.eswara.com | Product catalog + India orders | No | Apex eswara.com permanently redirects to www. preview is the same catalog |
| admin.eswara.com | Store order / analytics dashboard | Yes | Private back office for www |
| Pay apps / free services | |||
| karnatiktok.eswara.com karnatiktok.com www.karnatiktok.com | karnaTikTok — Carnatic practice | Yes | One app, one Google OAuth allowlist |
| vibe.eswara.com test1.eswara.com | Party projector visuals | No | Mic listens to room audio (YouTube through speakers) to pick up beat, BPM, and energy so the canvas follows the music. Local files use Web Audio instead — the browser cannot tap YouTube’s soundtrack |
| subham.eswara.com | Hindu calendar reminders (ICS) | Yes | Google OAuth allowlist |
| family.eswara.com | Family launcher + chaNakya chat | Yes | Google OAuth allowlist |
| tradex.eswara.com | TradeX trading UI | Yes | OAuth on eSwara, then SSH tunnel → Suvriddhi OCI (pnl_server). Public exception: /whatif |
| Infrastructure | |||
| notify.eswara.com | Notification hub (WhatsApp / Telegram / SMS / email) | No | API bearer token, not OAuth. YES replies are forwarded to TradeX on Suvriddhi OCI |
mqtt.eswara.com |
Mosquitto MQTT broker | No | MQTT credentials on port 1883 — not an HTTPS site |
| automation.eswara.com | WLED / Node-RED automation | No | Public HTTPS front door; Node-RED /nodered may have its own login |
Cloud-operated decision-support and trading platform: portfolio views, option strategy screeners, order preview/submission, WebSocket terminal, and background scanners. Broker integrations include Schwab OAuth APIs and Fidelity session workflows.
Portfolio statement describes engineering scope only — not trading performance.
Operational infrastructure for two OCI instances: Suvriddhi (app workload) and eSwara (edge platform). Deploy automation preserves server-side secrets; SSH config provides named hosts and localhost-only RDP tunnels.
.env stateCloud + device stack for addressable LEDs and product firmware: ESP32 WLED fork with MQTT defaults wired to the OCI broker, plus STM32/Kinetis audio metronome firmware lineage.
Commercial Carnatic practice instrument lineage (Laya / Siddhi / Sadhana): looping tambura/sruti, 175-tala metronome, LCD UI, and hand-board kriya LEDs. Active work ports the long-shipped NXP Kinetis baseline to STM32 with PlatformIO + libopencm3.
Cross-platform transcription workspace for Indian classical music: capture lyrics, sargam, and rhythmic syllables into beat-aligned notation with script-aware editing and export.
Browser-based virtual drum kit driven by webcam hand tracking: fingertip collisions against pads, gesture heuristics, metronome, and timestamped recording/replay.