Projects
// 4 entries
Lola: a file search engine
stableA local file search engine built around an inverted index. Tokenizes and indexes file titles or, optionally, full content for .txt, .md, .csv, .pdf, and .docx files, then resolves queries with Boolean AND retrieval; intersecting postings lists across query terms. Ships as a CLI, an interactive REPL, and a FastAPI web UI.
Sudoku solver
stableA Sudoku solver using constraint propagation (AC-3 style arc consistency) to prune candidate values across rows, columns, and boxes before search, rather than relying on brute-force backtracking alone. Includes a fetcher that pulls live puzzles from a Sudoku site/API to solve.
Lexicon editor
stableA terminal UI for editing a Taita-language dictionary sourced from a parallel Taita/Swahili/English Bible corpus. Built around a SQLite-backed data model with four tables; entries, variations, examples, and a full edit_history audit trail. The editor handles orthographic normalization (correcting inconsistent transcription of non-Latin sounds), dialect-tagged variation forms, structured verse references, and status-workflow tracking (pending → reviewed → complete → flagged) per entry. Built with Textual.
Chess engine
in progressA chess engine being built from scratch in Python. The board is represented as a 64-element integer array with a signed piece encoding (positive white, negative black). The position struct tracks side-to-move, castling rights, en passant square, half/full move counters, and a move history with three-fold repetition detection implemented via position hashing.