Shishir Poudel — ML engineer in Nepal
ML engineer in Nepal. I build real-time voice AI (speech recognition → language model → speech synthesis) that serves 1,000+ concurrent conversations on self-hosted infrastructure in Nepal, retrieval with locally deployed LLMs, and the product systems around them.
This page: Voice home. Real-time voice AI that listens and answers out loud, with swipeable demos of each project.
[email protected] · GitHub · LinkedIn · Résumé
Selected work
Real-time voice AI (Next AI)
Speak to it, it talks back. A streaming speech pipeline I built that serves 1,000+ concurrent conversations on self-hosted infrastructure in Nepal.
- < 700 ms — voice-to-voice target
- 1,000+ — concurrent sessions
- Self-hosted — own infrastructure, in Nepal
What I did:
- Designed and built the STT → LLM → TTS pipeline and its orchestration
- Fine-tuned Piper (TTS) and Gemma 3; deployed OmniVoice and Qwen3-TTS
- Run it self-hosted in Nepal for 1,000+ concurrent users
How it works: User's phone (mobile app · mic + speaker) → LiveKit room (WebRTC) → Speech → text (Whisper · Nemotron · IndicConformer) → Language model (local Gemma · Gemini · DeepSeek) → Text → speech (OmniVoice · Qwen3-TTS · Kokoro · Piper).
Built with: Python, FastAPI, LiveKit, WebRTC, Whisper, Gemma, Qwen3-TTS, Piper.
Customer-support AI (Next AI)
Answers support questions from the company's own documents, using a language model that runs on our own hardware.
- Local — self-hosted LLM
- Grounded — answers from retrieved docs
- Gemma 3 — fine-tuned for support
What I did:
- Built the retrieval workflow over the support knowledge base
- Deployed local LLM inference
- Fine-tuned Gemma 3 for support replies
How it works: Customer question (chat) → Support docs (chunked + embedded) → Retriever (vector search) → Prompt builder (question + top chunks) → Local LLM (fine-tuned Gemma 3) → Answer (back to chat).
Built with: Python, RAG, Embeddings, Vector search, Gemma 3.
Manufacturing ERP (Product work)
Factory staff log production on a phone, even with no internet. Data syncs when they're back online, separated per company.
- Offline — works with no signal
- Paged sync — push / pull
- Per-tenant — row-level security
What I did:
- Built production workflows and BOM-driven dynamic forms
- Worked on offline storage and paged push / pull sync
- Built configurable reports and a generative dashboard
How it works: Form blueprint (JSON + bill of materials) → Mobile app (React Native · Expo) → On-device DB (WatermelonDB) → Sync (push / pull in pages) → PostgreSQL (Supabase · RLS per tenant) → Reports (validated dashboard specs).
Built with: React Native, Expo, TypeScript, WatermelonDB, Supabase, PostgreSQL.
Multi-company CRM (Product work)
One CRM app serving many businesses. Each company only ever sees its own people, deals and tasks.
- Multi-org — one app, many companies
- Roles — per workspace
- Web + mobile — one codebase
What I did:
- Built React Native / Expo workflows and shared UI
- Built org-scoped query state and typed feature APIs
- Worked on auth, workspace roles and row-level security
How it works: Web & mobile app (Expo Router) → Client cache (TanStack Query · keyed by org) → Auth & roles (workspace roles) → PostgreSQL (row-level security) → Company A data (isolated rows) → Company B data (isolated rows).
Built with: React Native, Expo Router, TanStack Query, Supabase, PostgreSQL, Zod.
Freight dispatch (In development)
Factories request a truck, transport operators assign one, drivers check in at each stop. Everyone sees the same trip.
- 3 roles — factory · operator · driver
- 4 checkpoints — per delivery
- Typed — validated commands
What I did:
- Built load requests and truck / driver assignment
- Connected typed RPC commands and validated forms to Supabase
- Built shared trip state with revision checks
How it works: Factory (load request) → Transport operator (assign truck + driver) → Commands (typed RPC · revision check) → Shared trip (PostgreSQL · per-party access) → Driver app (checkpoints).
Built with: React Native, Expo, TypeScript, Supabase RPC, PostgreSQL, Zod.
Experience
- AI Developer, Next AI (Nov 2025 — now): Real-time voice AI and speech models. Fine-tuned Gemma 3 and Piper; deployed OmniVoice and Qwen3-TTS; building local Nepali STT, LLM and TTS.
- Full-Stack Developer (contract), Simal (Jun 2025 — now): ERP, CRM and freight dispatch apps in React Native, Supabase and PostgreSQL.
Skills
- Speech: STT, TTS, fine-tuning, streaming pipelines
- LLMs: RAG, local inference, Gemma, structured output
- Real-time: LiveKit, WebRTC, WebSockets, FastAPI
- Product: React Native, TypeScript, PostgreSQL
- Infra: Linux VMs, Docker, CI/CD
NASA Space Apps 2023 — Honourable Mention · Hackathon winner · AWS Certified Cloud Practitioner
Side builds: Plant Monitoring System (ESP32 sensors with automatic watering.), PyQuest (Learning game with Gemini-generated questions.), CPR Feedback (Arduino device that graphs compression depth and rate.).
Versions of this portfolio
- Voice home: Real-time voice AI that listens and answers out loud, with swipeable demos of each project.
- Illustrated portfolio: The story told as an illustrated, animated journey: a frog climbing out of a well.
- Systems in 3D: Each system's real architecture as a 3D model you can step through, one component at a time.
- Systems in motion: Each system as a short, scrubbable film of one request moving through it.
- Temple garden: The work as a 3D Japanese temple garden at dusk; each building holds one system.
For language models: llms.txt · llms-full.txt