What I had
About 8 years ago I began working on a tool while I was still at school to help me search through Latin vocabulary. I think this sort of got me going with NLP and linguistics more generally, because the idea of being able to systematically process language seemed so simple but in practice was a real challenge.
The sort of Latin which is taught at school level is simple. The syllabus frames the grammar as regimented and predictable with fixed suffixes and consistent meaning from fixed constructions. It is a table-first learning experience where students learn endings and memorise vocabulary.
So a tool for sorting through vocabulary would be great. I smashed together a very simple dynamic search bar with jQuery (yes, this was 2016), and it worked very well. I actually kept the concept very simple for a while because it proved so useful. I put it together again in Django, on the basis that this would let me expand the concept later down the line. When I had finished my GCSE and moved onto the A Level I added a couple new features including a vocabulary testing tool and a pronoun testing tool.
A spreadsheet is generally the best way
I figured though that the content changed so infrequently that it would be better off kept in a csv file. The next iteration brought all the same content back into static form, and I used Hugo for this. This was around the time I was getting into 'proper' ops and I set up a deployment pipeline from Gitlab to S3, which I still use! I wrapped the bucket in a CloudFront and the whole thing costs me less that £0.01 monthly to run… and it's massively fast.
The site at this point was referenced in a range of online 'useful sites' lists for Latin and it had actually got some real usage, with 2018 seeing around 1k visits within the exam period.
I actually had a couple surreal interactions with people who I had met through friends that had heard of the site or used it. Even in one case somebody I didn't know Whatsapped me through a friend to thank me for making it!
A big regret of mine was removing Google Analytics in 2020 and not replacing it with something like PostHog. I've now done this and will try to record usage properly.
A Christmas-time resurrection
I haven't touched the project in a really long time. I went to University to do Linguistics, which essentially stemmed from this project, and left it behind.
I was browsing through some old drives recently and found two projects relating to the Latin site: the static site and the Django version. One thing that I noticed about the Django version was that it contained literature! I had totally forgot that I had gone through at some point and implemented an annotation and translation feature for the poems and prose literature you needed for GCSE Latin.
I must have intended to implement this statically but forgot about it and moved on. This is why I'm now systematically going through my projects and using some project management software to keep things ticking.
So this Christmas I wrote some scripts to pull out the HTML statically from the Django site, and finally got this task done some 6 years in the making.
It was a bit tricky: forcing whole HTML down Hugo's throat is not actually as straightforward as it might seem. I hacked it a bit by adding blank frontmatter to each file.
Enjoy
Go use it and send it to anybody you know who loves/hates/must learn Latin.
It proved genuinely useful to me, and I did very well in my exams probably because I automated the hard work.