Projects
// 4 entries
Lola: a file search engine
stableA local file search engine built around an inverted index. Tokenizes and indexes file titles — or full content, optionally — 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 curating 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 from the start.