Throwing together a revolutionary new product that shakes the world to its core and permanently changes humans' relationship with technology in less than 24 hours might sound hard, but it's really not.
All you need is an idea and the tools to implement it. For example:
This online game adds an online component to hide-and-seek: both the hider and the seekers bring up the game on their phones, and then when the hider hides, the seekers are shown a randomly-placed circle on the map that the hider is somewhere within. The hider can explore a wide range of possible hiding spots, across a whole college campus, for example, but the game stays fair.
This simple enhancement to an age-old pastime shows how technology can be integrated with the real world in a new way to create something fun.
Tech: Angular, MongoDB, Google Maps, Cloudflare Workers
View on Devpost
This was a Python program that read PDFs and, with the help of a language model, created PowerPoint slides that summarized their contents.
These days, everyone knows AI can do this kind of thing, but back in October 2022, before ChatGPT, this blew people's minds. This project found an application of technology that people weren't used to yet.
Tech: pdfminer, Cohere NLP, pptx
View on Devpost
This was a project created by someone who once broke their arm and wasn't able to type with one of their hands. To improve this kind of situation for everyone, they decided to try to implement an old idea for a dynamic one-handed keyboard layout they found.
This project wasn't completely original, but it did iterate on a forgotten concept that then only existed in old Linux config files. Sometimes you just need someone to actually make the thing.
Tech: keyboard, PyQt, Vue, Nuxt
View on Devpost
This AI-based application recognizes pictures of animals, brings up information about the species of those animals, and tells you about related animals that you might also want to know about.
There is still a lot of untapped potential within the world of AI, probably, and this project used it to connect people with animals.
Tech: Flask, Google Cloud Vision, Wikipedia/animal APIs
View on Devpost
This is simply a horror game about being in a dark Subway (restaurant) looking for your car keys.
Not every hackathon project has to be super serious!
Tech: Godot, Blender
View on Devpost
This was a project developed by students from Case Western Reserve University who disapproved of their university's portal for class searches. So, they scraped the content of the portal and made their own website out of it.
This project identified a part of our built environment that sucks and decided to try to fix it.
Tech: Scrapy, MongoDB, Elasticsearch, Google Cloud
View on Devpost
This project uses publicly-available maps and data to visualize how dangerous any given segment of road is. I imagine this is perfect for anyone who's already anxious about driving.
This project shows how useful public datasets from websites like Kaggle can be if given the right frame. The Internet has a ton of information on it that just needs a little bit of data science done to it to become relevant and accessible in people's lives.
Tech: Google Maps API, Streamlit
View on DevpostFor even more projects, browse the global project gallery on Devpost.
For more on those last two points, read on:
This is the most common way to create apps, using centralized data and computation and convenient graphical user interfaces.
The web technologies that were originally developed for the creation of Geocities pages and mailing list address forms eventually broke containment and infiltrated every single facet of the modern graphical user interface-based world.
Generally, to use them, you need to create a backend server application that can store data, make itself available on a network, and usually do most of the actual work that the thing you're making needs to do. When a web browser (aka a client) connects to it, the backend server will send client-side code to the browser that will tell the browser what to display to the user. The server application is known as the backend; the client-side code is called the frontend.
Popular backend/frontend combos:
| Backend | Frontend |
|---|---|
| None | HTML files |
| Flask (Python library) | Jinja HTML templates |
| Express.js (JavaScript library) | Interactive components using Vue & Vite |
| Next.js (JavaScript backend + React frontend components.) | |
| Serverless Functions (Vercel/Netlify) | Static site generation with Astro (The Jamstack) |
Flask with Jinja templates is popular and highly recommended for fairly straightforward static websites.
Next.js is popular and highly recommended for somewhat more polished and complex user interfaces.
API stands for Application Programming Interface and it is a very broad term that can refer to any agreed-upon system for enabling two computer programs or libraries to interact in a constructive way.
A lot of the time, though, an API is going to turn out to be a service that provides structured data over the Internet. A classic example is the OpenWeather API. You can create an API call, which in this case requires you to identify yourself using a unique API key that you got by making an account with the service, and your program will get back data in some specified format like JSON or XML that informs it what the weather is, was, or is predicted to be in a certain area.
This is essentially a backend web server that responds to network requests with raw data, instead of with client-side code that creates a graphical user interface.
Often, libraries exist that provide pre-programmed ways to request data from any given API, like this Python library that lets you get weather data with simple function calls.
This term typically refers to technology that can make sense out of the ambiguities involved in natural phenomena like language or images in a probabilistic way.
Although getting new machine learning models working takes quite a bit of ambition and patience, it is interesting to see how computers can turn data into the appearance of intelligence.
Note that Google Colab and Kaggle both provide Jupyter Notebook-based Python environments.
Native, installable apps can benefit in speed, look, and feel from being built to run on a specific kind of device.
WPF (C# & XAML) in Visual Studio.
SwiftUI (Swift).
Android Studio (Kotlin).
Qt (C++ or Python).
React Native or Flutter.
Don't let this list of technologies hold you back!
The above is meant to be a survey of the most common ways to accomplish different tasks, not an exhaustive list of interesting bases for projects. You can ignore all of the above and build a GUI in Zig or a command line app in Lisp, as long as it does something interesting and you learn something while doing it.
This content is released under the terms of CC-BY 4.0.