Ancient Tamil Wisdom (Thirukkural) Without Borders — Build Small Hackathon
The original Thirukkural Wisdom app — full React UI, FastAPI backend — packaged as a single Docker Space. The LLM is NVIDIA Nemotron served on Modal; the database is in-memory; narration is Meta MMS-TTS. 1,330 Tamil couplets with AI commentary, 15-language translation, audio, and the Council-of-Valluvar chat.
Competition categories we are entering
| Category | Type | Our entry |
|---|---|---|
| Backyard AI | Main track | Real app for Tamil elders & diaspora families — read, hear and understand the Kural at home |
| NVIDIA Nemotron Quest | Sponsor award (2× RTX 5080) | Nemotron is the LLM for commentary, translation & Council chat |
| Modal Awards | Sponsor award ($20k credits) | Nemotron is served on Modal (vLLM GPU endpoint) behind the app |
| Off-Brand | Special award ($1,500) | A fully custom React frontend — far past the default Gradio look |
| Best Agent | Special award ($1,000) | NAT chat — a 3-persona (Student/Teacher/Guru) agentic workflow on the NVIDIA NeMo Agent Toolkit |
| Well-Tuned | Merit badge | A Nemotron fine-tuned on the Kural corpus, published to the Hub (trained on Modal) |
| Field Notes | Merit badge | Engineering write-up bundled in this Space's docs/ and the live "The Engineering" page |
| Best Demo / Community Choice | Awards | Demo video + social post (links below) |
Demo links
| Asset | URL |
|---|---|
| App demo video | https://www.youtube.com/watch?v=ubRxpqqMsJY |
| Testimonials video | https://www.youtube.com/watch?v=dAwbngg3fCc |
| Social post (LinkedIn) | https://www.linkedin.com/posts/sudbharathi_ancient-tamil-wisdom-thirukkural-without-activity-7471897773647519744-vTSA |
| Social post (X) | https://x.com/bsudharsh/status/2066052936854094068 |
| Live app | https://huggingface.co/spaces/build-small-hackathon/ancient-tamil-wisdom-in-25-languages |
| Source | Full source is in this Space's Files tab |
Architecture
Docker Space (one container)
├── React production build ──┐
│ ├── served by FastAPI on :7860 (same origin)
├── FastAPI backend /api ───┘
│ ├── in-memory MongoDB (mongomock) seeded from the bundled corpus
│ ├── LLM ── HTTPS (OpenAI API) ──▶ Modal: vLLM + Nemotron
│ ├── NAT chat — NeMo Agent Toolkit 3-persona workflow (Student/Teacher/Guru)
│ └── MMS-TTS narration (CPU, in-process)
└── Bundled 1,330-Kural corpus, pre-enriched & pre-translated on DGX Spark
The Space is the original app, unchanged in design. Only the data and model plumbing differ from the DGX build: an in-memory DB (no external infra) and the LLM served on Modal instead of local vLLM/Ollama.
Built on Gradio: a native Gradio interface is mounted at /gradio
(via gr.mount_gradio_app) exposing the same features — browse, AI commentary,
translation, voice and the NAT chat. The polished React app at / is the
custom Off-Brand front-end on top of the same Gradio Space.
Models (all ≤ 32B)
| Role | Model | Params |
|---|---|---|
| Commentary, chat, translation | NVIDIA Nemotron-Nano-9B-v2 | 9B (128k context) |
| Voice — Tamil / English / Indic | AI4Bharat Indic Parler-TTS (Modal GPU) | 0.9B |
| Voice — Arabic, Korean, Chinese, European… | Chatterbox Multilingual (Modal GPU) | 0.5B |
| Voice — remaining languages / fallback | Meta MMS-TTS | ~70M / voice |
Voice is routed per language: Indic Parler-TTS (near-human Tamil/Indic/English), Chatterbox Multilingual (23 other languages), MMS as the universal fallback.
The full DGX Spark deployment uses Nemotron-3-Nano-30B-A3B-FP8 + Gemma 4 26B.
Space configuration (set these in Settings → Variables and secrets)
| Name | Kind | Value |
|---|---|---|
LLM_BASE_URL |
variable | https://<your>--thirukkural-nemotron-serve.modal.run/v1 |
LLM_MODEL |
variable | nemotron |
TRANSLATE_BASE_URL |
variable | same Modal URL /v1 |
TRANSLATE_MODEL |
variable | nemotron |
LLM_API_KEY |
secret | the VLLM_API_KEY set in the Modal secret |
Deploy the Modal endpoint first (modal_app.py) — see finetune/README.md and
the repo root for the Modal deploy commands.
License
Thirukkural text: public domain. App code: MIT. Models: NVIDIA Open Model License (Nemotron), CC-BY-NC (MMS-TTS).
