Final Project
Created Tuesday 20 October 2026
Project Rubric
For your project, your team will work towards a documented implementation (or proof-of-concept) of a user-facing related task or service: The catch is; it must be fundamentally PERMISSIONLESS. I.e. You can potentially run this thing with *no permission* from any other person or entity.
This often means the same as "self-hosted." Let's talk about what that means. Roughly, it may the kind of thing that's associated with "hosting" or "the cloud" — but unlike many of those, you do, or you can, have full access to the code running the project on a computer you own or control. Additionally, all modular components and parts must have permissionless, self-hosted options.
Examples:
A short list of examples might be:
- A file synchronization service (e.g. Syncthing or Nextcloud as a Dropbox replacement)
- A music server (e.g. Funkwhale or MPD as a Spotify replacement)
- A media server (e.g. Plex or Jellyfin as a Netflix replacement)
- A voice controlled assistant (e.g. Mycroft or json2voice as a Siri/Alexa replacement)
- Self Hosted AI ?( e.g. LLama or Stable Diffusion as a ChatGPT replacement)
You are by no means llmited to the choices here. Below is a large list of possible ideas.
https://github.com/awesome-selfhosted/awesome-selfhosted
https://www.reddit.com/r/selfhosted/
IMPORTANT: You will likely have a strong predilection to compare this in your head to "a large business" and perhaps thinking of it as a "product." This is not strictly forbidden, but you might have more interest and luck and a better time to *not* do this. You are not required to sell anything, you are not required to make something that makes money. You can just create something cool for your friends, or strangers, to use and/or play around with.
DELIVERABLE
What you will deliver to me is documentation and proof of effort. I anticipate that many of may find the inclusion of examples and screenshots of your work to be necessary as proof of work. Please provide your final documentation as a pdf, one per TEAM.
You should provide the following; please do NOT use generative AI for writing up this deliverable.
I. An Introduction.
The introduction should state the general area you began looking into. Describe what "thing" you'd like the technology to do generally. Talk about what it actually does, and brainstorm possible advantages and drawbacks of doing it in a "self-hosted" way. Be prepared to comment later on whether your predictions were correct.
Name the technologies you propose to actually use or attempt to use in the beginning, including the "machine" and the "software." I am expecting for you to also name and also describe in sufficient detail the nearest alternative or alternatives, which will most often be something we associate with "the cloud" – e.g. Spotify vs. a locall hosted music server.
While you need not hit all of these perfectly, the below is a good guide for questions that should be addressed.
Why is the thing generally useful or interesting?
What may be the advantages or disadvantages of self-hosting?
Explain what (possible) paid or cloud service this might replace, if applicable.
Provide other possible options and possibilities.
Who are ALL the users (e.g. will there be administrators vs regular users?)
Where will it be hosted, ideally and/or practically?
When will it be active, ideally and/or practically?
II. The process
Document your experiences of getting these things up and running; please definitely include mistakes and problems you encountered along the way as proof of work.
You should strive to
- get it up and running locally on a team member's machine
- as well as testing it externally from a different machine, using the Networking tools up above.
(A good example of something to comment on for external testing is how well it works on a phone as well as on a computer.)
- If you find that "cloud" or "external" hosting is signficantly easier or more convenient, then for implementation, do so. But you should then explain in detail how to get it off the cloud.
Note, extreme pivots are very welcome! If you started somewhere and ended up doing or working on something very different, that is fine! Again, effort is key.
III. Conclusions
Backlinks: FSU Courses:LIS3353