Take-home projects
Briefs modelled on the take-homes FDE candidates get, from a customer's need to a working system with a README and a walkthrough. Each lists what reviewers look for and a checklist to go through before you submit.
Beginner4 to 6 hours
Product search that understands how people typeHi, and thanks for moving to the take-home stage. Our customer, Dukaan Distributors, supplies FMCG goods to about 22,000 kirana stores across Karnataka and Maharashtra. Their 140 field sales reps take orders on a phone app with a search box over a catalogue of roughly 4,000 products. Reps type the way shopkeepers talk: "parle g 5 rs", "surf excel 1kg", "maggi masala 12 pack", "tata namak", often misspelled. Today the app matches exact words, so many searches show nothing or the wrong pack size, and reps scroll or phone the office instead. Please build a small search service that takes a query and returns the 5 most relevant products, and show us how good it is. We care less about the cleverest model and more about whether you can prove quality. Build a test set of at least 40 realistic queries with the products that should come back, measure your search on it, make one improvement and measure again. Tell us where it still fails and what you would do next. Use any language and libraries you like. Keep it runnable on a laptop. Please send a repository link and a recorded walkthrough of no more than 10 minutes. In the follow-up call we will ask you to explain your choices and change something live.
Practises: The take-home and its walkthrough, Answers over a customer's private data
Read the briefIntermediate6 to 8 hours
Support ticket triage with a review queueSanjeevani Hospitals runs 14 hospitals across Pune and Mumbai. Their central help desk receives about 38,000 messages a month by email, web form and WhatsApp: appointment changes, billing questions, insurance and cashless claims, report requests, complaints and the odd emergency written into the wrong channel. A support team of 30 reads every message and forwards it to one of six teams by hand. Urgent messages sometimes wait a day. Build a pipeline that reads each incoming ticket and adds a category, an urgency (urgent, normal, low) and a confidence. Tickets the system is unsure about, and anything that might be urgent, must go to a human review queue instead of being routed automatically. Many tickets contain patient names, phone numbers and medical details, so personal data must be masked before any text is sent to an AI model, and you must tell us what is stored and where. We will judge you on three things: how well it sorts tickets on a held-back set, how safely it handles the cases it should not decide alone, and how clearly you explain your choices to the hospital's operations head. Send a repository, a short design note and a walkthrough video of no more than 10 minutes.
Practises: Case: triaging a hospital's support tickets, Guardrails and human review
Read the briefIntermediate5 to 7 hours
Clean messy exports into a weekly reportRaftaar Logistics runs trucks and last-mile delivery from Gurugram. Each of the three hubs in this project (Manesar, Faridabad and Noida) sends a consignment export every evening, and every hub does it differently: one sends a CSV from the transport management system, one an Excel file a supervisor edits by hand, and one a CSV saved from Google Sheets. Dates come as 03/04/2026, 2026-04-03 and "3 Apr"; weights in kg and grams; some rows repeat, some have blank consignment numbers, and city names are spelled six ways. Every Monday an analyst spends most of the day cleaning these by hand to produce one report for the VP Operations: deliveries per hub, the share on time, the worst ten routes and the reasons for failed deliveries. Build a small service or command that takes a week of files from the three hubs, cleans and combines them, and produces that report. It must never silently drop a row: every row is either in the clean data or in a rejects file with a reason. Explain your cleaning rules so the analyst can check and change them. Send a repository, the report your code produced from the sample data, and a short walkthrough.
Practises: Messy data: CSV, JSON, Excel exports and dates, Python for field work
Read the briefIntermediate6 to 8 hours
Sync two HR systems and reconcile themKaam Technologies is a Bengaluru software company of about 4,000 people. Its HR team keeps employee records in an HR management system, and payroll runs from a separate payroll system that was set up years earlier. The two disagree: people who left still appear in payroll, new joiners take a week to appear, names and email addresses differ in spelling and case, and nobody is sure how many people work there. HR has agreed that the HR management system is the source of truth for who works at Kaam, while payroll owns bank and salary details. Build a sync that runs every night: it reads both systems, matches employees, works out the changes payroll needs (joiners, leavers, changed fields that HR owns), and applies them through payroll's API. Changes that could stop someone's salary, such as marking a person as left, must wait for approval by a person. Every run must produce a reconciliation report that HR can read: what matched, what changed, what is waiting for approval and what could not be matched. Both systems are given to you as fake APIs or files. Send a repository, a sample report from two consecutive nightly runs and a short walkthrough.
Practises: Case: syncing two HR systems, Data pipelines in and out of customer systems
Read the briefAdvanced8 to 10 hours
Read hospital bills with confidence and reviewSuraksha Insurance is a health insurer. For every reimbursement claim, customers upload scanned hospital bills, discharge summaries and pharmacy receipts, often photographed on a phone. A team of 25 processors types the key numbers into the claims system by hand: hospital name, patient name, admission and discharge dates, bill number, line items and the total. A claim takes about 12 minutes of typing, and a wrong total means a wrong payout. Build a service that takes a bill image or PDF and returns the key fields in a fixed JSON shape, each with a confidence. Fields the system is not sure about must be sent to a processor to check, and the processor's correction must be recorded. The total must be checked against the sum of the line items. We are not asking for 100 percent accuracy, and you should tell us honestly where you would not trust the system. Show field-level accuracy on a test set with known answers, explain how you chose your confidence threshold, and estimate how much processor time would be saved. Send a repository, an eval report, a short note for the claims operations head and a walkthrough of no more than 10 minutes.
Practises: Case: reading insurance claim documents, Guardrails and human review
Read the briefAdvanced8 to 10 hours
A CRM agent with tools and an approval stepDukaan Distributors' 140 sales reps visit kirana stores all day and are supposed to update the CRM after each visit: the store's stage, the next follow-up date, orders promised and complaints. Most reps skip it, so managers fly blind. After each visit, reps already send a voice note or a few lines on WhatsApp to their manager. Build an agent that reads a rep's visit note and updates the CRM through tools you define: find the store, read its record, update fields, create a follow-up task, and log a complaint. The agent may create follow-up tasks on its own. Any change to a store's stage, credit limit or contact details must be proposed and wait for the rep's manager to approve it. Every action, approved or not, must be written to an audit log. The CRM is given to you as a fake API. Show us that the agent picks the right store when names are similar, refuses to act on notes that are unclear, and cannot be talked into changes it is not allowed to make. Send a repository, an eval on at least 30 visit notes and a walkthrough of no more than 10 minutes.
Practises: Case: an agent for a sales team's CRM, Agents and tools in customer workflows
Read the brief