// innovationstar.ae · Dubai, UAE
Innovation Star Consultants logo
Full Stack AI-ML Systems Development Internship
Assessment 2026 · Applications Open
Compliance expertise, powered by technology.

Innovation Star Consultants is a Dubai-based consultancy providing AML/CFT compliance consulting, professional training and management consulting to businesses across the UAE and the Middle East — from real estate and precious-metals dealers to law firms and accountancy practices. Through Innovation Star AI, we're bringing practical, trustworthy technology to the way our clients manage regulatory, financial and operational work.

We're looking for interns who build fast, think clearly, and can explain what they made. You don't need a perfect solution — you need curiosity, rigour, and the ability to get something working. This assessment is how we find those people.

How This Works
01 Pick any one of the four problems below — one problem, done well. Depth impresses us. Breadth doesn't.
02 Build it using only open-source tools. No paid APIs, no cloud credits. Each problem lists a suggested stack.
03 Push your code to a private GitHub repository and invite innovationstarconsultants and Yash117 as collaborators.
04 Write a README — what you built, how it works, how to run it, what you'd improve with more time.
05 Add a short decisions note — why this approach over alternatives? What did you try and throw away?
On AI coding tools: Use Cursor, Copilot, Claude, ChatGPT — we actively encourage it. Vibe code the whole thing if you want. What matters is that you understand the system you built and can explain it clearly. Prompt engineering is a real skill — how you structure context and iterate on outputs is something we pay attention to. Your README is how you prove you understood what you built.
// The Problems — Pick One
PROBLEM 01 / 04
"Ask Your Documents"
Local Document Intelligence System
The Scenario

A mid-sized legal firm has thousands of PDFs — contracts, case notes, policy briefs, court filings — scattered across a shared drive. Every time someone needs to locate a specific clause, precedent, or policy detail, they spend hours doing it manually. The firm won't send confidential documents to any external service. Everything must stay on their own machine.

You've been brought in to fix this. No cloud APIs. No subscriptions. Just a system that lets anyone on the team ask a question in plain English and get an accurate, sourced answer from their own documents.

What to Build

Build a system where a user points to a folder of documents (PDFs, text files, or a mix) and asks natural language questions about the content inside. The system should return a coherent, accurate answer alongside the specific document or passage it drew from.

The entire system must run locally — no external LLM API calls. Someone with a standard laptop and no GPU should be able to install and run it. Expose it via CLI, a web UI (Gradio or Streamlit), or both.

Bonus: handle edge cases — 300+ page documents, questions needing context from multiple files, or queries where the answer simply doesn't exist in the corpus.

Things to Think About
  • How do you make a document searchable by meaning rather than keywords? A user asking about a "termination clause" shouldn't need to know the exact phrasing in the contract.
  • When a user asks a question, how do you efficiently locate the right passage from potentially thousands of pages?
  • How do you ensure the answer is grounded in the documents — not fabricated by the model?
  • What happens when a question requires combining information from multiple different documents?
  • A 500-page document can't be fed to a model all at once — how do you handle that?
  • How do you keep the system modular so the underlying LLM or storage layer can be swapped out independently?
What We Evaluate
Works on real documents Answer accuracy & source attribution Modular component design Handles large documents Explainable data flow README quality
Suggested Open-Source Stack
Ollama llama3 / mistral / phi3 sentence-transformers ChromaDB FAISS LangChain (local) LlamaIndex PyMuPDF pdfplumber Streamlit / Gradio
PROBLEM 02 / 04
"The Connection Machine"
Entity Relationship Mapping System
The Scenario

An investigative journalist is deep into a corporate fraud story. She has hundreds of news articles, press releases, SEC filings, and leaked emails. The story isn't just about what happened — it's about who is connected to whom, and how. Which executives sit on which boards? Which companies share investors? Who signed which contracts with whom?

Mapping this manually would take weeks. She needs a system that automatically extracts the key players and surfaces how they connect — a living map of relationships she can explore and query.

What to Build

Build a system that takes a collection of text documents — news articles, Wikipedia pages, research papers, any corpus of your choice — and automatically identifies the important entities: people, organisations, locations, dates, concepts. Then map how these entities relate to each other and make that network navigable.

A basic output: "Person X is a director of Company Y." A strong output: "Person X signed a contract with Company Y in 2021, later flagged by Regulator Z in a 2023 investigation." The richer your relationship extraction, the better.

The network must be visualisable — a graph in the browser, an export for Gephi, or a queryable interface. A user should be able to start at one entity and trace connections outward.

Things to Think About
  • How do you decide which entities in a document are actually worth tracking?
  • "Tesla", "Tesla Inc.", "the EV maker", "Elon's car company" — all the same across different articles. How do you resolve these into one node?
  • How do you determine that a relationship exists between two entities — and what type it is?
  • How do you store and query a network of thousands of entities and tens of thousands of relationships efficiently?
  • What makes a graph genuinely useful to a non-technical user — what does a good interface actually need?
  • What happens when two documents contradict each other — does your system surface that?
What We Evaluate
Entity extraction quality Relationship richness & accuracy Entity resolution / deduplication Graph is navigable Handles noisy real-world text README quality
Suggested Open-Source Stack
spaCy HuggingFace Transformers REBEL GLiNER NetworkX PyVis Neo4j (free) Gephi Ollama Pandas
PROBLEM 03 / 04
"The Lazy Researcher"
Autonomous Multi-Step Research Agent
The Scenario

A strategy consultant gets a client question at 9am: "What are the top 5 players in the Indian EdTech space, what funding rounds have they raised in the past two years, and what's each company's current product focus?" Answering this properly means hitting multiple sources, cross-referencing data, filtering noise, and synthesising a clean brief. They need it in 10 minutes, not 3 hours.

They don't want to prompt an AI step by step. They want to type one question and get a structured, sourced answer back — no babysitting required.

What to Build

Build a system that takes a complex, open-ended question and autonomously figures out how to answer it. It should decompose the question into sub-tasks, decide what information it needs and where to find it, execute those steps in sequence, handle partial failures gracefully, and return a clean structured final answer — all without the user guiding each step.

Information sources are your call: local files, a free web search API, a pre-loaded knowledge base, or a combination. The requirement is autonomy — one input in, complete answer out.

Bonus: surface the reasoning trace. Show the user what steps the system decided to take and how it arrived at its answer. This is a prompt engineering challenge as much as a code one — think carefully about how you instruct the model to expose its own reasoning.

Things to Think About
  • How does the system break a vague question into concrete, answerable sub-tasks?
  • How does it decide what to do next based on what it's already found — can it adapt mid-task?
  • What happens when a step returns garbage data — does everything crash, or does it try a different path?
  • How do you prevent it from looping, repeating searches, or hallucinating that it found something it didn't?
  • How do you combine partial answers from multiple steps into one coherent final response?
  • How do you prompt the model to make its reasoning legible — and what does a good reasoning trace look like to a user?
What We Evaluate
Completes multi-step tasks autonomously Reasoning trace quality Robustness to failure Output structure & clarity Avoids hallucination loops README quality
Suggested Open-Source Stack
Ollama llama3 / mistral LangChain Agents LangGraph smolagents (HuggingFace) DuckDuckGo Search (free) Tavily (free tier) Custom Python tools Streamlit / Gradio
PROBLEM 04 / 04
"The Web Harvester"
Resilient Data Collection & Intelligence Pipeline
The Scenario

A product manager at a fast-growing D2C brand needs competitive intelligence — daily. Which competitors launched new products? Did pricing change? What are customers saying in reviews? Are competitors hiring in new cities, signalling expansion? This data is scattered across dozens of websites, updated constantly, and manually checking them every morning isn't an option.

The PM needs a system that automatically collects, cleans, stores, and surfaces this information on a schedule — and doesn't break the moment a website redesigns its layout.

What to Build

Build a data collection pipeline that monitors a set of websites or online sources of your choosing, extracts structured information on a schedule, stores it in a clean and queryable format, and exposes it through a simple interface — a dashboard, CLI query tool, or both.

Pick any domain that interests you: e-commerce prices, tech job postings, movie reviews, research paper titles, startup funding announcements — anything real and publicly accessible.

The system must be resilient: if one source fails or changes its HTML structure, the rest of the pipeline keeps running. Data across runs must be deduplicated cleanly. The pipeline should run on a schedule automatically — no manual triggers.

Things to Think About
  • Some websites render content with JavaScript — a basic HTML request returns nothing. How do you handle those?
  • The same product appears on three sites with slightly different names and prices. How do you track it as one record?
  • If one scraper fails mid-run, how do you ensure the rest complete and the failure is clearly logged?
  • How do you schedule and automate the pipeline so it runs without anyone pressing a button?
  • How should data be structured so it's easy to query — even by someone who can't write SQL?
  • If data volume grows 10x over several months, does your storage approach still hold up?
What We Evaluate
Pipeline runs reliably over time Handles JS-rendered sites Deduplication quality Resilience to partial failures Data is clean & queryable README quality
Suggested Open-Source Stack
BeautifulSoup4 Scrapy Playwright Selenium httpx / requests SQLite / PostgreSQL APScheduler Celery + Redis Pandas Streamlit Parsel
// Submission Checklist
Ready to submit? Here's what we need.
Quality over completeness — a half-finished system with a great README beats a working one with none.
  • Code pushed to a private GitHub repository
  • Collaborators invited: innovationstarconsultants and Yash117
  • README.md — what you built, architecture overview, setup & run instructions, known limitations, what you'd build next
  • A decisions note — why this approach? What did you consider and discard? How did you use AI tools to build it?
  • System must be runnable from scratch with clear setup steps — we will try to run it