Abdullahi Abshir Boore, Software Engineer & ML/DL Engineer

Abdullahi Abshir Boore

Software Engineer & ML/DL Engineer

Designing scalable software and building reliable AI/ML systems for production.

Building practical deep learning systems from experiment to inference. Working across model training, evaluation, transfer learning, computer vision, and LLM systems. focused on understanding how models behave, improving them through experimentation, and making them reliable in real applications.

  • 16Public repositories
  • 7Open Source Projects
  • Deep LearningPrimary focus
  • LinuxDevelopment Environment
01Selected Work

Systems built to be deployed, documented and kept running.

Backend architecture and the infrastructure that carries it. Each project below is a public repository with the code and the reasoning behind it.

01Infrastructure

Self-Hosted VPS DevOps Stack

A documented production environment on a Hetzner VPS. Dokploy handles deployments, Docker the runtime, Traefik the certificates and Beszel, Uptime Kuma and Umami make the whole box observable instead of a black box.

  • Architecture, setup, deployment and monitoring guides
  • Push-to-deploy container workflows with Dokploy
  • Automatic TLS issuance and renewal through Traefik
  • Server metrics, uptime checks and privacy-first analytics
View repositoryAuthor · operator

Architecture

Host
Hetzner VPS
Edge
TraefikTLS renewal
Deploy
DokployDocker
Services
backendfrontendadminPostgres
Observe
BeszelUptime KumaUmami
  • Shell
  • 9 stars
  • Mar 2026
  • Hetzner VPS
  • Dokploy
  • Docker
  • Traefik
02Full-stack

Auth Monorepo

A Turborepo workspace where a NestJS API and a Next.js app share one auth story: JWT access tokens with rotating refresh tokens, Google OAuth, a login throttler guard, and Prisma-backed users.

Workspace

  • apps/apiNestJS · Prisma · JWT refresh · OAuth
  • apps/webNext.js · sign-in, sign-up, dashboard
  • packages/uiShared components
  • packages/eslint-configLinting rules
  • packages/typescript-configShared tsconfig
  • NestJS
  • Next.js
  • Turborepo
  • Prisma
  • JWT
  • OAuth
  • pnpm
View repositoryTypeScript
03Distributed systems

Centralized Authentication in NestJS

Authentication pulled out into its own NestJS service so it can be reasoned about alone: gRPC for internal calls, a GraphQL gateway for clients, Kafka for asynchronous user events, Prisma against Neon.

Request path

  1. ClientGraphQL
  2. ↓
    API Gatewaydelegates over gRPC
  3. ↓
    Auth ServiceNestJS · JWT · Passport
  4. ↓
    DatabasePrisma → Neon Postgres

Async user events

Kafka
  • NestJS
  • gRPC
  • GraphQL
  • Kafka
  • Prisma
  • Neon
  • Nx
View repositoryTypeScript
04

gRPC in NestJS

Nx library

The publishable Nx library that carries typed gRPC services inside NestJS the transport layer the auth architecture above is built on.

  • NestJS
  • gRPC
  • Nx
  • TypeScript
GitHub
02ML / Deep Learning

Models I have trained, measured and shipped not just notebooks I opened.

PyTorch training loops with recorded results, classical pipelines written from scratch, and LLM infrastructure built as Python services.

EXP

Progressive layer unfreezing on an ImageNet-pretrained ResNet18

Sep 2026
Model
ResNet18 · ImageNet weights
Dataset
FashionMNIST · 10 classes · 224×224
Training
SGD · lr 0.1 · 10 epochs · batch 32
Device
CUDA when available

Evaluation time held at ~24s across every trained configuration, so the cost difference sits entirely in training. Progressive unfreezing shows clear diminishing returns: Layer4 + FC captured most of the gain for roughly 38% less training time than full fine-tuning.

Top-1 test accuracy0 — 100%
  • Pretrained baseline10.54%
    trainable: Nonetrain: ——
  • Feature extraction80.98%
    trainable: FCtrain: 24.7 min+70.44 pp
  • Partial fine-tuning93.02%
    trainable: Layer4 + FCtrain: 27.1 min+12.04 pp
  • Full fine-tuningbest94.10%
    trainable: All layerstrain: 43.6 min+1.08 pp
A

Memorium

MIT

A self-hostable Model Context Protocol server that gives AI assistants long-term memory. Nothing is stored until it has been extracted, classified, scored, deduplicated and checked for contradictions.

Memory pipeline

  • Extraction
  • Classification
  • Importance scoring
  • Dedup
  • Conflict resolution
  • Storage

MCP tools

  • remember()
  • search_memory()
  • retrieve_context()
  • update_memory()
  • forget_memory()
  • list_memories()
  • memory_stats()

SQLite or PostgreSQL · optional Qdrant vector search · optional Redis cache

  • Python
  • MCP
  • SQLite
  • PostgreSQL
  • Qdrant
  • Redis
GitHub
B

AgentGit

Apache-2.0

Python tooling that gives agents a version history: record, replay, diff, search and audit what an agent did exposed as a CLI, a Python SDK and an MCP server.

  • Record and replay agent actions
  • Diff and search across runs
  • Auto-instrumentation for agent frameworks
  • MCP server plus CLI for audit trails

Integrations

  • OpenAI
  • Anthropic
  • LangChain
  • LangGraph
  • CrewAI
  • Ollama
  • Mistral
  • Groq
  • Google
  • Python
  • MCP
  • Apache-2.0
GitHub
C

Models From Scratch

KNN, linear regression, logistic regression and an SVM classifier implemented directly on NumPy against OpenML datasets with scikit-learn only for scaling, encoding and splits.

  • K-Nearest Neighbors
  • Linear Regression
  • Logistic Regression
  • Support Vector Machine
  • Euclidean distance, normalisation, accuracy scoring
  • Python
  • NumPy
  • scikit-learn
  • OpenML
Notebooks
D

ML Projects

A preprocessing and feature-engineering track missing values, standardisation, label encoding, imbalanced data, TF-IDF, cross-validation, GridSearchCV vs RandomizedSearchCV followed by four end-to-end builds.

  • Sonar: rock vs mine classification
  • Diabetes prediction
  • House price prediction
  • Fake news detection with NLTK stopwords + Porter stemming
  • Python
  • pandas
  • scikit-learn
  • NLTK
  • TF-IDF
Notebooks
03Open source.

Contributing beyond my own projects.

Pull requests and issue work across established open-source projects from self-hosted AI tooling to the reference runtime for LLM inference.

04About

Building AI systems beyond the notebook.

Most of my work sits around the full path from data and experimentation to trained models and reliable inference taking an idea from a notebook, measuring it properly, and turning it into something that can actually run.

On the modelling side, I work with PyTorch and scikit-learn, covering training, evaluation, transfer learning, fine-tuning, computer vision, and experimentation. I've worked through models layer by layer, measured the trade-offs between accuracy and training cost, and treated evaluation as part of the engineering rather than an afterthought.

On the AI systems side, I work with LLMs, RAG, embeddings, vector search, and agentic workflows building systems where retrieval, inference, and evaluation matter more than prompt guesswork.

The software engineering foundation sits underneath it: APIs, distributed services, Docker, CI/CD, and infrastructure that makes models and AI systems reproducible, deployable, and observable.

Role
Software Engineer · ML/DL Engineer
Machine Learning
Scikit-learn · Feature Engineering · Model Evaluation · Experimentation
Deep Learning
PyTorch · Transformers · Computer Vision · LLMs · Transfer Learning · Fine-tuning
ML Engineering
Model Serving · Optimization · vLLM · GPU Workloads · Inference
05Contact

Have a system that needs to scale or a model that needs to ship?

I’m primarily interested in AI/ML engineering and production AI systems, with software engineering opportunities also on my radar. The fastest way to reach me is by email.

[email protected]

Open source by default repositories, notebooks and infrastructure docs are public. Check the code before the call.