Ancient Tamil Wisdom (Thirukkural) Without Borders — Build Small Hackathon

Ancient Tamil Wisdom — Thirukkural Without Borders

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


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).

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Space using build-small-hackathon/ancient-tamil-wisdom-in-25-languages 1