Most MCA topic lists are the same forty titles copied between sites, with no indication of what any of them takes to build or what a panel will ask about it. This one is written from the other side — these are systems I build professionally, and the difficulty ratings are honest rather than encouraging.
MCA is postgraduate, and the viva reflects it. Panels push past what your project does and into why you built it that way. So each topic below lists the question it will attract. If you cannot imagine answering that question, pick a different topic — that is the entire point of this list.
AI and machine learning
The highest-scoring category and the easiest to get wrong. An ML project only earns its marks if you can discuss your dataset, defend your metric, and show a case where the model fails.
| Project | Stack | Difficulty |
|---|---|---|
| Document assistant with retrieval-augmented generationAnswers questions from a real document set and cites its source, instead of being a wrapper around a chat API.Viva question it attracts: “How do you stop it from inventing an answer?” | Python, FastAPI, a vector database, React | Hard |
| Resume screening and job matchingParsing is the hard half. The explainable score is what makes it defensible.Viva question it attracts: “Explain TF-IDF and why cosine similarity, not Euclidean distance.” | Python, spaCy, scikit-learn, Flask | Moderate |
| Fake news / claim detection with source checkingForces you to confront class imbalance and the limits of your training data.Viva question it attracts: “Why is accuracy a misleading metric on this dataset?” | Python, transformers, Flask | Hard |
| Medical symptom triage with confidence boundsRefusing to predict when unsure is the whole project. Panels love it.Viva question it attracts: “What happens when the model is 51% confident?” | Python, scikit-learn, Flask, MySQL | Hard |
| Demand or sales forecasting for a small businessTime series is a distinct skill and far less duplicated than classification.Viva question it attracts: “Why can you not shuffle time series data before splitting?” | Python, pandas, Prophet or ARIMA, Streamlit | Moderate |
Full-stack systems
Unfashionable, consistently well-marked. The marks are in schema design and the auth boundary, not in the number of screens. A hospital management system built properly beats a weak ML project every time.
| Project | Stack | Difficulty |
|---|---|---|
| Multi-tenant hospital or clinic managementCommon topic, uncommon execution — real slot-conflict detection is what separates it.Viva question it attracts: “What happens if two patients book the same slot simultaneously?” | MERN or Django, PostgreSQL | Moderate |
| Inventory system with audit trail and reversalsAn immutable ledger instead of a mutable quantity column is a genuine design decision.Viva question it attracts: “How do you reverse a transaction without losing history?” | Node, PostgreSQL, React | Moderate |
| Role-based e-learning platform with progress trackingThree roles, real permission boundaries, and content sequencing logic.Viva question it attracts: “Show me a student accessing an instructor route.” | MERN, MongoDB | Moderate |
| Online examination system with anti-cheating measuresTiming, tab-switch detection, and autosave under connection loss are real problems.Viva question it attracts: “What happens if the browser closes mid-exam?” | MERN, WebSockets, Redis | Hard |
| Complaint or grievance tracking with SLA escalationState machines and time-based escalation are more interesting than CRUD.Viva question it attracts: “Draw the state diagram for a complaint.” | Django or Node, PostgreSQL | Moderate |
Real-time systems
The most technically demanding group. Attempt these only if you are comfortable reasoning about two things happening at once — but if you are, they are almost never duplicated in a batch.
| Project | Stack | Difficulty |
|---|---|---|
| Collaborative document or whiteboard editorConflict resolution between simultaneous edits is a genuinely hard problem.Viva question it attracts: “Two users type in the same place. What happens?” | Node, WebSockets, React, Redis | Very hard |
| Live vehicle or delivery trackingGeospatial queries plus streaming updates plus offline gaps.Viva question it attracts: “What happens to the trail when the driver loses signal for ten minutes?” | Node, WebSockets, MongoDB, Leaflet | Hard |
| Real-time auction or bidding platformRace conditions on the final bid are the entire challenge.Viva question it attracts: “Two bids arrive in the same millisecond. Which wins, and why?” | Node, WebSockets, PostgreSQL | Hard |
Computer vision
Demos beautifully, which cuts both ways: panels get excited and then probe hard. Know your failure cases before you walk in.
| Project | Stack | Difficulty |
|---|---|---|
| Face recognition attendance with unknown-face rejectionRejecting unknown faces rather than matching the nearest is the marking point.Viva question it attracts: “What is your distance threshold, and how did you choose it?” | Python, OpenCV, dlib, Flask | Moderate |
| Automatic number plate recognitionReal-world image conditions make this much harder than it demos.Viva question it attracts: “Show me it failing on a dirty or angled plate.” | Python, OpenCV, Tesseract or a detection model | Hard |
| Sign language or gesture recognitionGenuinely useful, visually striking, and rarely duplicated in a batch.Viva question it attracts: “How much of your accuracy is the model and how much is the landmark extraction?” | Python, MediaPipe, TensorFlow | Hard |
Mobile applications
Consistently underrated. An app the examiner can install on their own phone makes an impression that a localhost demo cannot.
| Project | Stack | Difficulty |
|---|---|---|
| Offline-first expense or budget trackerWorks when the campus wifi dies during your demo. That alone is worth it.Viva question it attracts: “Two devices edit the same record offline. How do you resolve it?” | React Native, SQLite, Node backend | Moderate |
| Field data collection app with background syncA real problem for surveys, agriculture and health workers.Viva question it attracts: “What is in your sync queue, and what happens if it fails halfway?” | Flutter or React Native, SQLite | Moderate |
| Accessibility app — text to speech with on-device OCRSocially useful projects get a warmer reception than another booking app.Viva question it attracts: “Why on-device rather than an API call?” | React Native, ML Kit | Moderate |
How to actually choose from this list
- Read the viva question next to each topic. Pick three where the question interests you rather than frightens you.
- Check what the rest of your batch is doing. Duplication inside one cohort is the fastest way to a hostile panel.
- Be honest about your time. A moderate project finished and understood beats a hard one that is eighty per cent done in March.
- Confirm with your guide before you build anything. A rejected topic in week six is the most expensive mistake available to you.
Several of these are already built and available with the source, the report, and daily sessions that walk you through the code — see the catalog. Anything on this list that is not there can be built to your problem statement. And before your viva, read the questions panels actually ask.