All Projects → Divide-By-0 → ideas-for-projects-people-would-use

Divide-By-0 / ideas-for-projects-people-would-use

Licence: MIT license
Every time I have an idea, I write it down. These are a collection of my top software ideas -- problems I think enough people have that don't have solutions. I expect you can reach a decent userbase if marketed correctly, as I am surely not the only one with these problems.

Projects that are alternatives of or similar to ideas-for-projects-people-would-use

spotify-vibe-check
Spotify Vibe Checker Web App to vibe check your Spotify Playlists! (currently broken due to CORS)
Stars: ✭ 24 (-96.28%)
Mutual labels:  playlist, spotify
Quaggify
A spotify clone made in Swift 4 consuming the Spotify API
Stars: ✭ 30 (-95.36%)
Mutual labels:  playlist, spotify
fresh script
Find Spotify tracks posted to the HipHopHeads subreddit and add them to a Spotify playlist.
Stars: ✭ 69 (-89.32%)
Mutual labels:  playlist, spotify
paystack-music-api
The bot and API that powers Paystack Music.
Stars: ✭ 70 (-89.16%)
Mutual labels:  playlist, spotify
Alltomp3
Node module to download and convert in MP3 with tags an online video
Stars: ✭ 120 (-81.42%)
Mutual labels:  playlist, spotify
MusicPlayer
A Telegram Music Bot written in Python using Pyrogram and Py-Tgcalls. This is Also The Source Code of The UserBot Which is Playing Music in @S1-BOTS Support Group ❤️
Stars: ✭ 218 (-66.25%)
Mutual labels:  playlist, spotify
163MusicToSpotify
Convert your favorite 163 music playlist to Spotify
Stars: ✭ 98 (-84.83%)
Mutual labels:  playlist, spotify
PlaylistParty
📺 Play Spotify Playlists on Youtube.
Stars: ✭ 20 (-96.9%)
Mutual labels:  playlist, spotify
Spotify Playlist Archive
Daily snapshots of public Spotify playlists
Stars: ✭ 111 (-82.82%)
Mutual labels:  playlist, spotify
Spotify Dl
Downloads songs from your Spotify Playlist
Stars: ✭ 578 (-10.53%)
Mutual labels:  playlist, spotify
Partify
This is a free open source Spotify-powered app that lets users host parties and have guests connect using their smartphones to submit and vote on songs. The app will only play the highest voted song and can connect to personal playlists.
Stars: ✭ 37 (-94.27%)
Mutual labels:  playlist, spotify
Spotlistr
🎧 Convert Anything to a Spotify Playlist!
Stars: ✭ 226 (-65.02%)
Mutual labels:  playlist, spotify
play-tailwind
Play is free and open source Tailwind CSS template for - Startup, SaaS, Apps, Business and More. It comes with a high-quality design and all essential components & pages you need to launch a complete website.
Stars: ✭ 60 (-90.71%)
Mutual labels:  startup, software
SpotifyWebApi
A .net core wrapper for the Spotify Web API
Stars: ✭ 19 (-97.06%)
Mutual labels:  playlist, spotify
spoti-vote
Web application to vote the next Song in Spotify Queue
Stars: ✭ 14 (-97.83%)
Mutual labels:  playlist, spotify
Coverify
🎧 Design fresh album cover for your Spotify playlists
Stars: ✭ 167 (-74.15%)
Mutual labels:  playlist, spotify
Singlespotify
🎵 Create Spotify playlists based on one artist through the command line
Stars: ✭ 254 (-60.68%)
Mutual labels:  playlist, spotify
PasTerm
Genera combos a base de Keywords con Termux
Stars: ✭ 36 (-94.43%)
Mutual labels:  spotify
Sudoku-Solver
🎯 This Python-based Sudoku Solver utilizes the PyGame Library and Backtracking Algorithm to visualize and solve Sudoku puzzles efficiently. With its intuitive interface, users can input and interact with the Sudoku board, allowing for a seamless solving experience.
Stars: ✭ 51 (-92.11%)
Mutual labels:  software
Cukatify
Cukatify is a music social media project
Stars: ✭ 21 (-96.75%)
Mutual labels:  spotify

Ideas for Software that People Would Actually Use

Inspired by https://github.com/joereynolds/what-to-code.

These ideas, as far as I know, don't exist yet (or have done a poor job with SEO on Google). These are also ideas I desperately wish I could have tried at least once, meaning many others probably have as well. It's difficult to stay motivated coding or on a side project when you don't know if people will use it, or if your end goal is solving a solved problem. This list aims to fix that.

This list is around 100 curated ideas, and I hope to hit 150 by the end of 2023. Stay tuned, as I have several hundred on my list (the majority of them are patently ridiculous and not a good use of anyone's time to read).

Feel free to use these for a hackathon, side project, or hacklodge project -- I'd love to see them get built! If you're curious about an idea but don't know where to start, just reach out to me at [email protected]; I'd be happy to give pointers on the frameworks I'd use, the high-level design, and/or the best way to learn how to build them. Ideas include apps, web apps, and chrome extensions. All I ask for is they are open source, credit is given to Aayush or yush_g or Divide-By-0, and your repo + site link back to this list :)

Funding

If you fully deploy the project publicly, I award free hosting and small cash prizes at $200 per idea ($400 per crypto idea). I personally put in $200 (crypto ideas additionally 2x matched by @smsunarto). This is at my discretion so people don't game the system or feel cheated; the point is to build the project for learning and self-satisfaction, not the grant -- the money is mostly just so it can continue to exist :). I will likely fund any good-faith implementation. Reach out to me if you're interested in helping sponsor bounties as well!

Total projects built: 11.

Finished + Paid out Bounties

Mixmello: Remix Spotify Playlists

Bounty Prompt: A program that takes your spotify playlist and converts it to another one of remixes of the same songs, to get some variety. Create remixed versions of your favourite playlists. Free and open source!
Website Link: mixmello.com
GitHub Repo: alexgurr/mixmello

Damn Daniel Button

Bounty Prompt: The bruh button, but for damn daniel
Completed by: Daniel Bessonov, Patrick Li
Press: Saratoga Falcon: Top 25 App on App Store Taken Down

Phone Scroll Distance Leaderboard

Bounty Prompt: An app that tracks the distance you've scrolled on your phone and puts it on a leaderboard
Completed by: Bryan Chiang
Demo Video: Demo

Auto-LaTeX Equations

Bounty Prompt: A way to use LaTeX equations in Google Docs
Completed by: Aayush Gupta (me)
Website: https://autolatex.com
Press: Nature

Spotify Playlist Cleanify

Bounty Prompt: A program that takes your spotify playlist and converts it to a clean version with the same songs and removes it if it can't find any. Used to be able to listen to my playlists in the car with my parents
Completed by: Arman Rafati
Website: https://www.cleanify.app/
Github Link: https://github.com/code-arman/Cleanify

Windows Automatic Unzipper

Bounty Prompt: When something is downloaded, unzip it to its own folder then delete the original zip file
Completed by: Aiden Magrath
Github Repo: https://github.com/aidenmagrath/Windows-Auto-Unzipper Website Link: https://autounzipper.com/

Trippy Videos

Bounty Prompt: Upsample each frame in a video independently with a GAN, creating an entirely style-transfered universe that moves from frame to frame in a slightly jarring and hypnotic way.
Completed by: Milo Cress, David Wu, Alice Chen, Vincent Huang
Demo Video: 30 second Video
Github Repo: Github

Colorize Video

Bounty Prompt: An API endpoint for temporally consistent video colorization
Completed by: Syed Mustafa
Deployed Demo: Replicate API Demo

Get Off Those Sites

Bounty Prompt: A good Chrome extension to keep you off Facebook etc. Tracks how long you spend on degenerate sites, then when you go to Facebook etc, it says "On average, you think you'll spend 16 minutes, but you end up spending 31 minutes on this tab. How many minutes do you think you'll spend this time?" And at the end of that # of minutes, it makes the page black and white so you can continue to browse but it'll be slightly uncomfortable.
Completed by GrimSteel
Demo Video: TBD
Github Repo: get-off-those-sites

Spotify Match

Bounty Prompt: A website that, when given a certain song or artist on Spotify, it finds friends who have listened to that artist/song (by # of occurrences in their public playlists). Useful to find concert buddies/people with similar music tastes.
Completed By: Colin Flueck
Demo Video: TBD
Website Link: spotifymatch.com

Safe Tornado Cash

Bounty Prompt: Safe tornado cash, where users can use it but hackers/North Korea can't. To be able to use tornado.cash, you have to wait a significant number of blocks between deposits and withdraws. You know the leaves being added to the Merkle tree, and can trace which are linked to stolen deposits. You can create a second blocklist of "banned leaves", which allows you to block withdraws of nullifier leaves, meaning hackers can deposit but not withdraw.
Github Repo: tornado-core-blacklist


Contribution & pull requests

If you make any of these, please make them open source!

If you want to be added to the list of people that have completed a project, request a PR adding the project idea, your project's URL, and your repo's URL to CONTRIBUTORS.md and above, and edit the README to mark them done. I can help brainstorm relevant communities, and recommend marketing ideas to help get your first few hundred users.

Index

All Software

All Software

Music

  • A Chrome extension that tracks if you're on a certain song or artist on Spotify, and it finds friends who have listened to that artist/song (by # of occurrences in their public playlists). Useful to find concert buddies/people with similar music tastes.
    • This is surprisingly highly requested, see thread 1, 2, and 3.
    • DONE: This is done by Colin Flueck, project at spotifymatch.com!
    • Note that the above isn't exhasutive; as @alexgurr points out, for thoroughness you may need a Chrome extension to hit the friends API endpoint on Spotify web, or Facebook login to use Facebook friends.
  • A program that takes your Spotify playlist and converts it to another one of remixes of the same songs, to get some variety.
  • A program that takes your Spotify playlist and converts it to a clean version with the same songs, and removes it if it can't find any. Used to be able to listen to my playlists in the car with my parents.
  • A tinder for songs -- plays the most commented 10 seconds of a song on SoundCloud and adds it to a playlist if you like it. Inspired by Soundsieve (https://github.com/wilzh40/SoundSieve) which is unfortunately dead, and fab.fm which has a different song discovery method.
  • Connect your Spotify and visualize Spotify data insights as plots. Existing apps show tables or lists, but it's a small jump to display eye-candy plots instead, and will help with virality.
  • An automatic music video creator from mp3. Upload any collection of videos, pictures, or a topic, that you want to auto-align. The app detects drumbeats or other features and staggers the videos to transition at those times.
    • Could potentially also upload a 3d scene somehow, and randomly move around and show the field of view, but at a speed proportional to music energy and rotating only when beats hit. Perhaps to import the 3d scene, could be autogenerated from an image/set of images, or just a spot on google earth or something?
  • Automatically nightcore songs and post them as YouTube compilations
  • An audio recorder where you can tap to add a flag at any time -- you can attach a note if you want, but the purpose is that later you can quickly skip to that time and know something important is there.
    • Can do this for a timer app/song player also, not just an audio recorder.
  • Kaggle for music production -- the site provides samples and teaches the general structure to layer them, then has a periodic competition to layer them to create the best beat [Note: Kenny Beats runs a similar competition but without the lessons].
  • A plugin that just takes a piano melody and adds corresponding drums and reverb and a beat and a chorus and everything just off those notes (like the harmony7 MIT web.lab app).
  • Scrape a karaoke or music video from YouTube, match the pitch to notes (FFT?), then make bars at those pitches for you to hit, and overlay your current singing on top of it. Allows you to quickly train pitch like Yousician or Riyaz, but for any song. Can be used for live singing, singing covers at home, or singing lessons.
  • Website that takes a video or movie, Shazam's all the songs or looks up soundtracks if they're public, and converts it to a Spotify playlist automatically. This might already be commonplace for mainstream movies, but doesn't exist for uncommon ones.
  • Little dancer: Use echo nest labs and FFT to sync a bunch of clips to a specific BPM or sequence of beats. Using some beat detector (likely also FFT), have a mini cheerleader or dancing figure synced to the beat in the bottom corner of your laptop. Can be based off of stable diffusion dancing to enable custom dancing.
  • An app that chooses songs of a specific BPM from all your Spotify liked and playlisted songs, for workouts
  • An app that plays hype beats or just a simple beat behind a podcast, so when you run you can listen and stay on pace
  • A better rap lyrics generator than basic MCMC/RNN methods; use GPT-Neo to generate reasonable distributions over the next words, then re-weight GPT-3 probabilities over next words by hard-coded poetic heuristics, such as the amount of internal rhyming to same syllable count on the previous line, alliteration, etc.

Health

  • 8 Hours of Sleep App: Sleep tracker app that detects when you fall asleep. It then turns off your sleep podcast/asmr and makes sure you get as close to 8 hours as possible and wakes you up in a light sleep state. Note that existing sleep cycle apps force a wake-up time, but time-to-sleep is often so inconsistent that chances are you won't be getting 8 hours.
  • Lucid dreaming app: Pairs with Oura ring or Sleep Cycle-type apps, to play a lucid symbol sound when you are in REM sleep to try to induce lucid dreaming, inspired by Lucid Experiment. It will also have you practice snapping to awareness when the sound is played for 5 minutes as you fall asleep every day.
  • Patient radiology in your own hands: An app that lets you take your physician's radiology image (or auto-align a sneaky picture of it), generate the hotspots of bilaterally asymmetric places or ML-determined anomalies, then the patient can ask the radiologist to double check those spots and comment on what it is. Inspired since radiologists' eyes often pause at the place where people have tumors, according to some studies -- noticably AI is significantly better than humans yet not widely deployed.
  • A collection of all large-scale health studies for foods, ranked on a single number line of toxicity with error bars. Can scrape correlation/p values and error bars directly from papers.
  • Dishes likely to have Allergens: Search portal where you put in a dish and it says what percent of online recipes of that dish have nuts, maybe by country too. Done by scraping recipes by the country of origin to determine what to avoid when allergic people eat that cuisine and create an intuition about what allergens and what restaurant dishes to avoid for a certain culture.
  • Instacart/Amazon Notifier for Food Allergies: A chrome extension that goes through an Instacart/Amazon Fresh cart and finds them on an ingredient website and scrapes the ingredients, and flags foods with user-specified bad ingredients: whether it's nut allergies, seed oil aversion, or high fructose corn syrup. Various nutrition authors would certainly help market this, especially on Twitter.

Programming Tools

  • A lightweight create-react app for ML apps. This starter app would compile on first clone and run React and Python. Should have a 'yarn deploy' or something that does a one-click deploy to an API endpoint as well. Would be cool if the default frontend was a presetup email collector, usually the first stage of hype in a startup anyways.
    • Edit: I now think this should use React and Modal or Replicate instead.
  • A debugger to catch bugs like two functions being the same and different in inconsistent ways, can use interfaces like ChatGPT automatically on your code.
  • Automatically track all the keyboard shortcuts/clicks you do within an editor, and suggest/generate keybindings and commands for your most inefficient workflows (an interactive way to practice forgotten yet useful vim shortcuts, for instance)
  • A greasemonkey/tampermonkey script to automatically in the background, backup all visited pages and their hyperlinks to Internet Archive. I used to have a naiive script, but a faster script would only do the hyperlink scanning and API calls after the full page loads.
  • A greasemonkey/tampermonkey script to, when detecting a page that says "404" and "Not Found" on it, display a link to go to that page in the Internet Archive.

Family/Roommates

  • Remotely control your grandparents' computer/phone with one link click that you can send them. It should be one-time and only work for a few minutes, so hackers can't exploit it in the future. Chrome Remote Desktop requires Google sign-in from the same account in both places, which is harder to pull off for 2 different people.
  • Make an algorithm for a mounted camera that sends SMS notifications (perhaps if your roommate leaves dirty dishes?) based on this similar one for parking spaces.

Politics

  • Rate your affinity towards topics and get a ranked list of candidates that are most aligned based on the wiki grid, like a BuzzFeed quiz for local candidates.
    • Prefer to make this automated by building a scraping service for all candidates on Ballotpedia comparing state senators etc. and scraping their beliefs from their speeches on youtube transcripts or personal links or Twitter etc. Can also train on the Wikipedia grid of candidate beliefs/policy votes.
    • Existing solutions are lacking: isidewith (only for presidential race), voteredge (ugly), ballotpedia (no side by side or issues grid).
    • This project may or may not have been done by a team from AIM Labs.
  • Given a county, it automatically scrapes candidates running for local office and analyzes their social media/public statements to infer possible political stances. If this is not enough info on local leaders, it might require an embedding/LDA type approach to analyze their public profile.

Image Processing

  • Automatically make photos look good by aligning edge detection with the rule of thirds. Perhaps as a Chrome extension that runs when you hit crop on a Google Photos image link?
  • Take a picture of a wine stand, and recommend wines by the best rating to price ratio.
  • A good online red-eye fixer. Surprisingly, the first few on Google all sucked.
  • Make app/Chrome extension/background integration to auto tag Google Photos images with ongoing calendar events, so I can search for the event and see the photos from that. Useful for class notes (if all your classes are on your calendar) and generally increasing the searchability of photos.
  • A way to share event photos to specific people. It should be possible to upload an album to i.e. Google Photos or Flickr of thousands of pics of the event, and attendees can input a picture of themselves and their friends, and it automatically runs facial recognition on every pic in the album and only returns pics that include people from the inputted picture.

Video Processing

  • Convert any youtube video to the trapezoid holographic projection (like this) by running depth perception AI on the video, and changing the depths that different pixels are at on different screens, so you see a depth modulated image on top of your screen, holographically, for any video!
  • Animation Generator: AI labels each frame in a video with the contents in a text (representation learning), then based on given labels, generates missing labels/coherent story, then generates an animation based on all those labels. Can deepfake style transfer all images to be the same style (idea inspired by Eden Bensaid).
  • A dashcam that alerts you if someone is giving you a parking ticket when you're away. Bonus points if it tells the cop that you'll be back in just a minute.
  • Auto Analyze Game Footage: A drone above a sports game keeps track of all the footage and then you infer the plays the opponent is making based on similarity of movement, so you can get the strategies of an arbitrary team. Can also do with phone cameras possibly.
  • A hidden camera on a lapel that lets you record all poker hands at a casino and then analyses them for you.
  • Trippy Video Generator: A superresolution/style transfer model runs on each frame of a video independently, leading to a very raw flipbook-style animation. Perhaps generate a trippy video from a regular video. For instance, upresolutioning every frame, or recoloring each frame (or any other transformation) independently with an imperfect generative adversarial network to have disconnected images but a connected idea.
  • Fill in people's videos when their cameras are off. By using the speech-to-face paper in a browser extension, fill in other's inactive google hangouts/zoom logos with low bitrate moving bitmojis, and send yours as that when your camera is off. Cool research done at 5.3 (https://arxiv.org/pdf/1905.09773.pdf).
  • Given a (lecture) video, edit it so that automatically speeds up during times where no actual lecture content is delivered (ex. an instructor talking about their dog), and slow down when content is dense (ex. slide full of equations that the lecturer is going through). Use both visual info (slides) and audio (what the lecturer is saying). Example use case: a student wants to watch a recorded lecture video in an optimal manner that maximizes learning in a shorter amount of time.
  • Live transcribe any Chrome tabs audio by pushing it into OpenAI Whisper-type model, enabling transcriptions for all meetings including gather.town out of the box. Can have a start/stop button that auto-saves it to a Google Doc.

Edtech/Research/School

  • Timed comments for YouTube, like the existing beta which doesn't seem likely to rollout soon but shown in a Soundcloud style. That is, a scraper gets all the comments, extracts timestamps, and like Soundcloud, displays previews that expand on hover in tiny popups at the timestamp the bottom of the video as you watch. If not fullscreeen, each comment thread at the timestamp can scroll by on the side in place of the next video suggestion, like an auto-scrolling Khan Academy comments board. Would likely be a Chrome extension. Ideally, could also show such comments automatically on any embedded YouTube video as well. If someone using the extension likes or responds, should just respond from their logged in YouTube account.
  • An extension where you could double click a citation # in a paper and it would automatically open the pdf from jstor or other 👀 sources.
  • A bounty program to make top papers on paperswithcode.com into interactive APIs on Replicate that anyone can play with.
  • Tunemeet for cohort-based classes: It's known that cohort-based learning is powerful. An extension students can get that drops a chat box in their window if they're watching the same video (class zoom recordings or OCW content to start) as another student at the same time. Can perhaps comment on specific timestamps in the video, or have a Khan Academy-style board for any video.
    • There are several proponents of cohort-based learning, including Wes Kao or Forte Labs that I'm sure would love to see this!
    • This feels similar to what spencerc99/jackyzha0 built with cozy internets.
  • A script to apply to all companies on Glassdoor with just your LinkedIn, and doublechecking its autogenerated answers to all questions with the user, before it batches autosubmits all of it. It will likely require some Selenium in Python.
  • Open Source Collaborative Class Materials Page: Make the the Missing Semester website into a general template for any class. In addition, try adding new features. One example possible new feature is sign-in, where every user can sign in to get some perk (say pset answers) -- in exchange, we can get data on which courses people study, and if the materials for a course are sufficient or need improvement. Experiment with things like forums like Khan Academy for questions on any video, easy course feedback, and PRs on GitHub for each class. Also, it should be easy to find others to self-study a class with. Users could have permissions like course admin, course teacher, TA, and contributor. For example, a contributor can upload a document they worked on, and a TA can edit the class page to include it. This can streamline contributions, so class webpages can just be approved OCW staff, and instead updated by contributors.
    • In Progress: There is a 2x match on this bounty by MIT Soul.
  • Piazza to Stack Overflow: Piazza, a question-answer forum, does not allow downloading or archiving posts on the site. But many times, an instructor wants to make the Q/A from a previous class accessible as another learning resource, either to the next offering of the class or to self-study learners, especially if the class materials are made free and openly accessible on a site such as MIT OpenCourseWare. It would be awesome to automatically cross-post Piazza questions to a new Stack Overflow account, and repost all questions to Stack Overflow with self-answer. The questions would all be anonymous, and we can flag all questions that have a name or proper noun in them to manually review. We can also tag each question to a certain class, so class-specific questions can have appropriate context provided or be skipped entirely. Note that a consent question for this should be asked upon class signup.
  • “Suggestion mode” for OverLeaf/Slate: Imagine if there was a way to collaboratively have LaTeX notes and have anyone provide feedback or questions on the notes themselves. Ideally, we would just share an overleaf page and people can leave such comments themselves. However, it is too difficult to add this functionality to a closed source codebase. Luckily, it should be possible to add this to https://slate.rs, a faster open-source overleaf. We think adding a suggestion mode to this would be super high impact and an interesting experiment for open education, to foster a collaborative environment to improve the notes.

Text Processing/NLP

  • Goodreads Book Recommender via OpenSyllabus: A site that takes in your Goodreads profile and uses the OpenSyllabus Galaxy book embeddings to build a recommender system for what you might like next.
  • A creative startup name finder powered by baby names. Find meanings for baby babes, and make a site where you can input keywords your startup is about, and it will print resulting baby names with meanings with the highest keyword overlap (or min distance in the word embedding space).
  • Another startup name generator - input 2+ keywords, then try all reasonable pairwise ship names till you reach an untaken name .com/.ai/.io/other top TLD
  • Convert all text in messenger apps to lowercase automatically (for speech to text or bad autocorrect).
  • Keyboard shortcut for automatically fixing spelling in Google Docs+.
  • A chrome extension that adds the per ounce/unit price to Instacart the same way Amazon does.
  • Fix Forgot to Reply To Message: App that finds old messenger chats or emails you left on read or unread, or unfinished threads, so you can respond to them. Requires probably mapping the last few texts to a score of how likely it was to be the end of a conversation.
  • Talk to a 'painting' and have it talk back, like Harry Potter paintings. Speech-to-text on your voice, gpt-3-type-model for conversation, tokkingheads/other deepfakes to have a face emulate the response. This has been attempted but not yet real-time end to end on arbitrary humans, and nowhere close with animation on cartoons.
  • Create a simple scraper that searches Google for specific bot websites and reports/blocks them. This is more a way to get to talk to/help Greg Egan, than it is a real problem.

Fun

  • Create a nice frontend for DeepSaber, a way to AI generate beatsaber maps for any youtube video. Currently, it's just a colab notebook, but it's a few short steps away from having a nice frontend. BeatSage is a similar AI mapper that's generally regarded as having an inferior algorithm, and they hit 100K uses in a few months.
  • A better smart time-based phone password lock. For instance, if the current time is AB:CD, the user can set their password as say, (A+B), (|C-D|), (A * B % 10), (D), or a general user-coded function, so it changes every minute. Existing solutions only allow rudimentary functions.
  • Automatic haircut chooser -- input a picture, and based on aligning your face to a celebrity with similar facial features (via keypoint matching or AI facial recognition %), then overlay celebrity hair on top of yours to preview the style or directly show that celebrity's hair to your barber.
  • Automatically take a picture of your face and take cross ratios and edge detection/curve detection to determine the best sunglasses based on face shape. Training data can be celebrities with similar face shapes, and you can even have a whole startup ship and send you completely custom-sized sunglasses.
  • The Wiki game for Subreddits: Instead of Wikipedia pages, you have to navigate to a target subreddit only via clicking other subreddits in sidebars, wikis, and pinned posts.
  • Nerve (like the movie) but to avoid the horror scenarios, all submitted new dares must be moderated for safety. Alternatively, mix and match a reasonable list of locations and actions.
  • A good Chrome extension to keep you off Facebook etc. Tracks how long you spend on degenerate sites, then when you go to Facebook etc, it says "On average, you think you'll spend 16 minutes, but you end up spending 31 minutes on this tab. How many minutes do you think you'll spend this time?" And at the end of that # of minutes, it makes the page black and white so you can continue to browse but it'll be slightly uncomfortable.
  • Windows automatic unzipper. When something is downloaded, unzip it to its folder then delete the original zip file (Macs do this already, but not Windows).
  • Intersite with a live count of how many people are watching. OG Silicon Valley watchers will know what this means.
  • A bidding platform for radio ads, where corporations/clubs/people put their ads, and radio hosts play the highest paying ones and post the time and station, and location. Once the site auto-verifies it with audio matching from tune-in + shazam type system, it automatically transfers revenue from radio station to radio hosts (can be done easily via crypto).
    • I think college radio stations (like MIT WMBR) would really like this and probably use it!
  • A Twitter bot that tweets the opposite of what a Twitter thought leader influencer says and is therefore just as insightful.
  • Run analysis on which dance teams placed in what rank, to see the correlation between show order and rankings to measure bias, at shows like the Desi Dance Network.
  • An Amazon price per ounce/count calculation that works all the time, and the equivalent for Instacart, Walmart, etc

Crypto ($400 each)

  • Truly random NFT drops The problem is that you can predict randomness and mint the best NFTs by simulating the chain. Some solutions exist. However, a better way to do this is, on mint, you generate a 24+ second (2+ block) VRF seeded by the previous blockhash. Minters pay gas upfront for anyone to send a second reveal transaction. MEV searchers calculate the VDF and send the result to the chain for that gas money + a small bonus, in return for updating the NFT values on chain first. More description at this hackmd: https://hackmd.io/xgR6mtWyQYC_SZYtZTdoDA .
  • Futarchy On-Chain: Build the first prediction markets for governance, like MerkleDao's plan. Add features like also betting reputation points proportional to money, where higher reputation leads to higher investment limits, which will help institutional players to be long-term aligned with the project instead of financial manipulators. This will also help elect legislators who consistently have high reputation, meaning they accurately predict long term impact of legislation on people.
  • Bitcoin on Chain: [Not my ideas, but still excellent] The four ideas at the bottom of https://bitcoinmirror.org/ have not been created yet and are technically feasible as an intermediate-level project, and could be the first trustless applications of Bitcoin on Ethereum! They haven't been built yet because this was only possible a few months ago and isn't marketed very widely. Would likely quality for Gitcoin/Eth Uni grant for much more funding. WBTC uses a centralized minting system with a 10B$ market cap and can be replaced by this. Can do as well with ZK proof of BTC headers, which will be substantially cheaper.
  • Run automated static analysis and formal verification tools on all existing and new smart contracts: I have a more fleshed-out proposal here. Can add bespoke checks like seeing if code calls unsafe oracles like keep3rV2Feed.current. Can also use more recent powerful tools like Veridise, which likely haven't been run very widely.
  • RISC0 verifier in Solidity Due to gas costs, the team building verifiable RISC execution has only verifiers for non-EVM chains. It should be easy to convert this verifier generator to use solidity syntax instead and run on an L2, letting you do stuff like verifiable Pytorch execution on chain. Code is even OSS as of Q2 2022. Idk if it exists yet, it might already.
  • AA L2: An L2 whose only feature is account abstraction on top of the Ethereum L1.
  • A Vitalik-style blog post on accumulators. Explaining the difference between RSA accumulator, merkle trees, hashed prefix tries, etc along with time and space complexity for set inclusion and set exclusion, with and without ZK. Might also inspire a new idea for a ZK friendly accumulator (although Merkle trees are already quite efficient).
    • Edit: Vitalik has now put up a similar one, this post would be a great model for it.
  • ZK Mao On Chain: Put the Mao card game on chain, with a rule like any new rule must be < 20 characters of code. This game would be perfect to demo both programmability of blockchains and provide a fun twist to one of my favorite card games. You can use ZK-SNARKed execution of commited-to code in order to prove consistent execution of your code, with something like Risc0 or a zkEVM, and use a zk verifier as a "commitment" to the code. Can also be off-chain, since is only a fun SNARK demo.
  • Pay for L1 Txs With Any Coin: Gas station network v2 mainnet frontend, even for simple ERC20 sends. Would allow people to send transactions to the chain without any eth in their wallet; there are no live mainnet frontends right now. This is being vaguely pushed for with account abstraction, but you can also run MEV-incentivized relayers to do this (see stealthdrop or surrogeth without centralized relayers).
  • Higher Degree Gates in Circom: Allow circom to do higher-degree gates via automatically decomposing it (i.e. z = x _ x _ x is automatically parsed as y = x _ x and z = y _ x in the backend, where _ can be + or *)
  • Is this website actually clientside ZK?: A very simple browser extension that detects if a website that claims to be ZK is sending any information to a server, or is clientside only. One version would spoof all outgoing requests to be from an empty server, so that you can still do things like download zkeys, but you can't send personal data.
    • Partially DONE. First half done by Monia, not open source yet.
  • Create a GitHub org for non-censored DeFi frontends, as suggested here. Host them under an uncensorable domain as well.
  • A stablecoin for basket-of-goods price index, which adjusts the interest rates of its vaults to create this peg i.e. (us dollar / inflation). It maintains surplus in the Treasury by issuing gas options, allowing a simple on chain derivates framework to generate actual income in other cryptocurrencies, allowing it to deviate from the dollar.
  • Dev NFTs on Goerli: A developer-friendly ERC721 on testnets i.e. Goerli, that lets you send Eth to the contract and will auto-mint you back 100 dev NFTs to experiment with, so super easy to test with during hackathons
  • A few fun projects related to ZK identity: if you have any experience at any level, dm me for ideas catered to your level :)
  • Build a full NFT marketplace that uses optimal auction theory instead of first price auctions. You should use our on chain blind Vickrey auction contracts, which you can understand via our blog post.
  • Safe tornado cash: Where users can use it, and prove non-membership in blocked lists of addresses. Such a list could be i.e. money linked to hacks/North Korea or something. Currently, to be able to use tornado.cash, you have to wait a significant number of blocks between deposits and withdraws. You know the leaves being added to the Merkle tree, and can trace which are linked to stolen deposits. You can create a second blocklist of "banned leaves", which allows you to block withdraws of nullifier leaves, meaning hackers can deposit but not withdraw.
    • Partially DONE: This was built and a bounty was awarded! Ameen built a similar centralized version of such a list, but permissionless list adding I think is key. Note that this bounty is still open with the same reward for the more general construction.
    • Note that this can be made more general. Any entity (the government, rektfinance.eth, or you) can create a curated list of "bad addresses". Any withdrawer can prove non-inclusion in any set of lists they think others would care about when they withdraw (via proof of inclusions in the complement).
  • Better Gitcoin Comments: Make a PR to Gitcoin to order comment section by comments first, then all contributions. Also recalculate the matching amount shown on the frontend to be adjusted to project future donations based on the average distribution, so that the matching amount is more accurate.
  • Patch ethers.js to add a function that calculates the transaction hash, without having to send the transaction. keccak256 on the signed transaction doesn't work, and there is no built in function to do so even though it is possible and one can write their own helper function (see the description here).
  • ZK Soft KYC: A circuit on the simpler end, with a proof-of-membership to Gitcoin Alpha Passport. When you send a donation on Gitcoin, you prove you own an account (i.e. via a signature match into a merkle tree heyanon style) to prove a matching % (or soft KYC-ability), without revealing who you are. You can use an Axiom state root of the on chain Gitcoin passport to ensure up-to-dateness with the chain. Note that this trusts Gitcoin to verify your matching in a centralized manner.
  • Witness Encypted Tinder: Implement Protocol Labs’ new construction or this non-succinct one, and then build a proof of concept Tinder where everyone selects 5 people they want to match with, and are only matched if people select each other. First, everyone commits to, say, 5 people they are most interested in. Those 5 people should get only notified if they also commit to that person as one of their chosen 5 as well. So, after everyone commits, those commitments are used in the FC-WE scheme that everyone then runs, to publish a message only to their 5 folks only if they also had valid commitments (i.e. with them in it, while keeping it anonymous, which may not be possible with groth16). Finally, in the reveal stage, everyone attempts to read every message and can only end up reading the ones that work for them. You can do this with a pairwise Socialist Millionaire or Yao’s Garbled Circuits, but this requires more back and forth stages.
  • On Chain Proof Aggregator: To get L1-level censorship resistance and data availability of ZK circuits is expensive, but there is a way to make this cheaper at the cost of a delay. Imagine building a contract called DelayedBatchGroth16Verify. Let's say, for instance, that I am withdrawing from Torando Cash. Then, I have two phases. One, I send my proof + public parameters to the DelayedBatchGroth16Verify contract along with a small amount of eth (say, calldata cost of that many parameters + a tip). That contract, say ~12 hours, collects all the proofs sent to it. It then uses Snarkpack or analogous (via additivity of KZG commitments) to verify all of the proofs at once for 300K gas. Anyone can batch verify and send as soon as the size of the tips in the contract exceeds the cost of a single KZG verification. Once such a verify passes, it stores say hash(proof, public) in a "passed proofs" mapping. Thus, once someone has verified for me cheaper than a single verify, I can send a second transaction to tornado cash that just checks that the proof + public parameters have been part of a past batch verification (for instance, by hashing all of them and checking that it is a valid mapping key mapping to a 1), and then continues with the rest of the logic. While long-term we expect to not need this due to exceedingly cheapening L2 costs, it will be useful for the next 2 years while we do not have robust ZK L2-to-L2 bridges or audited ZK rollups.
  • ed25519 encryption in a ZK SNARK (using circom). Metamask's encrypt function on chain would be new, and save people from having to use MIMC as an encryption function.
    • Edit: This is done.
  • DNS record cert proving in SNARK. Prove the consecutive signatures for root signatures, CA signatures, etc, to be able to verify that some specific string in a name record was signed by a valid chain of authorities. Would likely use sig-verify circuits in circom.
    • Edit: Realized ENS's DNS oracle already has this, but only like 35 websites in the Alexa 100K use DNSSEC, so it is fairly irrelevant. We are too early: another idea is to offer an airdrop or some other incentive to everyone who does do this in the Alexa Top 100K.
  • Integrate Nova as a proving backend in circom, with Solidity verifiers
  • Create an OSS, easy frontend for the weth contract with just three buttons: connect to web3, wrap, and withdraw.
    • Edit: Just discovered https://wrapeth.com/, existed for 2+ years, and is open source. This bounty is no longer offered!
  • Add a nice frontend to https://github.com/nulven/zk-message-board, and build a proof-of-concept anonymous group posting app powered by zero-knowledge proofs.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].