This user has been banned.
June 22, 2025
work on responsive ness!!! also the playback controls broke for the second video, do fix that
Created a nice HTML page to conveniently list the valid country codes for users. The page is rendered server-side using EJS so no JavaScript is needed. I also made improvements to the documentation to add references to the new country option.
Added a small new feature to the API that allows you to specify a country (by its ISO code) and have the map automatically centre and fit to that country.
Added yet another gamemode, this time you will have to guess the country by its name in its own language. I made sure to exclude any English speaking countries or names that were too close to English so that it's still a challenge.
I discovered that a lot of countries actually have official national mottos, so I added that as a new game to the site! It took me ages to add all the mottos into the code but I think it makes for another fun activity.
Added a new page which shows a list of every national anthem in the game and its audio file. I also provided information about the five anthems which aren't present in the game.
Mod presets can now be set seperately for each mod loader, and when setting up a Paper server you can get plugins (which is what Paper uses to modify the game) instead of mods.
Added support for the Neoforge and Forge modloaders. These were tricker to implement than Fabric and Paper because they don't offer direct downloads for the jar file on their website, you have to run an installer file instead. I used nodejs child processes to automate the installer and create the required files to run a server with one of these modloaders.
Started adding support for alternative server software to Fabric. Currently it's just Paper, but I want to add other ones like Neoforge as well.
idk how but its worked on the same device now :pf: and add some navigation buttons
It took me a while to polish the README and work out how to actually build the app, but now I have a release on GitHub with downloads for both Linux and Windows.
This was another bug fixing session mostly, where I fixed issues such as the scroll bar being reset when a new caption was added and the timeline disappearing when no captions were added yet. I also added a delete button so you can remove captions when needed.
The player now shows the current time of the video. On the left it shows a nice formatted timestamp with the minutes separated from the seconds, and on the right it shows the current second with three decimal places for extra precision when writing captions. I used a font with tabular numbers (all numbers are the same width) to keep it looking nice and stop the text moving around while the video is playing.
You can now seek through the video by clicking on the timeline (instead of just using the forwards and backwards 5 seconds buttons).
Spent some time ironing out major bugs with the program - most notable seeking forwards and backwards didn't work with local videos. The result is a much more polished program which is close to being completely working.
There is now an additional button to open a video file, which loads a video from the user's files. Now you can caption any video and not just Big Buck Bunny.
The open button will now load the captions from a file and replacing the existing captions. This means that the user can now both save and load files.
The save button will now actually save the captions you wrote in SRT format, a common format for subtitles that works in most programs.
Added a file open and save dialog which will be used for opening video and caption files and saving caption files.
Did some final bug fixing as well as adding a favicon and writing the Readme to have a functional minimum viable product.
The second game on the website, the flag guessing game, is now implemented! I also added a home page and did some final tweaks and bug fixing to the country selection algorithm, so that you can now get a repeat country but only after you have gotten at least 25 other countries. (Previously it was possible to eventually run out of countries, so this fixes that problem.)
Spent some time ironing out bugs as well as adding this nice footer to the bottom of the page.
The next button is now functional, and the game will not give you a country you have already gotten before. I also added a score counter at the top so you can see how many questions you get right. Finally, I added more fonts to the website so that text in non-Latin scripts looks nicer.
The answer text is now hidden by default, and clicking to make a guess will reveal it. There is also attribution text for the recording of the anthem, and a Next button which will be used to choose a new anthem to guess.
The buttons to choose a country are now also chosen with JavaScript - one button will be the correct answer while the other three will be random countries. The order of these buttons is randomised so that there will be no way to know which one is correct. I also added a check to make sure that each button will be unique, so there will be no duplicate buttons.
The site now selects a random country from a pre-defined list and updates the answer text as well as setting the correct source in the audio tag. A new country is chosen every time the page is refreshed, later this will be changed so you can move to the next country without needing to refresh.
Set up the basic webpage with buttons to guess a country and an audio tag for the national anthem quiz.
A web app which gives you quizzes where you have to guess the country from a national symbol or feature, such as flags, national anthems, mottos, and languages.
Fixed bugs where the current caption would not update while seeking through the video if it was paused, as well as stopping the user from setting impossible start and end times for captions.
You can now edit the captions by typing in the boxes on the right, and it will update in the video player. This means you can finally actually start writing multiple captions with custom text.
Added support for creating a new caption, which now also checks if it overlaps with an existing one. The new caption can be created by clicking on the plus icon in the top right corner of the editor.
(I came back to this project after a while and have realised that the previous devlogs were not very descriptive, so I will aim to post them more frequently now!)
Please create a release with more a more specific tutorial on how to run it, that's why there are releases. We can't accept a README which is made for documentary and not for Releases as demo, pls fix that and resubmit :D
The tool now loads the config file from different locations such as in the .config folder on Linux, and a default config is used if no config can be found. Additionally, it can download the vanilla server jar file if there is no Fabric version available. I also added a few other finishing touches and polishes including writing a README file to prepare to publish the project to NPM so that anyone can use it.
Added support for a config file that lets the user customise the mod presets as well as specifying Java paths for different versions. Additionally, the console logs now show the name of a mod instead of just the ID, so the user actually knows what's being installed.
The tool now writes the server.properties, eula.txt, and start.sh script (Mac/Linux) or start.cmd (Windows) files to disk.
Added a function to download the fabric loader (the server .jar file). It retrieves the latest version of the file from fabricmc.net using its API. I also created some useful helper functions such as fetchJson() and downloadFile() to avoid repeating large chunks of code, and the program now creates directories that don't yet exist but are required.
Added integration with the Modrinth API to support downloading mods. There is currently a pre-defined list of mods that will be downloaded for convenience, which are identified by their Modrinth IDs so that they should be permanently correct. The code downloads the latest release version of the mod for the specified version (or a beta or alpha version if there is no release version) and shows a failure message if the mod is unavailable for the chosen version.
I set up the nodejs project and added the basic questions using the prompts library. The list of possible game versions is retrieved from official Mojang servers so it won't go out of date.
A command line tool to help you easily set up a Minecraft server, useful if you need to quickly set up a server to run on your local PC without having to go into a web browser and manually download lots of files. The tool has the option to choose the specific Minecraft version you want as well as install mods.
I added actual input validation to the API so now you can't specify parameters that won't work, as well as limiting the size of images to 2000x2000px.
I made a website home page for the API to teach people how to use it. Also there is now a satellite theme, and some other minor bug fixes and adjustments.
Added many options for customising the map image - you can choose the coordinates to centre the map on, the zoom level, the colour theme, and add a marker. The API is also now documented in a README file.
Added a map page and updated the screenshot API endpoint to send a screenshot of the map. Currently the map is locked to longitude 0 latitude 0.
I set up the API server using Express and used Playwright to take a screenshot of a web page and serve it to the user. I will use this method to provide the static map once I add map functionality.
This API can provide a static image of a map of anywhere in the world, with convenient features like different map colour themes or adding pins to the map. I have wanted to be able to use a static map API for a while, but unfortunately most APIs currently available for this are paid or have very limited free tiers. I am hoping I can make my API available completely for free.
I added installation instructions so that people can try out the program.
I created the base code for the Caption Editor, including a video player, timeline, and a panel on the right which will be used for actually editing the captions. It also has an aesthetically pleasing style which I made with CSS.
Currently it can only display captions, but I will adapt it in the future to include the editing functionality. The app is made using Svelte and Electron.
This project is an app that lets you create closed captions/subtitles for videos. Having captions available for videos is really important for accessibility but unfortunately many of the tools currently out there for this are very old with ugly and confusing interfaces. I am using web technologies to try and make a more modern and easy to use alternative so that anyone can easily write captions.
This was widely regarded as a great move by everyone.