I am an academic researcher and software developer working in machine learning, natural language processing, computational social science, social physics, and scientific software.
My open source work includes Julia packages, language-model research, local-first desktop applications, and reproducible code accompanying academic publications.
A proof-of-concept language model implemented in pure Julia. KeemenaLM.jl provides tools for preparing corpora, training tokenizers, training GPT-style decoder models, saving checkpoints, exporting model bundles, evaluating behavior, and generating text.
The project demonstrates that a substantial language-model pipeline can be implemented directly within the Julia ecosystem. It is a research platform and working proof of concept rather than a production chatbot.
Status: Research proof of concept | Install from GitHub
using Pkg
Pkg.add(url = "https://github.com/mantzaris/KeemenaLM.jl")The status labels distinguish publication in the peer-reviewed Journal of Open Source Software from registration in the Julia General package registry.
A zero-configuration embedded vector database with SQLite, write-ahead logging, transactional storage, and vector-search support.
Status: Published in JOSS | Julia General
using Pkg
Pkg.add("WunDeeDB")A memory-efficient Julia implementation of Low Memory Disk Approximate Nearest Neighbor search using memory-mapped vector and graph storage.
Status: Published in JOSS | Julia General
using Pkg
Pkg.add("LMDiskANN")Unicode-aware text cleaning, normalization, tokenization, vectorization, offset tracking, and controlled-memory corpus preprocessing for Julia NLP workflows.
Status: Published in JOSS | Julia General
using Pkg
Pkg.add("KeemenaPreprocessing")A Julia-native subword tokenization library supporting BPE, byte-level BPE, WordPiece, Unigram, SentencePiece, tiktoken, and Hugging Face tokenizer formats.
Status: Julia General
using Pkg
Pkg.add("KeemenaSubwords")Generates controlled synthetic text datasets using grammars, state machines, structured triples, and parameterized templates for NLP benchmarking.
Status: Published in JOSS | Install from GitHub
using Pkg
Pkg.add(url = "https://github.com/mantzaris/BenchmarkDataNLP.jl")Local-first Electron applications for organizing, tagging, and searching personal media collections.
An offline-first desktop application for semantic search and machine-learning-assisted organization of photos, videos, audio, GIFs, and PDFs.
The original Tag Your Planet application, with tools for exploring relationships among media, keywords, memes, and emotions using semantic search and bipartite graphs.
Research code and reproducibility materials related to voting behavior, segregation, entropy, social hierarchy, and population collapse.
Analysis of historical Eurovision Song Contest voting data, including voting biases and reciprocal voting relationships between countries.
Associated publication: Examining Collusion and Voting Biases Between Countries During the Eurovision Song Contest Since 1957
Featured by The Economist:
- Which countries have the most biased Eurovision voters?
- The continent's annual singing tournament is becoming increasingly partisan
Analysis of both positive and negative Eurovision voting biases, including preference, neglect, reciprocity, and their relationships with competition outcomes.
Associated publication: Preference and neglect amongst countries in the Eurovision Song Contest
A modification of the Schelling segregation model that introduces monetary exchanges and an associated entropy-producing process.
Associated publication: Incorporating a monetary variable into the Schelling model addresses the issue of a decreasing entropy trace
A computational exploration of population collapse in the Universe 25 Rat Utopia experiment through social hierarchy, crowding, visibility, and organizational entropy.
A sonar-themed, dark-mode-friendly LaTeX template for nighttime writing and editing.
A University of Central Florida styled Beamer theme for lectures, conference presentations, and research talks.
- KeemenaPreprocessing.jl: Unicode-Robust Cleaning, Multi-Level Tokenisation and Streaming Offset Bundling for Julia NLP
- WunDeeDB.jl: An Easy to Use, Zero Config, WAL, SQLite Backend Vector Database
- LMDiskANN.jl: An Implementation of the Low Memory Disk Approximate Nearest Neighbors Search Algorithm
- BenchmarkDataNLP.jl: Synthetic Data Generation for NLP Benchmarking
View my complete JOSS author page.
Contributions, issue reports, documentation improvements, and reproducibility checks are welcome.
- Open issues for bugs or concrete feature proposals.
- Submit focused pull requests with tests and documentation.
- Cite the associated software paper when using a JOSS-published package.


