Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.

Open source final year project ideas

Open source final year project ideas from the free Sefism library, each scoped for a single semester with a suggested stack and deliverables.

  • 300 project ideas

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

45 ideas · page 1 of 2

WebBeginner

EU AI Act Risk Classification Questionnaire for Software Exporters

Software houses in Pakistan, India and Bangladesh build AI features for European clients, and the EU AI Act can apply to them even though they sit outside the EU. Build a guided questionnaire that walks a developer through the Act's structure (prohibited practices, high-risk categories, transparency duties, general-purpose AI), cites the exact article for every step, and produces a plain-language summary of likely obligations to discuss with a lawyer.

Next.jsTypeScriptJSON decision rulesPostgreSQL or SQLite+1 more
1 semester · 1 to 2 studentsRead the brief
AI & MLBeginner

Model Card and Datasheet Generator from Training Runs

Model cards and dataset datasheets are the standard way to document what a model does, what data it learned from and where it fails, but they are written by hand at the end, if at all. Build a generator that pulls facts from MLflow runs, dataset files and evaluation results, drafts a model card and datasheet, flags missing or unsupported sections, and keeps the card in sync as the model is retrained.

PythonMLflowpandasJinja2 templates+2 more
1 semester · 1 to 2 studentsRead the brief
Cloud & DevOpsIntermediate

FOCUS Format Converter for Smaller Cloud Providers and AI API Bills

The FinOps Open Cost and Usage Specification (FOCUS) gives cloud bills a common format, and the big clouds now export it. Startups also pay smaller hosts, AI API providers and SaaS tools whose bills arrive in their own formats. Build converters that turn those bills into valid FOCUS data, a validator, and a dashboard that shows total cost and unit cost (per customer or per feature) across every provider in one place.

PythonDuckDBdbtParquet+2 more
1 semester · 2 studentsRead the brief
AI & MLIntermediate

Tool Selection Evals and Description Linter for MCP Servers

An MCP server can work perfectly and still fail in practice because models pick the wrong tool or fill its arguments badly. Build a tool that lints MCP tool names, descriptions and schemas against good-practice rules, generates realistic user requests for each tool, measures how often several models choose the right tool with valid arguments, and suggests rewrites that improve the score.

PythonMCP Python SDKLiteLLMOllama+2 more
1 semester · 2 studentsRead the brief
SecurityBeginner

Hallucinated Package Guard for AI Coding Assistants (Slopsquatting Defence)

AI coding assistants sometimes suggest packages that do not exist. Attackers can register those names and wait. Build a guard that checks every new dependency added to a project, by a person or an AI, against the real registry: does it exist, how old is it, who maintains it, does it look like a typo of a popular package, and was it suggested by an AI? It runs in the editor, as a pre-commit hook and in CI.

Python or TypeScriptnpm and PyPI registry APIsGitHub Actionspre-commit+1 more
1 semester · 1 to 2 studentsRead the brief
Data & AnalyticsIntermediate

Inter-Annotator Agreement and Adjudication Tool for Data Labelling Teams

AI depends on labelled data, and labelling teams in Pakistan, India, Kenya and elsewhere produce a lot of it. Build a quality layer for labelling projects that measures agreement between annotators, spots unreliable labels and confusing guidelines, routes disagreements to an adjudicator, and estimates true labels from noisy votes, working with exports from Label Studio and similar tools.

PythonpandasFastAPIPostgreSQL+2 more
1 semester · 2 studentsRead the brief
Data & AnalyticsIntermediate

Urdu and Bangla Embedding Models and Vector Databases: A Retrieval Benchmark

Teams building search or RAG in Urdu and Bangla pick an embedding model and a vector database by guesswork. Build a reproducible benchmark that measures retrieval quality for several multilingual embedding models on Urdu, Roman Urdu and Bangla queries, and then measures recall, latency, memory and filtered search across several vector stores with the same data, so a developer can choose with evidence.

PythonSentence TransformerspgvectorQdrant+3 more
1 semester · 2 studentsRead the brief
Data & AnalyticsBeginner

One App, Three Databases: Benchmarking PostgreSQL, MongoDB and SQLite on a Real School Workload

Students pick a database because a tutorial used it. Build the same school management backend (admissions, attendance, fees, results) on PostgreSQL, MongoDB and SQLite, generate a realistic workload, and compare correctness under concurrency, query speed, schema change effort, backups and hosting cost. The result is an evidence-based guide to choosing a database for a typical local business app.

TypeScript or PythonPostgreSQLMongoDBSQLite+2 more
1 semester · 2 studentsRead the brief
OtherIntermediate

University Exam Timetable and Invigilator Planner Benchmarked on ITC 2007 Datasets

Every semester, exam offices build timetables by hand and students end up with clashes, three papers in a row or exams in rooms that are too small, while invigilator duties are shared unfairly. Build an exam scheduler that assigns exams to slots and rooms, spreads each student's papers, assigns invigilators fairly, and is tested on the public ITC 2007 examination benchmark before being run on your own university's anonymised data.

PythonGoogle OR-Tools CP-SATPostgreSQLFastAPI+1 more
1 semester · 2 studentsRead the brief
Data & AnalyticsIntermediate

Data Contract and Schema Drift Checker for Event Pipelines

When an app team renames a field or changes a type, the analytics pipeline downstream breaks quietly and dashboards show wrong numbers for weeks. Build a tool that lets producers and consumers agree a data contract in a standard YAML format, checks every pull request and every batch of events against it, explains breaking changes before they ship, and tells the right people what will break.

PythonOpen Data Contract Standard (YAML)Apache Kafka or Redpandadbt+2 more
1 semester · 2 studentsRead the brief
Cloud & DevOpsIntermediate

Prompt Change Regression Evals in Pull Requests with Statistical Diffs

Teams change a prompt, swap a model or tweak retrieval and only find out a week later that something broke. Build a GitHub Action that detects AI-related changes in a pull request, runs the affected eval suites against the old and new versions, accounts for the randomness in LLM outputs with repeated runs and confidence intervals, and posts a clear diff of what got better, what got worse, and what it costs.

TypeScript or PythonGitHub ActionspromptfooSQLite or PostgreSQL+1 more
1 semester · 2 studentsRead the brief
WebAdvanced

Signed Web Page Archiving for Journalists and Fact-Checkers with Verifiable Captures

Build a self-hostable tool that captures a web page or social post exactly as it appeared, packages it in an open archive format, signs it and timestamps it, so anyone can later verify who captured it and when. Posts and pages are deleted or edited within hours, and screenshots are easy to fake. This gives newsrooms and fact-checkers evidence that holds up.

TypeScript or PythonBrowsertrix Crawler or PlaywrightWACZ and WARC formatsEd25519 signatures+2 more
2 semesters · 2 to 3 studentsRead the brief
SecurityIntermediate

Signed Build Provenance Gate for a Company's Internal Packages and Container Images

Build a gate that lets a small company prove every internal package and container image was built by its own CI from a reviewed commit, and blocks anything that was not. It uses keyless signing from the Sigstore project and SLSA-style provenance, wrapped into a setup a team can adopt in an afternoon. Deployments and installs check the signature and the build record before they proceed.

Go or PythonSigstore (cosign, Fulcio, Rekor)GitHub Actions OIDCKubernetes admission webhook or Docker+1 more
1 to 2 semesters · 2 studentsRead the brief
Cloud & DevOpsIntermediate

Flaky Test Detector for GitHub Actions That Uses Change Coverage Instead of Reruns

Build a CI tool that decides whether a failing test is flaky without rerunning it, by checking whether the failing test executed any of the code the commit changed. A test that fails without touching the change is almost certainly flaky. The tool labels failures on pull requests, tracks flaky tests over time and saves the CI minutes that blanket reruns waste.

Python or TypeScriptCoverage.py or Istanbul (nyc)pytest or JestGitHub Actions and REST API+2 more
1 to 2 semesters · 2 studentsRead the brief
IoT & EmbeddedAdvanced

Signed, Staged OTA Updates with Automatic Rollback for ESP32 Device Fleets

Build a self-hostable update system for small fleets of ESP32 devices that signs every firmware image, rolls updates out in stages, checks device health after each update and rolls back automatically when something goes wrong. Small IoT companies in Pakistan and elsewhere ship devices with no safe way to fix bugs in the field, or with update schemes that a single bad build can brick. The project applies the security ideas behind automotive update frameworks at a scale a startup can run.

ESP-IDFESP32 secure boot and app rollbackECDSA signingGo or Python update server+3 more
2 semesters · 2 studentsRead the brief
SecurityAdvanced

Helm Chart Permission Analyser That Finds Kubernetes Cluster Takeover Paths Before Install

Build a tool that reads a Helm chart before it is installed and works out whether the permissions it grants could let an attacker who compromises one of its pods take over the whole cluster. Many third-party operators and add-ons ask for far more access than they need. The analyser explains each dangerous permission, the attack path it opens and a narrower alternative.

Go or PythonHelm and kindKubernetes RBAC and Pod Security modelGraph library (NetworkX or gonum)+1 more
2 semesters · 2 studentsRead the brief
SecurityAdvanced

MCP Server Behaviour Sandbox That Checks Tools Do What Their Descriptions Claim

Build a sandbox that installs a Model Context Protocol (MCP) server, calls every tool it offers, and records what each call really does: files read, processes started, hosts contacted. It then compares that behaviour with the tool's own description and flags the gap, such as a 'weather' tool that reads your SSH keys. Developers get a behaviour report before they connect an AI agent to a server they found on GitHub or npm.

Python or TypeScriptMCP Python or TypeScript SDKDocker or gVisor sandboxstrace or eBPF tracing (Tetragon)+2 more
2 semesters · 2 to 3 studentsRead the brief
OtherAdvanced

Dependency Upgrade Impact Checker That Finds Which of Your Calls a Breaking Change Hits

Build a tool for TypeScript projects that compares the public API of two versions of an npm package, finds the breaking changes, then searches your own code for the exact call sites they affect. Dependabot and Renovate open upgrade pull requests but cannot say whether a major version bump touches anything you use. This tool answers that question with a list of files and lines, so small teams stop putting off upgrades.

TypeScriptTypeScript compiler APINode.jsGitHub Actions+2 more
2 semesters · 2 studentsRead the brief
OtherIntermediate

Urdu and RTL Accessibility Linter for Nastaliq Web Pages and Government Forms

Build an automated checker that finds the accessibility and layout faults specific to Urdu web pages: missing language and direction attributes, Urdu text drawn as images, broken Nastaliq rendering, mirrored icons and forms that screen readers announce in the wrong language. General tools such as axe-core do not look for any of these. The result is a command-line tool, a browser extension and a public audit of real Pakistani websites.

TypeScriptPlaywrightaxe-core custom rulesNode.js+2 more
1 semester · 2 studentsRead the brief
SecurityAdvanced

Vulnerable Function Reachability Checker for JavaScript and TypeScript Dependencies

Build a tool that tells a JavaScript or TypeScript team whether their code actually calls the vulnerable function behind each dependency alert, not just whether the package version is affected. Go has this built in with govulncheck; the npm world mostly does not have a free equivalent. The result is fewer, more trustworthy alerts, with a call path as evidence for each one that matters.

TypeScriptTypeScript compiler API or JellyOSV and GitHub Advisory DatabaseNode.js+2 more
2 semesters · 2 to 3 studentsRead the brief
Data & AnalyticsIntermediate

Cumulative Antibiogram Builder and Resistance Trend Dashboard from Hospital Lab Exports

Build a tool that takes the messy Excel exports from a hospital microbiology lab, cleans them, applies the international rules for counting isolates and produces a cumulative antibiogram that doctors can use when choosing antibiotics. Many hospitals in Pakistan and South Asia have the lab results but never turn them into this table. The tool also tracks resistance trends over time, ward by ward.

Python or Rpandas or the AMR R packagePostgreSQLFastAPI or Plumber+2 more
1 semester · 2 studentsRead the brief
WebIntermediate

Real-User Performance Monitoring for Low-End Android Phones and Slow Mobile Networks

Build a small, privacy-friendly script and dashboard that measures how fast a site really is for people on budget Android phones and congested mobile data, then explains which scripts, images and long tasks cause the slowness. Lab tests on a developer's laptop hide what most users in Pakistan and South Asia experience. The project ends with a measured case study on a real site.

TypeScriptweb-vitals libraryLong Animation Frames APINode.js or Go collector+2 more
1 to 2 semesters · 2 studentsRead the brief
Cloud & DevOpsBeginner

Container Image Slimming and Vulnerability Diff Report in CI, Verified by Your Own Tests

Build a CI step that takes an application's container image, produces a slimmed version that keeps only the files the app actually uses, runs the project's own tests against the slim image to prove nothing broke, and reports the size saved and the known vulnerabilities removed. Teams get smaller, safer images without hand-tuning Dockerfiles, and a clear report they can trust.

DockerSlimToolkitTrivyGitHub Actions+1 more
1 semester · 2 studentsRead the brief
AI & MLAdvanced

Sandboxed Benchmark of Browser Agents on Local-Style Service Websites with Safety Traps

Build a self-hosted set of realistic but fake websites modelled on the forms people in Pakistan use every day, such as bill payment, admissions and bank transfers, then measure how well AI browser agents complete tasks and how often they take unsafe actions. Browser agents are now offered to the public, yet most benchmarks use Western shopping and forum sites and say little about consent, payment confirmation or hidden instructions. The benchmark runs only on your own sandbox, never on real sites.

PythonPlaywrightBrowser Use or similar agentDocker Compose+3 more
2 semesters · 2 to 3 studentsRead the brief

Browse project ideas by domain and difficulty

Each of these is its own page, so you can send someone straight to the AI ideas or the beginner ones.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.

  • 1:1 Mentorship
  • Fresh Graduate Mentorship
  • Career Guidance

Brand deals, promos and partnerships: tauseeffayyaz@gmail.com