June 22, 2025
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, such as flags and national anthems.
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.