100+ Passion Project Ideas For High School Students in Computer Science

As a high school student interested in pursuing computer science at university, you might need more than just your grades to stand out. If competitions and hackathons aren’t for you, then pursuing an individualized project of your own - a passion project - is a great option to add to your portfolio. This would help admissions officers gauge your interest in the subject and understand how you would apply your innovative skills. This could include a research project, an app, or even a start-up!

Depending on which type of passion project you’d be interested in, we have broken down 100+ project ideas into 6 categories.

Tip: A passion project becomes significantly more compelling, for college applications and competitions, when it's developed into structured research. Veritas AI pairs CS students with mentors to take these project ideas from concept to completion. See how it works here!

Key Takeaways

  • Pick a project that matches your level: Categories 1–6 are beginner-friendly; Categories 9, 13, and 15 require stronger programming foundations.

  • Strong deliverables matter: aim to produce at least three artifacts — a working demo, a write-up or research paper, and a GitHub repo

  • Document your methods: college reviewers and competition judges look for reproducible, well-documented work — comment your code and keep a project log.

  • Choose appropriate scope: a well-executed beginner project beats an unfinished advanced one — start with an MVP, then extend.

  • Note on ethics: projects involving health data (Category 10), surveillance (Category 5, 9), or facial recognition must include clear disclaimers and ethical framing

Common tools you'll encounter across these projects: Python, OpenCV (Open Source Computer Vision Library — tools for image and video processing), Pandas (data analysis), Flask (lightweight web app framework), MediaPipe (Google's open-source framework for real-time hand, face, and body tracking), and scikit-learn (machine learning). Most are free and open-source..

Passion Project Category #1: Analyze data you’re interested in

Difficulty: Beginner–Intermediate | Estimated time: 4–8 weeks

If you’re someone who is interested in the impact of computer science instead of the application, then performing research and analysis is the perfect overlap for you. This way, you won’t find yourself using as much hands-on computer science, but rather using Python libraries like Pandas and NumPy, as well as R or SQL to manipulate, visualize, and make inferences from data. You could also write a research paper explaining your findings and the impact they have. You could cover some of the following topics:

1. Analyze the impact of social media on the mental health of a particular age group by conducting surveys and interviews. You could make conclusive inferences about how social media engagement and the mental health indicators of that age group are correlated. 

2. Build an evaluation of how various unsupervised anomaly detection methods applied to data generated by IoT devices perform. The study would consider factors such as detection accuracy, computational efficiency, and adaptability to evolving data patterns. 

3. Perform a literature review on the interaction between a machine-learning model and a human being. Focus on the sincerity, depth, or humor displayed by the model’s response. 

4. Write a research paper analyzing the impact of AI-generated art on the art and design industry and the ethical questions it brings up. Also, try to come up with your own solution to this ethical concern. You will need to use your critical thinking skills and in-depth knowledge of how AI art generators such as Midjourney and DALL · E 4 work. 

Passion Project Category #2: Build an App

Difficulty: Beginner–Intermediate | Estimated time: 4–10 weeks

If you want to work on a hands-on project, then making an app is a great option. An app is the easiest way to engage a wide audience as it's the most accessible way to interact with any kind of technology. You could make something simple such as a database or try something more advanced that involves machine learning concepts. You can find some inspiration below:

  1. Build an app that uses image classification and deep learning to classify waste as recyclable or non-recyclable. You will need to implement computer vision concepts such as edge detection and use software like OpenCV to create such an app. 

  2. Create an app that presents the forecast in a more readable, accessible way. The current UI of most weather apps is very cluttered and not as straightforward as people would like. This would also require you to use API (Application Programming Interface) calls to gather the required weather data from an external website. 

  3. Create a database management system that lets people log the books they read, review them, and rate them. Try looking at Letterboxd's UI for inspiration. You will need to be familiar with SQL to create such a database. This would help avid readers keep track of the books they read and share their reviews. 

  4. Build a smartphone app that identifies a bird's origin from photos taken against a template. This is a more advanced project that would require using CNNs (Convolutional Neural Networks) and image classification to train your model on images and produce the correct output. This would help birdwatchers identify birds more easily. 

  5. Create a VR app that helps people reduce stress and anxiety using 3D modeling. You could use platforms like ARCore to create a calming environment that helps reduce people’s anxiety. You could have different presets such as a garden, space, or a forest. 

  6. Create an app that parses the internet and tells users which dishes they can make based on the ingredients available to them. This would also need to use API calls to find the right recipe and either provide a link to it or display it in the app.

  7. Create an app that lets users make flashcards to help them study. You could have preset decks and also allow users to create and share their own. This would require you to work more on the app's UI to make it stand out. 

Passion Project Category #3: Develop a Game

Difficulty: Beginner–Intermediate | Estimated time: 4–8 weeks

If you’re interested in a future in game design or just want to make a project that’s fun to work on, then consider building a game. You will be required to be familiar with C++ and Python for the programming part of the project, as well as with Unity and Godot for the game design part. Check out some ideas for inspiration below:

1. Create a game that simulates a slot machine. This is a simple game to get started with and helps familiarize you with concepts such as random number generation in Python. You could also add a creative spin on it by creating a game of slots that is unwinnable, by making sure that at no point are all three slots the same. 

2. Recreate a classic puzzle game, such as Sudoku or Wordle, on your own from scratch. You could also add your own spin by creating new rules that enhance the user’s experience and make it more interesting. 

3. Create an AI-powered game that will adjust its difficulty level by adapting to the user’s skill level. This could be something basic, like rock, paper, scissors, or something advanced, such as a platformer that sends obstacles based on the player’s skill level. You would need to use machine learning and data analysis principles to create an adaptive learning system. 

4. Build a game to spread awareness about a socially relevant topic that you’re interested in, such as AI ethics. You could create a game that follows a linear story, using an engine such as Unity, to take the user on an interactive journey, where their decisions would determine where the story goes. 

Passion Project Category #4: Develop an AI system/Chatbot

Difficulty: Intermediate | Estimated time: 6–12 weeks

With the rise of ChatGPT and other AI models, experimenting with chatbots and machine learning has proven highly fruitful for high school students interested in CS. You will get to use in-demand skills and refine them through this project. This could either be a simple chatbot that learns from training data or a more advanced machine-learning tool. Some project ideas are:

1. Build a tool that gives the user the template of a document according to the user’s needs, such as font size, number of headings, format, and citation style. This would help speed up the paper-writing process for both students and professionals alike. You will need to use NLP concepts to build such a tool.

2. Build a chatbot that will catch warning signs of mental health issues in people belonging to a certain age group. The chatbot could engage in conversations with them and make sure that they get the help that they require if they show signs of depression or anxiety. You will need to use NLP (Natural Language Processing), data processing, and speech recognition to create an accessible project. 

3. Create a face detection software from scratch using the OpenCV library. You could create software that detects faces in videos and pictures and classifies them into different categories. You could use different pre-trained classifiers in OpenCV to detect faces in real time and track them. This primarily requires knowledge of computer vision. 

4. Make an AI tool that will perform quality checks for ease of understanding on blogs and publications. This would help blog writers enhance their skills by working on the feedback provided by the tool. You will need to use NLP and data processing techniques for this project. 

5. Create a system that uses computer vision to analyze public street scene data and extracts technology trends, such as smartphones, headphones, and watches worn by people on urban streets. This would help research in urban planning and marketing strategies. 

6. Use NLP techniques to extract emotional tones and opinions in tweets and classify them based on their political leaning. This would optimize content parsing and ensure there’s no guideline violation. 

7. Build a machine learning model to find relationships between different genres of music and how we classify them using neural networks and waveforms. This could be taken a step further by having your model create playlists for each genre and build an app from them. 

8. Use NLP techniques to classify Amazon reviews into positive and negative categories. You would need to train your model to label a review as good or bad based on certain keywords and phrases. This would help sellers identify the number of good and bad reviews and gauge customer feedback. 

Passion Project Category #5: Host a non-profit event:

Difficulty: Beginner | Estimated time: Ongoing

Not all computer science projects need to be coding-related; you could also put your skills to use to make a positive change. You could host workshops, competitions, and hackathons to raise awareness of a specific topic and educate individuals on basic computer science concepts. If that is something you’re interested in, consider the options below:

1. Host mentor programs that teach younger students, who aren’t familiar with computer science, basic concepts such as programming languages, data types, and networks. You could hold such programs in your own school or make it a city-wide initiative. 

2. Start a computer science club in your high school, or become part of one if it exists already. This would help create an innovative environment, which could lead to projects, competitions, and access to resources you might not have had if you weren't part of the club. 

3. Hold conferences and workshops educating the general public about digital literacy and how one can stay safe in today’s technological world. You could also bring in guest speakers from companies to discuss cybersecurity, responsible AI use, and the future employment landscape. 

Passion Project Category #6: Other miscellaneous projects

Difficulty: Intermediate–Advanced | Estimated time: 6–12 weeks

If none of the options above work for you, try some of these options that don’t necessarily fall in a certain category, but are still relevant and interesting ideas to pursue. These ideas should make you stand out as they might require an interdisciplinary approach, which is a very important skill to have as a programmer. 

1. Try creating a virtual tour of a historic location in your locality that you feel needs more attention. You can use AR tools like Unity to create such an experience. You could use image classification to have the AR journey provide historical information about different parts of the location as the user looks at them. 

2. Create an Iron Man helmet using a 3D printer and robotics principles. This project is for those who are more creatively inclined and interested in mechanical engineering and robotics.

3. Build a system that would enable a robot to navigate an unfamiliar environment. You will need to use computer vision principles, such as edge detection, and robotics tools, such as remote sensors, to implement such a system. 

4. Make a system that would classify network traffic into malicious and non-malicious based on trained data. This system will be used to identify and block harmful traffic that may affect a network. This project would require you to use concepts in network engineering and cybersecurity.  

Passion Project Category #7: Build something for accessibility

Difficulty: Intermediate | Estimated time: 6–10 weeks

Technology is most impactful when it reaches people who need it most. Accessibility-focused projects are both meaningful and technically rigorous — and they stand out strongly in college applications because they demonstrate empathy alongside engineering.

  1. pleaseBuild a real-time sign language interpreter using computer vision that translates hand gestures into text on screen. You will need to use MediaPipe or OpenCV for hand tracking and train a classification model on a dataset of ASL gestures. This would make communication more accessible for the deaf and hard-of-hearing community.

  2. Create a web extension that automatically simplifies complex text on any webpage for users with dyslexia or reading difficulties. You will use NLP techniques to reduce sentence complexity and swap difficult vocabulary for simpler synonyms without losing meaning. This project is a strong introduction to text processing and browser extension development.

  3. Develop an app that converts speech to structured written notes in real time for students with attention or learning difficulties. You will use a speech recognition API, such as Google Speech-to-Text, in combination with NLP to clean, format, and summarize spoken content. This kind of tool has direct, measurable utility in classroom settings.

  4. Build a navigation assistant for visually impaired users that uses the smartphone camera to detect obstacles and provide audio cues. You will use object detection models such as YOLO and text-to-speech libraries to create a real-time feedback system. This is a challenging but rewarding project that combines computer vision and accessibility design.

  5. Create an app that converts sheet music images into audio playback for visually impaired musicians. You will use image processing to identify musical notation and a MIDI library to translate it into sound. This project sits at the intersection of computer vision, music, and accessibility — a genuinely rare combination.

Passion Project Category #8: Work with hardware and IoT

Difficulty: Beginner–Intermediate | Estimated time: 4–8 weeks | Hardware cost: $15–$50 (Raspberry Pi or Arduino)

Combining software with physical hardware is one of the most impressive things a high school student can put in a portfolio. These projects require a Raspberry Pi or Arduino, both of which are inexpensive and widely available.

  1. Build a smart home energy monitor that tracks appliance electricity consumption and sends alerts when usage exceeds a set threshold. You will use a Raspberry Pi with current sensors, along with a simple Python dashboard to visualize usage over time. This project introduces embedded systems, data logging, and basic circuit design.

  2. Create an automated plant watering system that uses soil moisture sensors to water plants only when needed, and logs data to a simple web dashboard. You will use an Arduino for hardware control and Python for data logging. This is a beginner-friendly IoT project with a clear real-world application.

  3. Build a facial recognition door lock using a Raspberry Pi camera module that only unlocks when it recognizes an authorized face. You will use the face_recognition Python library and GPIO pins to control a servo motor representing the lock mechanism. This project is a strong demonstration of applied computer vision.

  4. Create a wearable posture monitor that uses an accelerometer to vibrate and alert the user when they slouch. You will use an Arduino Nano with an MPU-6050 sensor and write the logic to detect angular deviation from an upright position. This is a compact, self-contained hardware project with a tangible health application.

  5. Build a weather station that collects temperature, humidity, and air pressure data and uploads it to a live web dashboard every few minutes. You will use a Raspberry Pi with a BME280 sensor and a lightweight Flask web server to display the data. This project covers the full IoT pipeline from sensor to display.

  6. Create a system that uses an ultrasonic sensor to count people entering and exiting a room and display the current occupancy on a small screen. You will use a Raspberry Pi and write logic to distinguish entry from exit based on the order in which two sensors are triggered. This has real applications in building management and social distancing contexts.

Passion Project Category #9: Explore cybersecurity

Difficulty: Intermediate–Advanced | Estimated time: 6–10 weeks

Cybersecurity is one of the fastest-growing fields in computer science and one of the least represented in high school portfolios. These projects introduce core security concepts in a practical, hands-on way.

  1. Build a password strength analyzer that evaluates passwords against common attack patterns, such as dictionary attacks and brute-force, and provides the user with actionable feedback. You will use Python and a dataset of commonly used passwords to train your evaluation logic. This is a straightforward project that introduces cryptographic thinking without requiring advanced mathematics.

  2. Create a network packet sniffer that captures and logs traffic on a local network, then visualizes which devices are communicating with which external servers. You will use the Scapy Python library for packet capture and Matplotlib for visualization. This project is a strong introduction to network security and should be built and tested only on networks you own or have permission to monitor.

  3. Build a phishing email detector that classifies incoming emails as legitimate or suspicious based on linguistic patterns and sender metadata. You will use NLP techniques and a labeled dataset of phishing emails to train a classification model. This project has direct real-world relevance given the prevalence of phishing attacks.

  4. Create a tool that scans a given website for common vulnerabilities such as exposed admin pages, missing security headers, and open redirects. You will use Python's requests library and a checklist of OWASP top-10 vulnerability patterns. This project introduces responsible disclosure concepts and web security fundamentals.

  5. Build a steganography tool that hides secret messages inside image files and can retrieve them given the correct key. You will manipulate the least significant bits of pixel values to encode text without visibly altering the image. This is a creative project that demonstrates a deep understanding of how binary data and image formats work.

Passion Project Category #10: Build for health and science

Difficulty: Intermediate–Advanced | Estimated time: 6–12 weeks

The intersection of computer science and health science is one of the most impactful areas you can work in. These projects are particularly relevant for students interested in pre-med, biomedical engineering, or health informatics.

  1. Build a symptom checker chatbot that asks the user a series of questions and provides a list of possible conditions to discuss with a doctor, along with a confidence score for each. You will use a decision-tree model trained on a publicly available symptom-disease dataset. Make sure to include clear disclaimers that the tool is not a substitute for medical advice.

  2. Create a model that predicts hospital readmission risk for diabetic patients based on structured clinical data. You will use a publicly available dataset, such as the UCI Diabetes 130-Hospitals dataset, and train a logistic regression or random forest classifier. This project introduces the ethical considerations of predictive modeling in healthcare.

  3. Build a tool that analyses sleep data exported from a wearable device and identifies patterns correlated with poor sleep quality. You will use Python's Pandas and Seaborn libraries to clean, visualize, and interpret the data. This project is a good starting point for anyone interested in digital health and personalized medicine.

  4. Create a computer vision system that analyzes images of skin lesions and flags those that exhibit characteristics of known malignant patterns. You will use a pre-trained CNN such as ResNet and fine-tune it on a publicly available dermatology dataset. This project requires a strong ethical framing and clear communication that it is a research tool, not a diagnostic one.

  5. Build a mental health journaling app that analyses the user's text entries over time for emotional tone and generates weekly summaries highlighting mood trends. You will use sentiment analysis and NLP to process journal text and visualize mood scores over time. This project demonstrates both technical skill and awareness of user well-being.

  6. Create a calorie and nutrition tracker that lets users photograph a meal and receive an estimated nutritional breakdown via image recognition. You will use a food classification model and a nutrition database API to return calorie and macronutrient estimates. This is a challenging but highly applicable project in the digital health space.

Passion Project Category #11: Tackle environmental and climate problems

Difficulty: Intermediate | Estimated time: 6–10 weeks

Environmental applications of computer science are increasingly relevant and well-received by admissions committees. These projects show you can connect technical skills to global challenges.

  1. Build a model that predicts the air quality index for a given city based on traffic patterns, weather data, and industrial activity data pulled from public APIs. You will use a regression model trained on historical AQI data and present predictions on a simple interactive map. This project is a strong combination of data science and environmental awareness.

  2. Create a web dashboard that visualizes deforestation trends over time using publicly available satellite imagery from sources such as NASA Earthdata. You will use Python and a geospatial library such as GeoPandas to process and display the data. This project introduces remote sensing and environmental data analysis.

  3. Build a carbon footprint calculator that estimates a user's annual CO2 emissions based on their transport, diet, and energy use, and suggests personalized reduction strategies. You will use publicly available emissions data and a simple decision tree to generate recommendations. This is a practical project with a clear social message.

  4. Create a machine learning model that classifies satellite images of urban areas to identify green spaces, impervious surfaces, and bodies of water. You will use a labeled dataset and a CNN to perform semantic segmentation on satellite imagery. This project has direct applications in urban planning and climate resilience research.

  5. Build a tool that analyses a company's publicly available sustainability reports and scores them against a set of environmental criteria using NLP. You will use text classification and keyword extraction to evaluate the depth and credibility of environmental commitments. This project sits at the intersection of data science, NLP, and corporate accountability.

Passion Project Category #12: Work with language and creative AI

Difficulty: Intermediate–Advanced | Estimated time: 6–12 weeks

NLP is one of the most active areas of AI research, and it is one where high school students can genuinely produce novel and interesting work. These projects go beyond basic sentiment analysis into more creative territory.

  1. Build a tool that takes a piece of writing and rewrites it in the style of a specified author using a fine-tuned language model. You will use a pre-trained model such as GPT-2 and fine-tune it on a corpus of the target author's writing. This project raises interesting questions about authorship and originality that you could explore in an accompanying research paper.

  2. Create a system that automatically generates quiz questions from a given block of text, including multiple choice options and a correct answer. You will use NLP techniques such as named entity recognition and dependency parsing to identify key facts and generate plausible distractors. This has direct educational applications and is a strong demonstration of applied NLP.

  3. Build a poetry generator that produces original poems in a specified form — haiku, sonnet, villanelle — given a theme or keyword as input. You will use a language model combined with rule-based constraints to enforce syllable counts and rhyme schemes. This project is a good example of combining creative output with structured algorithmic thinking.

  4. Create a multilingual translation quality evaluator that scores machine-translated text against human translations on fluency and accuracy. You will use the BLEU score and other NLP evaluation metrics to compare outputs and visualize the performance of different translation models. This project introduces the challenges of evaluating generative AI output.

  5. Build a fact-checking tool that takes a short claim as input, searches for relevant sources on the web, and returns a verdict of true, false, or unverifiable with supporting evidence. You will use a search API and NLP to extract and compare relevant sentences from returned results. This is a technically ambitious project with significant real-world relevance.

  6. Create a tool that analyses the readability and argumentative structure of college application essays and gives structured feedback. You will use NLP to assess sentence variety, vocabulary level, and logical flow. This is a project that directly serves your own community of peers.

Passion Project Category #13: Explore finance and economics with data

Difficulty: Intermediate–Advanced | Estimated time: 6–10 weeks

Quantitative finance is a field that combines computer science, mathematics, and economics. These projects are particularly relevant for students interested in fintech, economics, or data science.

  1. Build a stock price prediction model using historical price data and technical indicators such as moving averages and RSI. You will use an LSTM neural network trained on data pulled from a public API such as Yahoo Finance. Include a clear disclaimer that this is a learning project and not financial advice — and add a section in your write-up on why predicting markets is fundamentally hard.

  2. Create a personal finance tracker that categorizes bank statement transactions automatically using NLP and visualizes spending patterns over time. You will parse exported CSV data from a bank account and use keyword classification to assign categories. This is a highly practical project with immediate personal utility.

  3. Build a tool that scrapes earnings call transcripts and analyzes the sentiment of executive language over time, correlating it with subsequent stock performance. You will use NLP sentiment analysis and publicly available earnings call transcripts. This project introduces the concept of alternative data in finance.

  4. Create a simulation of a simple financial market where multiple AI agents trade with each other according to different strategies, and analyze which strategies perform best over time. You will use Python to model agent behavior and run Monte Carlo simulations across thousands of iterations. This project introduces agent-based modeling and computational economics.

Passion Project Category #14: Build tools for education

Difficulty: Beginner–Intermediate | Estimated time: 4–10 weeks

Education technology is an area where student-built projects have a genuine impact, since you understand the problem firsthand. These ideas are particularly strong for students who want to demonstrate social impact alongside technical skill.

  1. Build an adaptive quiz platform that adjusts question difficulty in real time based on students' performance, using a simple item-response theory model. You will use Python and a small question bank to implement the adaptive logic and build a basic web interface using Flask. This project introduces the concept of personalized learning algorithms.

  2. Create a plagiarism detector that compares a submitted essay against a database of existing texts and highlights passages with high similarity scores. You will use TF-IDF vectorization and cosine similarity to compare documents. This is a foundational NLP project with a clear and immediate educational application.

  3. Build a virtual science lab simulator that lets students conduct chemistry or physics experiments in a browser without physical equipment. You will use JavaScript and a physics or chemistry simulation library to model real experimental conditions. This project is highly relevant to schools with limited lab access.

  4. Create a spaced repetition flashcard system that schedules card reviews based on how well the user performed last time, using the SM-2 algorithm. You will implement the algorithm in Python and build a simple interface for creating and reviewing decks. This is a well-defined project with a clear evidence base in learning science.

  5. Build a tool that takes a YouTube lecture video URL and generates a structured study guide with key concepts, timestamps, and a short quiz. You will use a transcript extraction library and NLP to summarise content and generate questions. This project demonstrates strong applied NLP skills with immediate utility for students.

Passion Project Category #15: Push into advanced and research-level CS

Difficulty: Advanced | Estimated time: 10–20 weeks

These ideas are for students with strong programming foundations who want to work on something closer to genuine research. They are more challenging but significantly more impressive.

  1. Implement a transformer model from scratch — without using HuggingFace or high-level libraries — and train it on a small text dataset. You will use only NumPy and basic Python to build the attention mechanism, encoder, and decoder. The goal is not to beat GPT but to demonstrate a deep understanding of how large language models actually work.

  2. Build a generative adversarial network (GAN) that produces synthetic images of a specific object category — faces, landscapes, or handwritten digits — and write a research paper evaluating the quality and diversity of generated images. You will use PyTorch or TensorFlow and a publicly available dataset for training. This project puts you at the frontier of generative AI research.

  3. Create a reinforcement learning agent that learns to play a classic Atari game from raw pixel input using a deep Q-network. You will use OpenAI Gym for the environment and implement the DQN algorithm in PyTorch. This is one of the landmark projects in modern AI and demonstrates a graduate-level understanding of reinforcement learning.

  4. Build a compiler for a small, custom programming language you design yourself — defining the syntax, writing a lexer and parser, and generating executable output. You will use Python or C++ and study formal language theory to design your grammar. This project demonstrates a genuinely rare depth of understanding of how programming languages work under the hood.

  5. Implement a distributed key-value store — a simplified version of systems like Redis or DynamoDB — that supports concurrent reads and writes across multiple nodes. You will use Python's socket library and implement basic consensus logic to handle node failures. This project introduces distributed systems concepts that are central to modern backend engineering.

  6. Create a quantum computing simulation that implements a small set of quantum gates and runs Grover's search algorithm on a simulated qubit register. You will use Python and the Qiskit library to model quantum states and gate operations. This is a forward-looking project that demonstrates awareness of where computing is heading.

  7. Build a symbolic mathematics solver that can differentiate, integrate, and simplify algebraic expressions given in plain text. You will use recursive parsing to build an expression tree and implement transformation rules for each operation. This project is a strong demonstration of both mathematical understanding and software design.

  8. Create a neural network that generates music in a specific style — classical piano, jazz, lo-fi — by training on MIDI files and sampling new sequences. You will use an LSTM or transformer architecture and the Music21 Python library to process and generate MIDI data. This project sits at the intersection of AI and creative arts in a way that is technically rigorous and genuinely novel.

  9. Build a real-time collaborative code editor in the browser — similar to a simplified version of Google Docs for code — that syncs changes across multiple users using WebSockets. You will use Node.js on the backend and the CodeMirror library for the editor interface. This project introduces real-time systems and operational transformation concepts.

  10. Create a browser-based visual programming environment for teaching beginners to code, using drag-and-drop blocks that compile to Python. You will use JavaScript and the Google Blockly library as a starting point. This project combines software engineering with pedagogical design.

  11. Build a tool that analyses GitHub repositories and produces an automated code quality report covering documentation coverage, test coverage, and complexity metrics. You will use the GitHub API and static analysis libraries such as Radon for Python. This is a strong project for students interested in software engineering best practices.

  12. Create a decentralized voting application on a public blockchain testnet that allows users to cast and verify votes without a central authority. You will use Solidity for the smart contract and a JavaScript frontend to interact with it via MetaMask. This project introduces blockchain development and the tradeoffs of decentralized systems.

  13. Build an algorithmic art generator that produces unique visual outputs based on mathematical functions — fractals, Perlin noise, Voronoi diagrams — and allows users to adjust parameters interactively. You will use Python's Turtle library or Processing for rendering. This project is a creative entry point into computational geometry.

  14. Create a system that monitors a social media feed in real time and detects coordinated inauthentic behavior — bot networks or astroturfing campaigns — using graph analysis and NLP. You will use the Twitter API and NetworkX for graph modeling. This project introduces the concept of computational social science.

  15. Build a tool that generates personalized workout plans based on the user's fitness goals, available equipment, and schedule, using a constraint-satisfaction algorithm. You will implement the constraint logic in Python and build a simple interface to collect user inputs. This is a practical project with a clear and relatable use case.

  16. Create a system that scrapes job postings in a specified field and identifies the most in-demand skills, tools, and qualifications using NLP frequency analysis. You will use BeautifulSoup for scraping and spaCy for entity extraction. This project has direct utility for students thinking about career planning.

  17. Build a tool that takes a legal document — a terms of service or privacy policy — and summarises it in plain English, flagging clauses that are unusually broad or potentially concerning. You will use NLP summarisation and a set of heuristic rules to identify problematic language patterns. This project sits at the intersection of law, ethics, and NLP.

  18. Create a recommendation system for local community events that learns user preferences from past attendance and ratings. You will use collaborative filtering and a simple content-based model trained on event metadata. This project introduces recommendation systems in a context that is more original than the standard Netflix or Spotify framing.

  19. Build a tool that analyses a student's coding assignments over time and identifies patterns in their most common errors, producing a personalized learning plan. You will use static analysis and error classification to categorize mistakes and map them to learning resources. This project is directly relevant to your experience as a student.

  20. Create a simulation of epidemic spread across a network — a digital version of a disease transmission model — that allows users to adjust variables such as transmission rate and vaccination coverage. You will use NetworkX to model the population graph and a simple SIR model for disease state transitions. This project introduces agent-based simulation and epidemiological modeling.

  21. Build a tool that monitors a user's screen time across applications and generates weekly reports with insights and personalized usage reduction suggestions. You will use a background process to log active application windows and a data visualization library to present findings. This project addresses a real and widely felt problem in digital wellbeing.

  22. Create a system that generates personalized news digests by scraping articles from specified sources and ranking them by relevance to the user's stated interests using TF-IDF. You will use BeautifulSoup for scraping and a simple user profile model to weight topics. This is a practical introduction to information retrieval and content ranking.

  23. Build a web scraper that tracks price changes for a specified product across multiple e-commerce sites and alerts the user when the price drops below a threshold. You will use BeautifulSoup and a scheduled job to check prices at regular intervals. This is a beginner-friendly project with highly tangible utility.

  24. Create a tool that converts handwritten mathematical equations photographed on paper into LaTeX code. You will use a CNN trained on a dataset of handwritten symbols and a rule-based system to assemble the recognized symbols into valid LaTeX syntax. This project is technically challenging and genuinely useful for students and researchers.

  25. Build a system that classifies dog breeds from photos, returning a confidence score and information for each identified breed. You will use transfer learning with a pre-trained model, such as MobileNet, fine-tuned on a dog breed dataset. This is a classic but well-executed image classification project that is a strong portfolio piece for beginners.

  26. Create a tool that takes a raw dataset as input and automatically generates an exploratory data analysis report — summary statistics, distribution plots, correlation heatmaps, and anomaly flags. You will use Pandas Profiling or build your own equivalent from scratch using Matplotlib and Seaborn. This project is immediately useful in any data science workflow.

  27. Build a simulation of Conway's Game of Life with an added layer: a genetic algorithm that evolves initial configurations to maximize the number of generations before the simulation stabilizes. You will use Python and NumPy for the simulation and implement a selection, crossover, and mutation loop for the genetic optimizer. This is a beautiful project that connects cellular automata with evolutionary computation.

  28. Create a tool that analyses publicly available court case documents and extracts key entities — parties, charges, verdicts, sentencing — into a structured database. You will use NLP named entity recognition and relation extraction to process unstructured legal text. This project introduces computational law and demonstrates how NLP can bring transparency to complex institutional data.

If you’re looking to build unique projects in the field of AI/ML, consider applying to Veritas AI!


Veritas AI was founded by Harvard graduate students, and through its programs, you can learn the fundamentals of AI and computer science while collaborating on real-world projects. You can also work 1-1 with mentors from universities like Harvard, Stanford, MIT, and more to create unique, personalized projects. In the past year, we have had over 1000 students learn data science and AI with us. You can apply here!

Tyler Moulton

Tyler Moulton is Head of Academics and Veritas AI Partnerships with 6 years of experience in education consulting, teaching, and astronomy research at Harvard and the University of Cambridge, where they developed a passion for machine learning and artificial intelligence. Tyler is passionate about connecting high-achieving students to advanced AI techniques and helping them build independent, real-world projects in the field of AI!

Previous
Previous

8 Best Mechanical Engineering Summer Programs for High School Students

Next
Next

20 Best Computer Science Programs for High School Students