Projects
16 projects across computer vision, applied ML, full-stack products, developer tooling and research.
Page 2 of 2
DbUtility (Database Backup Manager)
TypeScript utility for managing database backups, built as a HatchDev assignment with Azure Blob Storage as the backup target.
Status: Completed (2025)
Role: Developer Tool (CLI Utility)
Key Features:
- Azure Identity and Blob Storage SDK integration for pushing and retrieving backup artifacts.
- TypeScript build to dist/main with a nodemon dev loop and .env-driven configuration.
Auto-Scheduler
Python scheduling engine that fits tasks with deadlines and duration estimates into the free slots between fixed events, honouring buffers and working hours, then renders the timetable as standalone HTML.
Status: Proof of Concept
Role: Developer Tool (Scheduling Engine)
Key Features:
- Greedy allocation of deadline-sorted tasks into free slots between fixed events.
- Buffers reserved around events and tasks so adjacent time cannot be booked.
- Working hours converted into free time by inverting time ranges.
cli-qa (Terminal Q&A)
Python CLI that answers a question from the terminal using Gemini 2.0 Flash-Lite, built for an ML Lagos GenAI study group assignment requiring rate-limit handling.
Status: Completed (2025)
Role: Developer Tool (CLI)
Key Features:
- Click command installed as the qa console script entry point.
- Error handling distinguishing 429, 401, 404 and 5xx responses, retrying rate limits and server errors with exponential backoff.
- API key read from .env or the environment, with an explicit error when missing.
Ollama Scripts (Local LLM Tooling)
Suite of scripts for working with local models through Ollama: a streaming chat CLI with tool calling, a journal agent that reads and writes the Obsidian vault, and an OpenAI-compatible proxy in front of a local agent runtime.
Status: In Progress (2026)
Role: Personal Project (Developer Tooling)
Key Features:
- Shared chat harness that derives tool schemas from plain Python function signatures and runs the stream → execute tool calls → repeat loop, reused by every script that needs a…
- Streaming CLI that loads callable functions from an adjacent tools.py, exposes them to the model through Ollama's native tool calling, and survives Ctrl+C mid-response without…
- Journal agent with tool access to recent entries, the task list and a personal system file: it can ask follow-up questions, append notes to a specific day's entry, and save its…