Hi. I’m vbookshelf, a Mechanical Engineer focused on building practical, user-first solutions. I work across machine learning, electronics and web development. This page highlights some of my projects. I hope you find something useful and inspiring.
Some web apps are live. Click an image to try them. Other apps can be downloaded from HuggingFace as complete packages that include the AI model and all dependencies.
Human + Ai Collaboration
Private Audio Transcriber MLX (PAT)
A lightweight, fully offline, multilingual audio dictation, transcription and translation console for Mac. A privacy-first solution for those who can't send audio data to the cloud. Powered by OpenAi Whisper and Cohere Tiny Aya Global.
Offline MedAi Console
A multimodal Ai collaborator for clinicians. A transparent, offline-first and privacy-first multimodal AI console where clinicians can talk, type, show images, adjust parameters and create AI tools. Powered by MedGemma.
Single-File Architecture
Create Flask web apps in minutes. Use a code example plus AI to quickly build flask apps that run locally. Python, HTML, CSS and JS code are all in one python file. Enables high velocity iteration because the AI sees the entire context at once.
Chat With Two LLM Agents Python Workflow
A simple python workflow that shows how one user can chat with two LLM agents at the same time. The agents also chat with each other. This approach is useful for gaining multiple expert perspectives on a subject.
Re-think Software Development and Deployment
Single-File Architecture
Create Flask web apps in minutes. Use a code example plus AI to quickly build flask apps that run locally. Python, HTML, CSS and JS code are all in one python file. Enables high velocity iteration because the AI sees the entire context at once.
Thumb-Drive App (TDA)
A portable folder-based AI app that doesn’t need system wide installation. All dependencies are bundled - including Ollama and the model. Share using AirDrop or a thumb-drive. All dependencies travel with the copy. Double-click to set up and launch.
Takkie Translate Offline (TDA + Single-File)
Privacy-first text translation for macOS. Powered by Google TranslateGemma 12b. Takkie isn't just a simple wrapper around an LLM. It's a thoughtfully engineered solution for local AI translation.
Ai-On-A-Stick
(TDA + Single-File)
An offline, portable Ai Console for macOS. Powered by Gemma3:12b. No installation needed. Double-click to run. Localhost locked. User submitted data is encrypted. The project zip file is SHA256 hashed.
Education Support Tools
Data Science Toolkit (HYA)
Data Science trainers often lose a lot of teaching time trying to fix "it doesn't work on my machine" issues. The Data Science Toolkit removes that frustration. It's a pre-built data science env for macOS that bundles the Python 3.10 interpreter, the uv binary and all packages. Every student gets the same JupyterLab venv that they launch with a double-click. No more dependency drama.
Offline Data Lab (TDA)
The Offline Data Lab is a frozen, locally hosted data science toolkit for macOS. A simple double-click launches a fully configured JupyterLab workspace in a uv virtual environment. Runs completely offline. Includes nine commonly used Python data science packages. Easy to copy and share using a USB Drive or via AirDrop. All dependencies travel with the copy.
Fabulous SASL
A web based video dictionary to help students practice South African Sign Language (SASL). Includes signs for more than 1,500 words.
Chat Image Marker
A minimalist desktop web based offline tool to quickly mark up images with bounding boxes and labels when chatting with a multimodal AI model. Created for students who use AI as a tutor.
Connect AI to the Outside World
Connect AI to the Physical World with Arduino
This example shows how to connect Python code running in a local Jupyter notebook to an Arduino. This setup gives a user the ability to tell an LLM to take actions in the real world e.g. switch on a light. The LLM executes the user's natural language instructions by making function calls (tool calls) to the Arduino.
Arduino Computer Vision Finger Counter
A project that shows how to get a machine learning python script to send data to an Arduino micro-controller. This example also demonstrates a simple and cheap way to add General-Purpose Input/Output (GPIO) pins to a laptop by connecting an Arduino via USB.
Language Learning & Translation
Takkie Translate Offline (TDA + Single-File)
Privacy-first text translation for macOS. Powered by Google TranslateGemma 12b. Takkie isn't just a simple wrapper around an LLM. It's a thoughtfully engineered solution for local AI translation. A blueprint for securely packaging AI for use in places where there's no internet.
E-Bot English Practice Chatbot
E-Bot is a AI English teacher that helps learners practice English through voice and text conversation - supporting them with corrections, translated responses and spoken responses.
T-Bot Thai Language Practice Chatbot
T-Bot is an AI powered tool to support Thai language learners. The user can practice Thai through voice and text conversation. The bot responds with both text and speech. Responses are translated into the user's first language.
JaiTalk AI Translator
JaiTalk is an AI powered online translator that listens and then translates between English and Thai. It also speaks the translation out loud. The settings in the code can be easily modified to support other languages.
Desktop Flask Apps
Mammogram Mass Analyzer
A desktop flask app that uses computer vision to detect and localize masses on full field digital mammograms.
Acc Score: 0.65
Access: Desktop
App type: Flask
Wheat Head Auto Counter
A desktop interactive flask app that uses computer vision to automatically detect and count wheat heads on wheat field images.
map@0.5: 0.93
Access: Desktop
App type: Flask
XarpAi Lung Opacity Detector
A light and simple Ai powered desktop app that auto detects opacities on chest x-rays. Built for high volume TB and Pneumonia diagnosis support.
Acc: 0.91
Access: Desktop
App type: Flask
Medical Diagnosis Tools
Skin Lesion Analyzer
Automatically analyze a picture of a skin lesion and classify it into one of 7 types, including melanoma.
F1 Score: 81%
Batch Processing: Yes
Model Size: 27MB
App type: Tensorflow.js
Breast Cancer Analyzer
Automatically detect metastatic cancer and invasive ductal carcinoma on histopathology image patches.
IDC F1 Score: 88%
Metastatic F1 Score: 94%
Batch Processing: Yes
Model Size: 26MB
App type: Tensorflow.js
Diabetic Retinopathy Analyzer
Automatically detect diabetic retinopathy on fundus (eye) images.
F1 Score: 96%
Batch Processing: Yes
Model Size: 27MB
App type: Tensorflow.js
Child Pneumonia Diagnoser
Detect Bacterial and Viral Pneumonia in children aged 1 to 5.
F1 Score: 75%
Batch Processing: Yes
Model Size: 33MB
App type: Tensorflow.js
Intracranial Hemorrhage Analyzer
Automatically detect and isolate intracranial hemorrhages (bleeding) on brain CT images.
F1 Score: None
Batch Processing: No
Model Size: 50MB
App type: Tensorflow.js
Tuberculosis (TB) Analyzer
Automatically detect TB on chest x-rays.
F1 Score: 81%
Batch Processing: Yes
Model Size: 7MB
App type: Tensorflow.js
COVID-19 CXR Analyzer
Offline
Use computer vision to detect and localize Covid-19 on chest x-ray images.
Acc Score: 0.84
Batch Processing: No
Access: Web and API
App type: Flask
Mammogram Mass Analyzer
A desktop flask app that uses computer vision to detect and localize masses on full field digital mammograms.
Acc Score: 0.65
Access: Desktop
App type: Flask
Laboratory Tools
Malaria Cell Analyzer
Automatically diagnose malaria in segmented red blood cell images.
F1 Score: 97%
Batch Processing: Yes
Model Size: 36MB
App type: Tensorflow.js
Cell Counting Tool
Automatically count cells on a cell mask microscopy image.
Max Counting Error: 3
Batch Processing: No
Model Size: 91MB
App type: Tensorflow.js
Agriculture Tools
Weed Detector
Use computer vision to detect weed seedlings.
F1 Score: 78%
Batch Processing: No
Model Size: 20MB
App type: Tensorflow.js
Bee Hive Health Analyzer
Assess bee hive health by analyzing a bee image.
F1 Score: 94%
Batch Processing: No
Model Size: 27MB
App type: Tensorflow.js
Rice Leaf Disease Analyzer
Automatically detect 3 types of rice leaf diseases.
F1 Score: 100%
Batch Processing: No
Model Size: 18MB
App type: Tensorflow.js
Apple Leaf Health Analyzer
Automatically analyze the health of apple tree leaves - detect three disease classes.
F1 Score: 91%
Batch Processing: No
Model Size: 18MB
App type: Tensorflow.js
Automated Wheat Counter
Offline
Use computer vision to automatically count wheat heads on wheat images.
MAE: 5.03
Count Error: 20.5 %
Batch Processing: No
Access: Web and API
App type: Flask
Wheat Head Auto Counter
A desktop interactive flask app that uses computer vision to automatically detect and count wheat heads on wheat field images.
map@0.5: 0.93
Access: Desktop
App type: Flask
Practice Diagnosis
Diabetic Retinopathy
Practice on 3,662 fundus images. The image labels are: No DR, Mild, Moderate, Severe and Proliferative DR.
Tuberculosis (TB)
Practice on 800 chest x-ray images. The image labels are: Normal and Tuberculosis.
Other Projects
Sound2Vibe
Sound2Vibe is a prototype electronic open source music and gaming aid for the deaf. It converts sound into vibrations that are transmitted through the body via bone conduction.
Simplistic Epileptic Seizure Detector with Alarm
This project shows a simple way to use computer vision to monitor a person who is at risk of having an epileptic seizure. When a seizure is detected, an alarm is triggered.
I think that sometimes it is the people who no one imagines anything of
who do the things that no one can imagine.
~ The Imitation Game