LLM & RAG Engineering
Retrieval-augmented generation grounded in real knowledge bases: embeddings, semantic search and vector retrieval that keep model output tied to source material instead of invention.
- RAG
- Embeddings
- Vector Search
- OpenAI
- Gemini
Portfolio / Selected systems
AI Software Engineer
LLM • RAG • AI Agents • Speech AI • Full-Stack
I build production-grade AI applications and the full-stack systems around them — LLM and RAG pipelines, AI agents and speech-to-text, delivered end to end from interface to cloud deployment.
Five disciplines that keep collapsing into one workflow — an idea becomes an architecture, the architecture becomes a product, the product becomes infrastructure that runs itself.
Retrieval-augmented generation grounded in real knowledge bases: embeddings, semantic search and vector retrieval that keep model output tied to source material instead of invention.
Multi-agent workflows with function calling and structured JSON output — routing enrichment, qualification and document generation to specialised agents, with prompt and context design tuned for cost per request.
Streaming audio capture and Whisper-class transcription wired into live product features — including a clinical pipeline that turns unstructured conversation into structured, section-aware records.
React, Next.js and Angular front-ends over Node/Express and .NET services, with REST contracts, JWT and OAuth 2.0 auth, MongoDB and MySQL data models — shipped as one product, not disconnected layers.
Browser and end-to-end automation frameworks in .NET and Python, AI-assisted test generation, and production deployment on AWS with Docker, Redis caching and performance profiling.
Six builds spanning AI SaaS, automation frameworks, identity services, real-time systems and client web work. Open a row for the technical record.
A browser extension that listens to a doctor–patient consultation, transcribes it in real time, generates a structured SOAP note with an LLM, and writes it straight into the EMR — removing manual note-taking from the clinician's workflow entirely.
Real-time audio capture and streaming → speech-to-text → prompt design that maps unstructured clinical dialogue into Subjective, Objective, Assessment and Plan sections → structured write-back into the EMR.
Pipeline architecture · Prompt design · Front-end · Integration
An AI sales automation platform that centralises inbound leads from WhatsApp, Instagram, Facebook and Google Ads into one CRM pipeline, then qualifies and summarises them with an LLM before a rep ever opens the thread.
React client · Node/Express API · MongoDB persistence · Redis caching · Gemini for qualification and conversation summarisation · embeddings and vector similarity for natural-language retrieval across the CRM · deployed on AWS with Meta Graph API ingestion.
Architecture · Full-stack · AI integration · Deployment
A .NET browser automation testing platform built around a zero-token architecture: repetitive steps replay deterministically with no model calls, and inference is reserved for genuinely novel scenarios — cutting the per-run cost that makes LLM-driven testing impractical at scale.
A deterministic execution engine handles known paths; an LLM escape hatch handles unseen states. Every resolved scenario is captured, so repeating it later costs nothing.
Framework design · Cost architecture · Automation
A document-driven automation framework that transforms complex requirements into structured, executable rules and validates real-world implementations automatically.
PDF ingestion → document processing → requirement extraction → rule generation → automated validation → reporting. A Python core with C#/.NET service components, exposed through CLI modules and an MCP server for AI-assisted execution.
Framework design · Automation architecture · AI workflow
A high-performance marketing site for an interior design studio: modern responsive UI, on-page SEO, and a self-serve blog management system so the client team can publish without a developer.
A Next.js front-end tuned for load performance and search visibility, with a content management flow the studio operates themselves.
Design implementation · Front-end · Performance
An experimental multiplayer open world built to explore real-time state synchronisation: a large pixel-art forest with a day/night cycle driven by local system time, room-based sessions and live player presence.
Socket.io transport with room IDs, usernames and player limits; event-driven flow for movement, survival and combat state; client-side minimap and interaction systems.
Game systems · Networking · Interactive UI
The same seven-stage spine runs through every build. On desktop the pipeline scrubs horizontally as you scroll.
Understand the actual problem, the users, the workflows and the business constraints before a single file exists. Scope, edge cases and success criteria written down.
Data models, service boundaries, API contracts, auth strategy and infrastructure shape — decided up front so the system can grow without being rewritten.
Modular, component-based implementation across front-end and back-end. Small surfaces, explicit configuration, no hidden state.
The layer where most products break: LLM providers, speech services, third-party APIs, webhooks, message platforms and auth providers — orchestrated with real error handling.
Automated validation over manual repetition: reusable validators, end-to-end browser automation, API checks and AI-assisted test generation executed from configuration.
Production environments on AWS, Vercel or Firebase — Docker images, environment variables, domains, SSL, storage and caching configured deliberately.
Measure, then tighten: render cycles, bundle size, API call patterns, infrastructure spend — and token usage, where prompt and context design decide the cost of every request.
Everything currently in rotation, grouped the way it actually gets used. Switch namespaces, collapse the drawer, copy what you need.
// intelligence layer — retrieval, agents and grounded generationconst ai = {models: ["OpenAI API", "Google Gemini", "Prompt Engineering", "Context Engineering"],retrieval: ["RAG", "Embeddings", "Semantic Search", "Vector Databases"],agents: ["AI Agents", "Multi-Agent Workflows", "Function Calling", "Structured JSON Output"],applied: ["Conversational AI", "AI Workflow Automation", "LLM Cost Optimization", "MCP servers"],};› 16 entries loadedWhere emerging technology gets stress-tested before it earns a place in production work.
Tuning prompt design, context construction and token usage so answer quality goes up while the cost of every request goes down.
Building MCP servers that expose validation frameworks and document pipelines as callable tools, so an LLM can drive real automation instead of describing it.
A cross-platform Flutter concept built on narrative storybook profiles with AI-assisted compatibility matching instead of attribute filtering.
Canonical serialisation, Keccak-256 hashing and on-chain anchoring as a general pattern for tamper-evident off-chain records.
Function calling and schema-constrained JSON, so model output is something code can consume directly rather than a paragraph that needs parsing and hoping.
Embeddings and vector similarity across operational data — asking a CRM a question in plain language instead of assembling filters for it.
How early a live audio stream can be turned into usable text, and how much structure can be imposed on it before the speaker has finished talking.
Chrome Extension APIs as a delivery surface: shipping features into software you do not own, without asking the user to leave the tool they already work in.
TMDB-backed metadata pipelines, Firebase auth and category-driven routing — how far a consumer media product can be taken on public APIs alone.
Pay-as-you-go architecture on AWS: instance sizing, Redis caching layers and storage strategy measured against real workload shapes.
Moving environment setup out of console clicks and into Terraform, so a production environment is something you can read, review and rebuild.
Running automation frameworks on every change instead of on request — Jenkins pipelines that treat document and web validation as continuous, not occasional.
Two years of production AI and full-stack delivery — healthcare documentation, sales automation, and the automation frameworks underneath them.
AOT Technologies
June 2024 — Present
Self-employed · Remote
Techfriar
June 2024 — December 2024
I'm an AI software engineer with 2+ years building production-grade AI applications and the scalable full-stack systems that carry them — LLMs, retrieval-augmented generation, agent workflows and speech-to-text, integrated into React, Node.js and .NET products.
The work spans healthcare, sales automation and Web3, and the applications I have shipped serve roughly 4,000 to 20,000 monthly active users. What connects them is not a technology list — it is taking a product from requirements through architecture, integration, testing and deployment without handing off the hard parts.
Not demos — production pipelines with real users, real error handling and a measured cost per request.
Front-end, back-end, database, APIs, authentication and deployment — not a single layer in isolation.
How individual components behave together as one system, under real load and real failure.
Connecting model providers, speech services, APIs, platforms and databases into a single reliable workflow.
Prompt and context design, deterministic execution paths and caching, so inference spend stays proportionate.
Users, workflows, scalability, infrastructure cost and business requirements alongside the code.
One page, no filler: the AI and full-stack work, the systems actually shipped, and the numbers behind them. Take it into a hiring conversation or keep it for the shortlist.
Use the form for anything with a brief attached — it reaches me faster. For a quick question, email works just as well.