The task
Pick one of the three problems below. Build a small REST API where AI does the core work.
- Any language: Python, Java, JavaScript/TypeScript, Go, C# or anything else.
- Code-first: no n8n, Zapier, Make or other low-code builders.
- No frontend needed. Keep the backend minimal. Swagger UI, curl or Postman is enough to show it working.
- AI coding tools are welcome (ChatGPT, Claude, Copilot, Cursor). Say which ones you used.
- Any LLM, free is fine: Google Gemini, Groq, a local model with Ollama, or a paid API if you have one.
Starter data
All three problems use Lumo Living, a fictional home and wellbeing brand that sells on Instagram in Germany, Austria, the UK, Spain and Mexico.
- brand-guide.md — voice, caption rules, claims the brand never makes, hashtags, voiceover rules
- products.json — 5 products with features and images
- post-stats.csv — 6 weeks of Instagram post stats across 5 accounts
Choose one problem
Problem 1: Multilingual post writer (RAG)
POST /posts with {"product_id": "LL-002", "languages": ["en", "de", "es"]}
- Returns an Instagram caption and hashtags for each language.
- Retrieves the relevant brand-guide rules and returns which rules it used.
- Refuses off-brand requests (e.g. "say it cures insomnia") and explains which rule applies.
- Optional:
POST /checkscores any caption against the brand guide.
Problem 2: Product video maker (AI voice + video)
POST /videos with {"product_id": "LL-003", "language": "en"}
- AI writes a 15-second voiceover script that follows the brand guide.
- Text-to-speech turns it into audio (Edge-TTS, Piper or any TTS).
- Builds a vertical MP4: product image, voiceover and on-screen captions (ffmpeg, MoviePy or similar).
- Returns the script and a link to the video file.
- Optional: the same video in a second language.
Problem 3: Account insights agent (AI agent + tools)
POST /ask with {"question": "Which account dropped last week and why?"}
- An AI agent answers by calling tools you write over
post-stats.csv(e.g. filter, aggregate, compare weeks). - Returns the answer plus the tool calls it made.
- The data hides a few real patterns. A good agent finds them.
- Optional:
GET /alertsflags unusual drops or spikes automatically.
Demo video
- 2–3 minutes. Show your API running: real requests, real responses.
- Problem 2: play the generated video in the demo.
- Briefly explain how it works and one decision you made.
- Upload to YouTube (unlisted), Loom or Google Drive, and set it to "anyone with the link can view".
What to submit
One zip file named Firstname_Lastname.zip containing:
- Your source code. Leave out
node_modules, virtual environments and build folders. README.md: which problem you chose, how to run it (5 commands or fewer), 3 example requests, and which AI tools you used.SUBMISSION.md: a LinkedIn-style post (100–150 words) about what you built..env.examplewith variable names only. Never include real API keys.
Upload the zip and your demo link through the form. You'll need to sign in with a Google account to upload.
Deadline: 21 October 2026, 6:00 PM IST. Late submissions are not reviewed.
How we evaluate
- AI quality — 45%: grounding and retrieval, tool use, refusals, and output quality
- Works end to end in the demo — 20%
- Code clarity and README — 15%
- LinkedIn post — 10%
- Optional extra — 10%
Shortlisted candidates get a 15-minute call to walk through their code.
FAQ
Which language can I use?
Any. It must be code you write, not a low-code tool like n8n, Zapier or Make.
Can AI write my code?
Yes. Say which tools you used, and be ready to explain how your solution works.
Do I need to pay for an API?
No. Gemini or Groq free tiers, a local Ollama model, Edge-TTS or Piper, and ffmpeg or MoviePy are all free.
Will you use my code?
No. The brand and data are fictional, and the work stays yours. Put it on GitHub or your portfolio if you like.
I have a question.
Email hello@arjunthakur.dev with the subject "Coding challenge question".