This page is for brainstorming ideas for programming projects to work on with other people in the group. Feel free to edit this page and/or choose a project from the list to work on.
- 1 Adding Projects
- 2 Ad Injection Detector
- 3 Systemwide Ad Blocker
- 4 Spycam Detection System
- 5 Facebook "Fake News" Warning System
- 6 Hacked Website Fixer
- 7 Programming Puzzle Grader
- 8 Text Adventure Game Engines
- 9 Piet Transpiler
- 10 Pomodoro Style Timer for Groups
- 11 Custom HTML5 Calculator
- 12 Conlang Tools
- 13 Space Photos
- 14 Board Game System Generator
- 15 Function Machine Game for Kids
- 16 Web-based Genealogy Software
- 17 Interactive Design for Garbage Trucks
- 18 Buzzword Text Generator
- 19 Artificial Synesthesia for Music
- 20 Google Sheets Powered Structured Mapping
- 21 Video Library
- 22 Morse Code Trainers, Translators, Senders
- 23 Next Project
Feel free to use this page for brainstorming. See also the Group Projects category page for more.
Ad Injection Detector
A few companies like AT&T and Marriott are starting to inject ads into other webpages. Besides being obnoxious, this is dangerous for multiple reasons and also violates the copyright of websites by creating and profiting from derivative works of copyrighted content.
The idea here would be to create a script that websites could add to their pages that would detect whether unwanted code is being injected into the pages. We could talk about how to do that at one of the meetings.
- Detect whether an ISP is injecting ads into a webpage.
- Notify the webmaster.
- Allow the webmasters to track and save detailed information about each copyright violation.
Add your name here if this project interests you:
Systemwide Ad Blocker
A tool that uses public lists to block ads and trackers at the system level rather than just in browsers.
It could also scan cookies for unwanted trackers.
One example of something like this: AdAway does blocking on Android by editing the hosts file. The code is available and could be modified or adapted to other platforms. AdAway on F-Droid
Spycam Detection System
An application that can detect hidden cameras with a button click. There have been cases of guests being filmed secretly by accommodation providers (airbnb, apartments, hotels, hostels). I think that the application would be popular with travelers.
Facebook "Fake News" Warning System
Build a Facebook app that warns the user with a link to Snopes.com before they are allowed to post links. Certain untrustworthy websites would be completely blocked by the app and could only be overridden with a special code sent by SMS to their phones. (Use the Twilio API: "ARE YOU REALLY SURE THAT YOU WANT TO LINK TO THAT WEBSITE?")
Hacked Website Fixer
A tool to help with cleaning up hacked sites. The first stage would be for WordPress cleaning. Second stage would be for Drupal. Third stage could be for other kinds of sites. Starter repo is here.
Programming Puzzle Grader
A tool that runs tests against a set of programming puzzles. The tool could be created so that any user could add a programming puzzle in a simple format.
Text Adventure Game Engines
Build a text adventure game engine from scratch that can read in different text adventure scripts.
- Generate adventures by reading in text files written in a custom format.
- Display graphical maps in the console, but only show rooms/locations that have been visited.
Build something like Sanctuary RPG (gameplay) or the old Ultima games -- like Ultima IV or early Bard's Tales. Different worlds could be plugged into the engine, from dungeon crawlers to Gamma World-type environments.
One idea is to create a simple language that would transpile to a Piet image, for example:
print 'Saluton, Mondo!'
Pomodoro Style Timer for Groups
It might be interesting to try to build this with Elixir.
Custom HTML5 Calculator
Build a calculator app in HTML5.
- It should be responsive.
- It should work offline (front-end only, though you can add backend functionality later, if you want).
- Ideally, it could be exported to a mobile phone app with a tool like AppGyver or Cordova.
- Bonus points: scientific calculator with graphing and other features. (example)
Build a tool that helps people learn a conlang like Esperanto, Lojban, or Ithkuil. It could include a dictionary, translator, or other functionality. Lojban is interesting, because it is designed to be machine readable. Esperanto's grammar is perfectly regular and should be relatively easy to translate by computer.
This would be an interesting project, because Esperanto is perfectly regular and is built from root words with prefixes and suffixes. This should make it easy to parse.
Example root words:
- hund- = dog
- kat- = cat
- manĝ- = food (similar to "munch" in English)
- rapid- = speed
- -o = noun
- -a = adjective
- -e = adverb
- -j = plural
- -ej- = place
- -ebl- = possible
- hundo = dog
- hunda = canine
- kato = cat
- katoj = cats
- kata = feline
- manĝo = food
- manĝejo = dining room (a place of eating)
- manĝebla = edible
- rapida = fast
- rapide = quickly
Words can also be combined in unusual combinations with prefixes and suffixes, so the challenge would be to correctly extract the prefixes and combined words and then construct the meanings. Example:
- iom = some quantity
- -et- = diminutive
- -e = adverb
Combine: iomete means a little bit (adverb) as in "I speak a little Esperanto" -- Mi parolas Esperanton iomete.
The challenge: since root words, prefixes, and suffixes can be combined, you may end up with long words like komencopaleontologiokonservatoriaĉestriĝontajn, which have to be sliced into their individual components.
Build something interesting with these 8,000+ public domain photos from the Apollo missions.
Board Game System Generator
A software tool that creates printable game boards. It also generates cards, and guides you through several types of rule creation systems.
I got the idea while playing Candy Land, which is a random-outcome boardgame that doesn't promote ideal eating habits. Why not have kids do math problems or answer trivia questions as they play games instead? It would be easy to print out boards and cards, and to make custom rules with guidance.
It looks like there are some, but generators for game boards, but maybe nothing exactly like this yet. It might be fun to build it.
Function Machine Game for Kids
A simple game that teaches kids how function machines work.
A simple function machine game something like these:
Add a way to take non-number inputs. Examples: a pseudocode function called
grow that transforms a kid who is 4'2" into a kid that is 4'3", or a function called
change-season that takes the current season (e.g., "autumn") and returns the next season (winter).
Build on that to show how to write functions in a programming language that run on a computer.
Web-based Genealogy Software
There is desktop software for genealogy like Gramps, but it would be more useful if multiple people from a family could login to a central database and collaborate on data entry.
Maybe we could create a web-based version that was compatible with the Gramps database, or even a server that would serve a Gramps database over the Web.
Edit: there may already be something like this in development: https://gramps-project.org/wiki/index.php?title=GEPS_013:_Gramps_Webapp
Interactive Design for Garbage Trucks
Little kids love garbage trucks. They like to run outside and watch the trucks.
What if there were open-source plans available to help turn garbage trucks into works of art via microcontrollers and flashing lights? The trucks could be painted with interesting colors/designs and lit up with LEDs.
Maybe the lights could be triggered by a POST request to an open API via an app. That way the kids could push a button to interact with the trucks.
The plans could be posted online and sent to truck companies and makerspaces.
Feel free to brainstorm more ideas about it by editing this section.
Buzzword Text Generator
Take lists of buzzwords and create a script that auto-generates resumes and business text that uses the buzzwords. Maybe something like a corporate resume generator or LinkedIn profile generator.
Artificial Synesthesia for Music
Based on these kinds of ideas, create an application that displayed Scriabin's music on the screen in the way he intended. Alternatively, it could print sheet music with the notes colored according to Scriabin's color scheme. See also the studies mentioned here.
Google Sheets Powered Structured Mapping
As an exercise or starting point, I have a Minecraft server where I play. On it, we have 3D coordinates in different interlinked virtual worlds for mechanisms we use to get around and provide quick transport. Within the game, we use signage and environmental design to try to make the navigation simple, but to be honest, an outside-game map would also be quite helpful.
The nascent map data gathering spreadsheet lives here (commenting is enabled, FYI): Sheets Link
The server is called "Killer", and the two worlds I'm mapping are called "Nether" and "Overworld". In the game, x and z coordinates are horizontal, and y is vertical. The way the two worlds map to each other are that in the Nether, 1 unit of x or z equals 8 units of x or z in the Overworld.
In the spreadsheet, I've recorded places and their Nether Gates (places where the Overworld and Nether correspond, roughly) in 3D coordinates.
Another integration point that would be useful if possible is that the server's Overworld has an online map (similar to Google Maps, but in isometric view) here: Map Link
For me, the outcome here is to learn the right ways of accessing, integrating, and collating information from Google Drive/Google Docs, and also of using Google Maps and Google Maps APIs, and some structured drawing API to dynamically create a map layer against either a static or dynamic map.
There's no strong pressure to get this done - it just seems like an interesting coding and integration project.
I need some help picking out the best coding method for me to use. I dont know how to code but am learning and I'm a quick learner. There will be different parts to the app. One part is I need to be able to send scripted question to individuals where they do a selfie to answer the questions like what is your profession, were you a good student in grade school etc, I need to build a library of profession so the professional can answer the questions and it can be retrieved by the users at will.
I need to be able to build on this because it has many parts to be added later.
Morse Code Trainers, Translators, Senders
Write a program that does any or all of the following:
- Train people how to learn Morse code. (See Koch's Method and Farnsworth Timing)
- Translate characters to Morse code and back.
- Send and receive Morse code via the Internet.
[Add your project ideas/brainstorms here.]