personal-website

source for my personal website regexghost.com
git clone https://git.regexghost.com/personal-website.git
Log | Files | Refs | README

projects.md (8205B)


      1 +++
      2 title = "Project Ideas"
      3 +++
      4 
      5 My list of project ideas. If you are reading this and think one of these projects would genuinely be useful, or you have a similar problem, feel free to let me know!
      6 
      7 ## Coding
      8 
      9 I have a *lot* of coding project ideas. No guarantees that any given project here will actually happen
     10 
     11 ### Simple eBook Reader
     12 
     13 Simple terminal program that just reads EPUB files and has nice output. Would need an html parser and possibly use ueberzug for images
     14 
     15 - Possible Language: Go
     16 
     17 ### Simple Viewer
     18 
     19 X11 program for viewing basic text and images. Basicalyl somewhere between a web-browser, pdf viewer and terminal pager. Would support images, and could read from standard input like a pager. Advantage over a terminal would be easier image support and non-monospace font options. Advantage over pdf viewer would be speed and flexibility.
     20 
     21 - Possible Language: Go, Zig, C
     22 
     23 ### Suckless Spell-Check
     24 
     25 Both of the major spell check libraries (hunspell and aspell) are rather large projects. I'm sure they are well written, and they serve a purpose, but a more minimalist alternative should be possible.  
     26 This project would just have basic functionality; reading in a file, outputting incorrectly spelt words along with suggestions. Perhaps also a TUI interface allowing the user to choose between options, or add the existing word to the dictionary.
     27 
     28 - Possible Language: Zig, Go
     29 
     30 ### Ultra-Minimal dmenu Alternative
     31 
     32 dmenu is suckless software and is faily lightweight (~1300 SLOC) compared to say Rofi (~25000 SLOC). I'd like to have go making an even more lightweight version, with only the most basic features.
     33 
     34 - Possible Language: Zig (good C support to use XLib headers)
     35 
     36 ### Basic Photo-Site Creator
     37 
     38 A simple program that takes a bunch of photos, descriptions and other metadata, and outputs a HTML grid of said images. No JS, customisation left to CSS.
     39 
     40 - Possible Language: Go
     41 
     42 ### Pro Cycling Stats CLI
     43 
     44 CLI/TUI tool for displaying live race data from procyclingstats, built in such a way to minimise traffic to their servers
     45 
     46 - Possible Language: Go, Zig
     47 
     48 ### UK Weather Terminal Interface
     49 
     50 A TUI interface that pulls data from the Met Office and BBC Weather, to allow comparing the forecasts
     51 
     52 - Possible Language: Go, Python
     53 
     54 ### Weather Station Symbol Generator
     55 
     56 Been fascinated with [these symbols][ws] ever since Nat 5 Geography, would be good to programatically generate them. Could be used as a weather widget on your computer, or even for educational purposes.
     57 
     58 [ws]: https://www.bbc.co.uk/bitesize/guides/zbp82hv/revision/4 "BBC Bitesie - Weather Circles"
     59 
     60 ### GoTube
     61 
     62 I previosuly had a project named GoTube, a TUI YouTube client with thumbnail support via ueberzug, and account integration via the innertube browser API. My plan is to split this project up into a backend, and a frontend video viewer, as the frontend video viewer could be used for more than just YouTube, and the backend tools could be useful by themselves. Maintaining this was a bit of a chore as YouTube are always changing their website JSON format. I'm egenerally anti-AI for programming but this could be a genuine usecase, more experementation is needed.
     63 
     64 ### Markdown to Groff Converter
     65 
     66 A few of these exist on the internet but I can't find any that handle images. Admittedly images with Groff seems like a pain so that might be why... Born out of a desire to build documents in plaintext without installing all of LaTeX
     67 
     68 ### DekuDeals API
     69 
     70 Another project I previously made but never finished. I do want to bring this back at some point, I lost my motivation to work on it becuase I stopped religiously buying Switch games, but it's still a neat idea.
     71 
     72 ### Minimalist Game Library Manager
     73 
     74 I use Playnite on my desktop gaming PC to organise all my games, which works well but a more lightweight alternative, that works on Linux, would be nice. There is Lutris, but I don't need any of the feaetures it has. Doesn't even need to be a game *launcher*, just a way to visually organise the games I want to play.
     75 
     76 - Possible Language: Go, Zig, C#
     77 
     78 ### Games
     79 
     80 Grouping all of my video game ideas into one section
     81 
     82 #### Idle Fish Game
     83 
     84 I used to play [Abyssrium][aby] on my phone but it's a bit too much of a "mobile game". It would be neat to make a game like this without ads or microtransactions etc. Not sure if it would be for mobile or desktop.
     85 
     86 [aby]: https://www.abyssrium.com/ "Abyssrium Homepage"
     87 
     88 #### Top-Down Planet Crafter Clone
     89 
     90 Game in the style of [Planet Crafter][pc] but top-down or isometric. Possibly good as a first game project
     91 
     92 [pc]: https://store.steampowered.com/app/1284190/The_Planet_Crafter/ "Planet Crafter Steam"
     93 
     94 #### Incremental/Multiplayer/Browser Game
     95 
     96 A combination between old school MUDs, modern incremental browser games, and resource management games
     97 
     98 ### Mini Projects/Other
     99 
    100 Projects that can be done in an afternoon:
    101 
    102 * An `ls` clone in Zig - mainly as a learning exercise
    103 * Simple cli file management tools (batch renaming, numbering etc)
    104 * A fun terminal program that simulates a junction with traffic lights
    105 * [asciiquarium][asq] rewrite in C or Zig
    106 * cli tool for word pronounciation
    107 * Simple RSS feed generator. Takes markdown files and outputs RSS feed
    108 
    109 [asq]: https://github.com/cmatsuoka/asciiquarium "asciiquarium - GitHub"
    110 
    111 Vague ideas:
    112 
    113 * Something with the [Nuklear][nuk] minimal C UI library
    114 
    115 [nuk]: https://github.com/Immediate-Mode-UI/Nuklear "Nuklear GitHub"
    116 
    117 ## Linux
    118 
    119 ### Low Powered Computers
    120 
    121 The [Pi 3B+ desktop setup][pi] is the first in a series I hope to make of usable Linux setups on underpowered/old hardware. Other ideas I have are:
    122 * Old mini PC
    123 * Portable Pi cyberdeck
    124 * Old Thinkpad
    125 * Old laptop converted to desktop or all in one (similar to [this DIY Perks video][diy])
    126 
    127 [pi]: /linux/pi3-b-setup-pt1 "Part 1 of my Pi 3B+ setup series"
    128 [diy]: https://www.youtube.com/watch?v=8jeLCQ62vFk "DIY Perks all in one"
    129 
    130 ### Minimalist Software
    131 
    132 Minimalist software comprises a lot of my workflow already, but there are areas I would like to improve on. Inspired somewhat by [this guide][alt]
    133 
    134 [alt]: https://github.com/mayfrost/guides/blob/master/ALTERNATIVES.md "Alternatives to bloatware"
    135 
    136 ## Hardware
    137 
    138 ### Thinkpad Keyboard -> USB Keyboard
    139 
    140 I really want [one of these][tpk] but I can't find any in a UK layout, and they are all quite expensive. It should be possible to make one using a Thinkpad keyboard extracted from an old laptop, and a Pi Pico or Arduino in HID mode.
    141 
    142 [tpk]: https://support.lenovo.com/gb/en/solutions/pd026745-thinkpad-compact-usb-keyboard-with-trackpoint-overview-and-service-parts "Thinkpad USB keyboard"
    143 
    144 ### Mod an XBox 360
    145 
    146 The XBox 360 was my mid-childhood console. Don't currently own one but I would like to, and modding it doesn't seem *too* hard.
    147 
    148 ### GaMeR CoNsOlE
    149 
    150 Taking a Ryzen mini PC or laptop, extracing the motherboard and mounting in an old game console shell (OG XBox, PS2 etc). Batocera or similar would be used to emulate any console up to the 6th gen
    151 
    152 ### DIY Bike Computer
    153 
    154 Using either an old Android phone, or a round display [like this][rd]. Recording ride data for Strava, and displaying basic maps using OpenStreetMap data.
    155 
    156 [rd]: https://thepihut.com/products/seeed-studio-round-display-for-xiao-1-28-round-touch-screen "Example round display"
    157 
    158 ### Arcade Stick
    159 
    160 DIY arcade stick/controller (with buttons), made using Pi Pico. Would be usable on Switch, PC etc
    161 
    162 ## Other
    163 
    164 ### Website
    165 
    166 * Gopher or Gemini plaintext site
    167 * Webrings stuff
    168 * Style my [git website][mygit]
    169 	- Also get `git clone` working properly
    170 * Photo sub-website
    171 	- Need to build the photo site generator first
    172 * Wiki sub-website
    173 	- Just a wiki for random computer knowledge I have gathered
    174 * Single info page/linktree page
    175 
    176 [mygit]: https://git.regexghost.com "git.regexghost.com"
    177 
    178 ## Defunct Ideas
    179 
    180 * Performant Obsidian clone - a program like Obsidian but built in a native UI library like XLib, prioritising performance
    181 	- Defunct as I use terminal text editors now and don't see myself going back to GUI ones
    182 * DIY arcade cabinet - a proper full/nearly-full size arcade cabinet
    183 	- I don't have the room for this at the moment unfortunately
    184 * Digital pinball machine
    185 	- Same as above, not enough room