Projects
Recall: Read & Remember
Full-stack LLM product · 2025–present
A mobile learning application that uses an LLM to guide users through book comprehension using the Socratic method, asking questions rather than giving answers. Live on Google Play and the App Store.
- Compose Multiplatform client for Android, iOS and web from a single codebase
- Kotlin Spring Boot backend with REST API and RAG over PostgreSQL’s pgvector; Supabase for Postgres and auth
- Dockerized backend on GCP Cloud Run, infrastructure as code with Terraform/OpenTofu
- Remote MCP server with OAuth 2.1 auth, so external AI agents can use Recall
- Cloud LLMs via OpenAI-compatible APIs, plus an offline LLM on Android and iOS (LiteRT-LM)
- Evals: 130+ golden cases, code checks, LLM judges validated on human labels, Langfuse tracing
- Ran 3-round model bake-offs after single runs proved unreliable
- Cut AI latency 46% by capping the thinking budget; shipped safely thanks to the eval pipeline
- Chrome extension for book content extraction
Kotlin · Spring Boot · Compose Multiplatform · PostgreSQL / pgvector · Supabase · GCP Cloud Run · Terraform/OpenTofu · MCP · LiteRT-LM · DeepEval · Langfuse
Website | Google Play | App Store | Blog: The AI behind Recall | Blog: Presenting Recall | Blog: Introducing the Recall blog
Memristor Crossbar Simulation
Hardware-aware ML · 2026
A simple neural network mapped onto a memristor crossbar array.
- Baseline MLP mapped to conductances under two weight encodings (differential pair and reference column)
- Modelled hardware non-idealities (noise, drift) and evaluated robustness strategies for both encodings
- Hardware-aware training restored accuracy from 85.5% to 97.5%
- Cross-checked against IBM’s aihwkit
Python · PyTorch · aihwkit
Bean Disease Classification
Computer vision & edge AI · 2025
Full end-to-end pipeline from training to mobile deployment.
- Transfer learning with two-phase training (freeze, then fine-tune); 97.7% test accuracy on ~1k images
- Data augmentation to compensate for the small dataset
- TFLite model on Android for real-time, offline inference (85% for the Android model)
- MLflow experiment tracking and Apache Airflow orchestration
- Dockerized GPU training locally or on Modal; Flask REST API for configurable training runs
Keras · TensorFlow · TFDS · TFLite · MLflow · Airflow · Docker · Modal · Flask · Hugging Face · Android
Air Quality Prediction
Time-series forecasting · 2025
An air quality prediction system designed to forecast AQI for Poprad, Slovakia using historical air-quality and meteorological data.
- Compared ARIMA, Prophet, XGBoost and LSTM models (best Willmott Index 0.84)
- Recursive multi-step forecasting with rolling-window cross-validation
- Automated end to end with GitHub Actions: data, Hopsworks feature store, training, deploy
- Live demo on Hugging Face Spaces
Python · scikit-learn · XGBoost · TensorFlow/LSTM · Prophet · statsmodels · Hopsworks · Docker · GitHub Actions
Sudoku Solver
Deep learning · 2025
A deep learning approach to solving Sudoku puzzles. All 26 experiments are documented in the repo.
- Custom loss penalising broken Sudoku rules: same budget (100k samples, 30 epochs, ~4 min) gives 11% with cross-entropy vs 76% with the hybrid loss
- Curriculum learning, from easy puzzles to hard ones
- TFRecords for efficient loading of a large dataset
Keras · TensorFlow · TFRecords · CNNs
Variational Autoencoders (MNIST)
Generative models · 2025
Built a VAE to reconstruct and generate new MNIST digits.
- Visualised the latent space for debugging and understanding representations
- Experimented with Beta-VAE based on paper reading
- Defined custom metrics to reduce reliance on purely visual feedback
Keras · TensorFlow
Titanic Survival Prediction (Kaggle)
Classical ML · 2025
Focus on feature engineering.
- Used decision trees to evaluate feature importance
- Compared multiple models with hyperparameter tuning
scikit-learn
Kotlin Multiplatform samples
Mobile · 2021
Two public samples from 2021.
- CatViewerDemo: Kotlin Multiplatform for Android and iOS; shared ViewModel, repository and data sources, Compose UI on Android, SwiftUI on iOS, Ktor
- ChatDemo: a Jetpack Compose chat UI sample
Kotlin · KMP · Jetpack Compose · SwiftUI · Ktor
Learning
- Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow (Géron): Completed the entire book, including all exercises.
- Neural network from scratch (Karpathy’s micrograd): Implemented a neural network and backpropagation engine from scratch.
- Developing Applications with Google Cloud (Coursera specialisation): Completed.
- IBM AI Engineering (Coursera): 5 of 13 courses; moved on to Géron’s book and projects for more depth.