Welcome to the early 90s!

I build production systems that ship and stay running: end-to-end LLM fine-tuning pipelines, browser-automation tooling that powers AI-driven testing, and multi-service ERP, payroll, and logistics integrations on Azure and GCP. I work mostly in Python, across backend automation and hands-on model fine-tuning and training. Recent work includes LoRA/QLoRA supervised fine-tuning, dataset creation and synthetic data generation, embedding and vision-language fine-tuning, and managed tuning on Google Cloud Vertex AI, plus containerized FastAPI services that drive headless Playwright/Chromium to map web apps for automated test generation. On the backend I design multi-service Python systems and Azure Functions that tie together ERP, logistics, e-commerce, reporting, and BI, working with Flask, FastAPI, Django, SQLAlchemy, Celery, and Redis, and building frontends in Vue.js and React. I'm self-taught, and right now I'm focused on Generative AI: model fine-tuning, retrieval, and AI integration in modern web platforms. Always interested in solid backend and automation work in this space.


Selected Work

A few representative projects. Client names are under NDA, so these focus on the problem, the approach, and the result.

AI-driven web test automation

Problem. Generating reliable end-to-end Playwright tests by hand was slow, and the team often had no backend access to the apps under test.

Approach. Built a containerized FastAPI service that drives headless Playwright/Chromium to crawl any running web app and emit a structured JSON map of every reachable page: DOM skeletons, ranked locator strategies, forms, modal and sub-form state variants, observed transitions, and verification screenshots. Packaged with Docker Compose, a React UI, Swagger docs, and pluggable job stores (filesystem, PostgreSQL, MongoDB).

Outcome. The map feeds automated Playwright test generation with no backend access required. Reliability and design quality led to a renewed engagement.

End-to-end LLM fine-tuning pipeline

Problem. Needed task-specific small language models that run on modest, low-cost hardware instead of large hosted models.

Approach. Built a LoRA/QLoRA supervised fine-tuning pipeline for small instruction-tuned models (Qwen2.5) with Hugging Face Transformers, PEFT, and TRL, running on a 4 GB consumer GPU and a Kaggle T4. Hand-built JSONL instruction datasets and generated synthetic data with a locally hosted LLM (Ollama), with automated quality filtering and de-duplication to prevent eval leakage. Fine-tuned an embedding model with hard-negative mining, merged models with MergeKit, tuned a vision-language model (SmolVLM), and ran a managed Gemini job on Vertex AI for comparison.

Outcome. Measured retrieval gains with Recall@k and MRR before and after tuning, and mapped the task-versus-generality trade-off across local and managed training workflows.

Enterprise ERP integration platform

Problem. An enterprise ran business-critical operations across a legacy Microsoft NAV system and modern services that did not talk to each other.

Approach. Designed and own a suite of Python microservices and Azure Functions spanning logistics, reporting, e-commerce, document management, and BI. Built a Flask API layer wrapping Microsoft Dynamics 365 Business Central, integrated a third-party logistics carrier API, and synchronized legacy NAV tables with modern data models via Azure Functions. Built BI exporters and pipelines (Pandas, SQL, scheduled Functions), a Vue.js shopping cart and CMS, and reusable internal packages. Deployed to Azure with GitHub Actions CI/CD; tuned MSSQL and applied caching.

Outcome. A multi-service platform that supports day-to-day operations end to end, from architecture through deployment and maintenance.

Payroll integration middleware

Problem. A time-tracking system and a payroll system needed to stay in sync without manual re-entry.

Approach. Built middleware to synchronize data between the two platforms, architected with role-based access control and Celery task queues backed by Redis for background processing, with a clean separation between integrations and business logic.

Outcome. Reliable automated sync with a modular, maintainable design.


Chat with my AI assistant

Click ▮ CHAT.EXE in the bottom-right corner to launch the terminal and ask anything about my professional experience.

Languages

AI / ML

Frameworks

Databases

DevOps & Cloud

☺ Hi! Got a question about my work? Ask me here.
█ IAN.AI Assistant
IAN.AI [Version 1.0] (C) Ian Russel Adem. Ask me anything about my work.
C:\> [[ entry.user ]]
IAN.AI>
IAN.AI> thinking_