- build your own X
- https://build-your-own.org/
- More challenging projects
- challenging projects every programmer should try
- https://www.webfx.com/blog/web-design/10-puzzle-websites-to-sharpen-your-programming-skills/
- https://www.dreamincode.net/forums/topic/78802-martyr2s-mega-project-ideas-list/
- http://rosettacode.org/wiki/Category:Programming_Tasks
- "Programming by Doing" simple projects for students
- From the transistor to the web browser course outline
- Tiny PowerShell projects
- Programming Projects for Advanced Beginners
- Pig dice
- bf interpreter
- rot13
- tic tac toe
- is_prime
- sieve
- sorting
- mad libs
- hangman
- base converter
- bencode parser
- todo list
- rock, paper, scissors
- truchet tiles
- is it tuesday? https://shanetully.com/2024/07/hey-google-what-happened-to-all-the-fun/ good app idea for students
- blackout text poetry app
- aquarium simulation
- Weather API: https://open-meteo.com/en/docs
- SF microclimates weather API front end
curl https://microclimates.solofounders.com/sf-weather/outer_sunset
- SF microclimates weather API front end
- self-updating AI decision tree
- L-systems
- recipe CRUD app
- URL shortener CRUD app
- Graphviz rendering CRUD app
- mondrian art generator
- rainbow gradient like this profile pic
- rainbow worm animation
- cookie clicker
- typing game
- github pages markdown text adventure
- Put the DVD logo in the corner
- calculator (maybe add different bases, scientific modes, etc for extra challenge)
- turtle graphics engine, maybe using a subset of UCBLogo as a basline (maybe wasm or JS canvas powered? 3d?)
- slide puzzle (15 puzzle)
- sprite trail or mouse cursor trail
- markdown-driven presentation/slides/blog/notes
- app that uses webcam along with video feedback and effects to generate emergent patterns
- generate a printable flip book from a gif or canvas animation
- generate a printable cut-out or coloring book-style image from a canvas image -- generative coloring book
- leetcode userscript to hide output and make you have to think harder
- drum machine / audio installation with physics
- drum machine timing in JS: https://stackoverflow.com/a/68249713/6243352
- make a meme text generator app (maybe use gm library from npm or just canvas)
- keyboard shortcuts/dark mode userscript for gmail HTML-only mode
- simple chrome extension
- publish an app on surge.sh
- chomp
- mastermind solver
- userscript for injecting codemirror into tryitonline
- userscript for lichess or chess.com to allow voice input for moves
- "extreme" input field that shakes the screen and generates chunks of debris
- breathing app
- pomodoro timer
- heroku plain text field, like softer on glitch but without a password. or maybe add something to clipr that doesn't require command line.
- battleship https://codereview.stackexchange.com/questions/264365/simple-battleship-game-in-groovy
- browser fridge magnets (possibly with multiplayer version)
- simon/memory cards game
- card games:
- blackjack
- war card game simulator
- set card game
- solitaire (harder)
- minesweeper
- scrabble
- hexapawn/octopawn
- flappy bird
- reaction/rhythm game
- anagram generator
- wordle/nerdle
- pong (and variants like zero player pong, ai-based, 4 paddle pong, etc)
- news headline ticker
- breakout
- snake:
- snake on hex grid
- snake at constant speed navigating maze with tight corners
- quiz, for example
- Dog Bunny Puzzle solver
- discord bot that plays turn-based games like tic tac toe
- scrape SF city data and make a site like https://walzr.com/sf-graffiti
- https://en.wikipedia.org/wiki/Nonogram
- klotski
- dots and boxes
- https://en.wikipedia.org/wiki/Game_of_the_Amazons
- reversi
- tuner app and tuning database
- navigable HTML tree that generates BeautifulSoup code
- Terminal-based Project Gutenburg client
- tower defense game
- r/place clone
- frogger
- subway surfers/endless runner type games
- power washer game
- Qix/Xonix/Jezzball
- night driving simulation
- chess puzzle
- take photos, then create a point-and-click adventure game using html and the images
- puppeteer proxy for try it online. this lets you make http requests to run code from anywhere.
- chess puzzle generator that works using PGNs from, say, https://www.chessgames.com/perl/chesscollection?cid=1014492 and finding the critical moves/tactics
- web server in C
- tetris AI
- repl for C or C++
- matter.js:
- putt-putt golf or desert golf
- raycaster
- matterjs experiment like https://jsfiddle.net/mityok/c9qt2g28/10/
- water bottle flip game
- use rough.js for a hand-drawn look
- car driving game with lots of pollution, or parking simulator where it's almost impossible to find a spot.
- script that calls a pure data patch, generates artwork and posts to bandcamp via puppeteer or another file sharing service
- or for starters, just a puppeteer script that uploads albums to bandcamp
- puppeteer script to make purchase of bandcamp items automatically
- idea from -- write scripts that generate pure data text programs that are really difficult to hand-build and/or have some element of randomization. Could also play/build/manipulate a patch with random clicking, etc.
- react native mp3 player with mono mode using mpg123 or something; or matter.js game, white noise generator apk for starters
- check and see if there's a good vegan ingredients/product checker/validator and write one if there isn't
- write another scrobbler that aggregates per day rather than per song and follows bandcamp listens
- opencv or other library that solves newspaper "find the difference" comics
- Static HTML stuff:
- hand-coded adventure game
- generate static html games other than tic tac toe (which I've already done)
- generate other HTML adventure games or interactive fiction statically (make an engine)
- app to generate static blogs with simpler script than jekyll (check favorites for others)
- write a time clock web app and keep exact totals for freelance work (ex)
- stack overflow comments sentiment analyzer
- verlet integration
- auto-queue recent bandcamp releases into command line player via scraping
- could be a master "to listen" list on glitch which the command line script can automatically pull from. option to search and autoplay something from discogs, youtube or bandcamp
- bandcamp command line listening streamer based on urls
- do generative eno ambient series covers with pointillist effect in js canvas
- app that scrapes recent posts by favorite SO users [or use SO api]
- dithering:
- mp3 organizer utility. Could look into using beets.io and https://www.discogs.com/developers/
- blockly: regex, c, bf, mips, puppeteer, html (done already: 1, 2), haskell, lisp, etc
- write your own react
- Listening journal or similar using blogger API
- make a music player app based on mpg123
- https://stackoverflow.com/questions/35781991/run-a-command-that-needs-input-without-hanging-but-still-allow-input
- https://sourceforge.net/p/mpg123/mailman/mpg123-users/thread/CAN5OgQWuYFt4mbbjDZcxMMdTQLZoNiF8AgH5S8Z8rwraN%2B65uA%40mail.gmail.com/
- https://arstechnica.com/civis/viewtopic.php?f=20&t=850451
- write a winamp plugin that broadcasts now playing to node API on glitch
- Voice/video chat or stream with PeerJS / WebRTC
- create a hex editor
- Chip's Challenge clone
- card game engine
- mahjong tiles
- memory allocator
- anki card engine
- make your own sqlite in c
- Stack Overflow clone
- snes/nes emulator
- chip8 emulator
- raven's progressive matrices generator or solver
- roguelike game
- falling sand game
- ML classifier for SO post quality
- HTML validator
- Regex explainer/visualizer
- pseudocode runner/transpiler to Python for DP problems in 6515 GA using lark or a JS parser
- compilers/transpilers/interpreters
- Tiger to JS transpiler
- make an IR->spim runner in node/mips compiler
- MIPS to C translator
- MIPS decompiler
- JS ARM simulator
- write a stack machine
- write a sandboxed compiler+code runner
- tape loops as a service: run a server on the pi that lets a client stream audio to a tape loop (or DOD death metal/anything else)
- write some RTS demo sketches
- Make a simple DIY label CMS or bandcamp clone
- me vs world correspondence chess app for my homepage
- lichess bot
- write a non-acct twitter (or SO) client that can fav and show imgs like birdfeed without having an account.
- CSS stylesheets and extensions to make sites less addictive, like hiding twitter likes and followers
- Google Docs but all vim/markdown. Could add multiplayer multicolor text editor/highlighter.
- Simple HTML parser like htm or https://limpet.net/mbrubeck/2014/08/11/toy-layout-engine-2.html
- miniature spreadsheet engine with functions