Chat with an AI agent that knows about my experience, skills, and projects.
Try ItAbout Me
- 5 transports: stdio, REST, Streamable HTTP, SignalR, gRPC
- Session management with JWT and API key authentication
- Automatic tool discovery and JSON schema validation
- LangChain/LangGraph orchestration with pluggable LLM providers
- Planning coordination: ReAct, Plan-Execute, Adaptive strategy selection
- Multi-turn security pipeline with prompt injection defense
- React and TypeScript frontends, including an embeddable chat widget
- 14 chunking strategies for different document types
- Hybrid retrieval combining BM25 keyword matching with dense vector search
- RAPTOR hierarchical summarization for deep context
- Trustworthy generation with hallucination detection
- Multi-provider routing with factory-based gateway selection
- Structured output generation with retry and validation
- OpenTelemetry observability with correlation IDs
- A/B testing frameworks for model evaluation
What I've Built
- tawk
, an open source WhatsApp client for the terminal, and tawk-mcp
- Native terminal client in C and ncurses, linked to your phone like WhatsApp Web
- Two interchangeable WhatsApp backends behind one contract
- Up to eight accounts, an encrypted local database, voice note transcripts, media and statuses
- Agent rules per chat, TL;DR summaries, and an owner’s chat for instructing your agent from your phone
- github.com/loganventer/tawk
C ncurses SQLite Open SourceView project →, its MCP server with human approval built in- Lets AI clients read chats through tawk and act with your approval
- Destructive actions need two confirmations, one of which the model can never give
- More than 90 tools, including transcripts, summaries, labels and reminders
- Six iDesign layers on .NET 10 and the official MCP C# SDK
- github.com/loganventer/tawk-mcp
.NET 10 C# MCP Open SourceView project → - Agentic AI framework
for Python and .NET, covering the tool loop, planning, RAG, security and agent interop
- 18 independently versioned Python packages and 17 .NET projects
- A gRPC sidecar exposes the Python reference implementation to .NET through typed clients
- Agent tool loop, planning, RAG, security, auth, and MCP and A2A interop
- Coverage gates per package, at 95% for most
Python .NET 10 gRPC MCP A2AView project → - Multi-agent systems
for code review, agent generation, planning with proof, and document pipelines
- Code and documentation review with up to 37 parallel reviewers
- An agent that builds agents: a twelve-phase pipeline with 838 tests at 98% coverage
- A planner and proof gate that re-runs each step's acceptance checks in its own sandbox
- A use-case triage and SDLC document pipeline that cites every statement
Python A2A MCP iDesignView projects → - A discontinued MCP server framework
for .NET with multi-transport support, session management, and automatic tool discovery, built before an official SDK matured
- 5 transports: stdio, REST, Streamable HTTP, SignalR, gRPC
- Discontinued: the official C# MCP SDK, maintained in collaboration with Microsoft, replaced it, and the servers were migrated to .NET 10
- JWT and API key authentication with session management
- JSON schema validation for tool inputs and automatic tool discovery from assemblies
- LangChain/LangGraph integration with Python client support
.NET 9 C# gRPC SignalR MCPView project → - Agentic chatbot platform
with LLM orchestration, production RAG, multi-turn security, and React frontends
- LangChain/LangGraph orchestration with pluggable LLM and embedding providers
- Production RAG with 14 chunking strategies, hybrid retrieval, and hallucination detection
- Multi-turn security pipeline with prompt injection defense and risk-based capability restriction
- Streaming responses via SSE and WebSocket with real-time audio transcription
- Self-service admin portal for bot lifecycle management and knowledge versioning
- React and TypeScript frontends, including an embeddable chat widget
Python LangChain FastAPI React TypeScriptView project → - MCP meta-tooling: servers that scaffold, build, and publish new MCP server projects from templates
- Knowledge base platforms
with semantic search, hierarchical document management, and conversational RAG interfaces
- Hierarchical document organization with tagging and audit logging
- Semantic search via vector embeddings with dynamic Qdrant container management
- Conversational RAG interface for natural language queries
- Admin dashboard with file upload and version management
.NET 9 Python Qdrant ReactView project → - MCP servers for Azure DevOps (74 tools), Microsoft Teams, Microsoft To Do, Databricks, Toggl Track and web research
- A governed AI gateway on .NET 10 with per-application permissions, budgets, metering and audit
Technical Foundation
- C# / .NET 10 — Primary. High-performance services, MCP servers and frameworks, AI gateways, enterprise backend systems
- Python — Primary. LangChain, LangGraph, FastAPI, Pydantic, AI/ML pipelines
- TypeScript / React — Strong. Modern frontends, real-time chat interfaces, admin dashboards
- Dart / Flutter — Strong. Cross-platform mobile and desktop applications
- SQL — Strong. T-SQL, complex schemas, query optimization
- C — Strong. Native terminal applications with ncurses, SQLite and multi-threaded networking
- C++ — Experienced. Performance-critical and security applications
- Legacy — COBOL, Delphi, Visual Basic
- iDesign methodology with strict layered dependency direction
- Protocol-based dependency inversion and composition over inheritance
- Domain-Driven Design with bounded contexts
- Strategy, Factory, Pipeline, Registry, and Adapter patterns
- Microservices and event-driven architecture
- LLM orchestration with multi-provider routing and streaming
- RAG: 14 chunking strategies, hybrid retrieval, RAPTOR, RRF fusion, HyDE
- Agentic patterns: ReAct, Plan-Execute, Adaptive planning, tool calling
- Security: prompt injection defense, canary tokens, risk scoring, spotlighting
- Vector databases: FAISS, Qdrant, Pinecone, Chroma, Weaviate
- Multi-agent orchestration over MCP and A2A, with proof-gated verification
- Docker and Docker Compose for containerized deployments
- Azure cloud infrastructure and Azure AD authentication
- Multi-protocol backends: gRPC, SignalR, SSE, Streamable HTTP, WebSocket, REST
- OpenTelemetry + Elasticsearch observability with structured logging
- CI/CD pipelines, cross-platform deployment (Linux, Mac, Windows)
What I Believe In
- Clean architecture and deliberate design decisions
- Deterministic systems with well-defined failure boundaries
- Code that communicates intent
- Direct feedback and honest technical discourse
Senior AI/Platform Engineer
Telesure Investment Holdings (TIH) | Aug 2025 - Present Permanent
- Contractor Aug 2025 to Apr 2026 Placed by DotCom Software Solutions
- Permanent 1 May 2026 to Present Employed directly by Telesure
- Architected a multi-project agentic AI platform
applying iDesign methodology with strict dependency direction and protocol-based dependency inversion
- Layered architecture: 18 independently versioned Python packages and 17 .NET projects, with a chatbot service and administration portal built on top
- A gRPC sidecar exposes the Python reference implementation to .NET through typed clients
- Protocol interfaces for all major contracts — gateways, engines, accessors, registries, routers
- Topological dependency resolution with circular dependency validation
- Strategy, Factory, Pipeline, Registry, and Adapter patterns throughout
iDesign Clean Architecture DDD SOLID Dependency Inversion - Designed and built production RAG pipelines
with hybrid retrieval, hierarchical summarization, and hallucination detection
- 14 chunking strategies: recursive, semantic, sentence, fixed, markdown, HTML, code, table-aware, hierarchical, contextual, proposition, late, agentic, compression
- Hybrid retrieval combining dense vector search with BM25 keyword matching
- Score fusion via Reciprocal Rank Fusion (RRF) and weighted strategies
- RAPTOR hierarchical summarization for deep context understanding
- Trustworthy generation with confidence scoring and hallucination detection
- Fluent builder API with presets (Conversational, Production, High-Accuracy, Code Search, Research)
- Knowledge versioning with incremental updates and content hashing for change detection
RAG BM25 RRF RAPTOR HyDE Vector Search - Implemented agentic planning and orchestration
with tool calling, multi-model routing, and conversation memory
- Planning coordinator with 3 strategies: ReAct (iterative reasoning), Plan-Execute (upfront planning), Adaptive (LLM auto-selects based on task complexity)
- Tool registry with automatic discovery, execution with retry logic, and canary token support
- Multi-model routing by engine type (agentic, planning, reflection, classification)
- MCP tool integration for external tool server composition
- Vector-backed conversation memory with semantic similarity
- Rolling window context management with fallback summarization
ReAct Plan-Execute Tool Calling MCP LangChain LangGraph - Applied enterprise security patterns
: multi-turn attack detection, prompt injection defense, and risk-based capability restriction
- Pluggable security pipeline with scanner adapter registry
- Multi-turn attack detection across conversation history
- Prompt injection scanning with pattern-based and semantic detection
- Risk accumulation and decay model with configurable thresholds
- Canary token management for data exfiltration detection
- Capability restriction and human escalation at risk thresholds
- Tool chain validation to prevent unauthorized operation sequences
Prompt Injection Defense Canary Tokens Risk Scoring Spotlighting - Integrated multiple LLM and embedding providers
with factory-based routing and graceful degradation
- 6 LLM gateway implementations with unified interface: streaming and non-streaming generation
- 3 embedding gateway implementations with unified embed() contract
- Factory pattern for runtime provider selection from configuration
- 7 vector store integrations with semantic caching layer
- Built a self-service administration portalfor bot lifecycle management, knowledge versioning, and deployment orchestration
- Multi-step bot creation wizard with real-time validation and SSE progress streaming
- LLM-powered auto-generation of bot personality, system prompt, and greetings from document analysis
- Knowledge base versioning with incremental updates: delta detection, embedding reuse for unchanged content
- Agent deployment management with port allocation and health monitoring
- In-browser chat playground for testing deployed agents
- Dashboard with health status, usage metrics, and error logs
React TypeScript FastAPI SSE Vite - Designed observability infrastructurewith structured logging, correlation IDs, and A/B testing metrics
- Multi-destination logging: console, file, and Elasticsearch via OpenTelemetry
- Request correlation IDs propagated across service boundaries
- A/B testing framework with experiment/variant management and assignment tracking
- Centralized Elasticsearch + Kibana stack shared across all services
OpenTelemetry Elasticsearch Kibana A/B Testing - Built production chatbot servicewith streaming responses, real-time audio transcription, multi-bot routing, and an embeddable React chat widget
- SSE and WebSocket streaming for real-time response delivery
- Real-time audio transcription via WebSocket
- Multi-bot routing with hot-reload YAML-based bot discovery
- Side-by-side A/B response comparison for model evaluation
- Conversation persistence with SQLite and rolling window context management
- Multi-provider auth middleware (Azure AD, JWT, API key) with RBAC
FastAPI SSE WebSocket React RBAC Docker - Built multi-agent systems on the A2A protocol: code and documentation review agents, an agent that builds agents
- Three review intensities, running 9, 27 or 37 specialised reviewers in parallel over a pull request
- 77 agent specifications covering 8 backend languages, 4 frontend frameworks and the OWASP Top 10 CI/CD Security Risks
- Six-step pipeline: trigger, review, decide, verify, deduplicate, publish, with validators iterating to convergence
- Findings corroborated by static analysis and reachability into a composite confidence score
- A sibling system reviews documentation against the source code it describes, across four dimensions
- Model profiles (fast, standard, deep) that decouple agent specifications from vendor models
Python C# MCP A2A BM25 RAG, a planner and proof gate- Turns a natural-language specification into a standalone, containerised Python agent project
- A typed twelve-phase pipeline with 27 MCP tools, 4 guard layers and 6 archetype tiers
- The model supplies typed structured output and the server renders the source, so it never free-writes code that has to compile
- Phase executors verify completion claims against validators and make retries idempotent
- 838 tests at 98% coverage
Python FastAPI .NET MCP JSON Schema, and a use-case triage and SDLC document pipeline- A calling agent asks for a plan, does a step, and submits its work as a patch
- The service rebuilds the workspace in its own sandbox and re-runs the acceptance checks, including hidden ones
- No API call lets the caller mark its own work done, an invariant asserted by a test
- Ten agents: a supervisor with a state machine, a planning orchestrator running four lenses, a plan reviewer, a proof adjudicator and a blind completion auditor
Python A2A .NET 10 MCP C# SDK- 19 triage agents assess a proposed AI use case for data sensitivity, reuse and build effort, and return one grounded verdict
- Orchestration is deterministic code, and LLM judgement lives only in the specialists and the synthesiser
- A golden-set regression suite of ideas with known verdicts, and refusal on low confidence
- 15 document agents turn an approved verdict into six SDLC documents, each mapping every statement to its source
- Word documents rendered by filling an existing template through Open XML
Python A2A MCP FAISS Open XML - Built a terminal AI coding assistantwith permission-gated tools, persistent memory, and agent-to-agent delegation
- Full-screen terminal interface with 10 built-in tools for files, shell, search, git and the web
- Permission gate with allow, deny, always and never decisions and a diff preview
- Persistent project memory, planning, and session save, resume and rewind
- Registers MCP tool servers and delegates to other agents over A2A, as both client and server
- Runs headless behind a VS Code extension, with a composition test for each entry point
Python prompt_toolkit MCP A2A VS Code extension - Built a suite of MCP serversgiving AI agents typed, authenticated access to DevOps, collaboration, data and research platforms, with human approval for writes
- Azure DevOps: 74 typed tools, rebuilt on .NET 10 and the official MCP C# SDK with an 80% coverage gate
- Microsoft Teams: about 70 tools through Microsoft Graph, in six layers enforced at compile time
- Microsoft To Do: delegated sign-in and name-based list resolution, with 116 offline tests
- Databricks: roughly 171 tools across 13 areas, split into read, write and admin servers
- Toggl Track: 79 tools covering timers, projects, tasks, reports and insights
- Web research: several search providers merged by reciprocal rank fusion behind an SSRF guard and a site allow-list
.NET 10 C# MCP C# SDK Microsoft Graphand shared Microsoft Entra sign-in libraries- Approval runs through MCP elicitation, so the model cannot approve its own actions
- Destructive writes take two confirmations
- Three access levels: read by default, then send, then manage
- Third-party text is fenced between marker lines and labelled as untrusted
Human-in-the-loop Prompt Injection Defense- Three layered .NET libraries: core authentication, Microsoft Graph, and MCP sign-in tools
- Ten credential strategies, with the catch-all default credential deliberately left out in favour of an explicit chain
- A token refresh service that coalesces concurrent renewals into one and serves the cached token through transient failures
- Start-up validation of every setting, and no silent plaintext token cache
- An 80% coverage gate with warnings as errors
.NET Azure.Identity Microsoft Graph MCP - Authored an MCP server frameworkfor .NET, then led its retirement in favour of the official C# MCP SDK and migrated the servers to .NET 10
- Built before an official SDK matured: 5 transports (stdio, REST, Streamable HTTP, SignalR, gRPC)
- Attribute-based tool registration, JSON Schema validation, and per-request API key and JWT authentication
- Rate limiting with 3 strategies, a circuit breaker and caching
- Adopted by other engineers to build servers over line-of-business systems
- Now discontinued: the official C# MCP SDK replaced it, with a documented migration path
.NET 9 C# gRPC SignalR Polly - Designed and built a governed AI gatewayon .NET 10 with per-application permissions, budgets, metering and audit
- Chat, embeddings, images, speech, document reading, OCR and retrieval behind one API
- Identity, role-based permissions, per-application budgets, usage metering and a request audit
- A governance pipeline that checks permission and then budget before any model call
- Six iDesign layers enforced by the compiler, with a stored-procedure-only data layer guarded by a convention test
- Exactly-once settlement of streamed responses, with one code path for streamed and buffered calls
- Failover across named model connections, and a job queue with a background worker for deferred work
.NET 10 ASP.NET Core SQL Server OpenTelemetry - Architected and designed an agentic knowledge ingestion and curation pipelinethat keeps assistant knowledge bases current, with human review through pull requests
- An orchestrator runs every mechanical stage in process and calls four single-purpose agents over A2A
- Agents are definitions and not code: a card, a system prompt and a template in a folder
- Reviewable text and the built index go to different places, tied together by one committed pointer
- A fail-closed sensitive-data gate runs before indexing, and index files are verified before they are opened
- A new assistant is purely a configuration file, with no per-assistant code
Python A2A RAG Config as Code - Ran an automated CI/CD control reviewacross more than 1,000 repositories, attributing every finding to its origin
- 49 projects and 1,081 repositories reviewed against 17 fixed checks
- Build definitions, pipeline YAML, branch policies and build timelines read through the REST API
- Shared pipeline templates resolved across repository boundaries, with conditions evaluated
- Every finding attributed to its origin: a shared template, a repository override, or the repository itself
- Per-repository reports, project and estate roll-ups, and a steering committee briefing
Azure DevOps REST API YAML pipelines DevSecOps - Wrote the developer onboarding coursefor the framework, with test-graded exercises
- An eight-chapter guide to the framework, with a runnable playground
- Two worked examples and six exercises: security, memory, MCP tools, planning, streaming, and a composed agent
- Each exercise is a stub plus the tests that define done
- One CI step per exercise, so the build reads as a checklist, with an 80% coverage floor
Python pytest CI - Leading technical architecture decisions and mentoring team members on AI/ML and clean architecture best practices
Senior Software Developer
Derivco | Nov 2018 - Jun 2025
- Led technical development of internal AI initiative, creating a dynamic prompt generation systemfor OpenAI API integration.
- JSON-based prompt definitions interpreted at runtime for customizable, reusable prompts
- Integrated with OpenAI API for automated content generation workflows
- Architected LLM-powered automation toolsfor SDET and code review workflows.
- Automated test generation reducing SDET manual effort
- AI-assisted code review workflows for quality and consistency
- Applied iDesign architectural methodologyto create maintainable, scalable backend systems.
- Formal training under Juval Löwy, creator of iDesign
- Decomposition into Managers, Engines, Resource Accessors, and Utilities
- Strict layered dependency direction with protocol-based contracts
- Led the technical development, release, and maintenance of end-to-end software systemsin the online gaming industry.
- Full ownership from requirements through design, implementation, testing, and production deployment
- Coordinated cross-team releases across multiple dependent services
- Maintained high-availability systems in the online gaming industry
C# .NET SQL Server REST APIs - Drove CI/CD pipelinesand technical roadmap for multiple software products.
- Automated build, test, and deployment workflows
- Standardised branching strategies and merge policies
- Integrated automated testing gates to enforce quality before release
TeamCity Octopus Deploy Git - Assessed complexity, scope, risk, and engineering effort for significant software development projects.
- Contributed to architecture roadmaps, ensuring adherence to established standards and principles.
- Ensured adherence to iDesign decomposition and layering principles
- Reviewed and guided system design for new features and services
- Drove alignment between technical strategy and business objectives
- Mentored junior developers, providing guidance and support.
Key References:
- Chris Coetzee: +27 82 548 8817
- Ockert Du Preez: +27 72 829 0170
- Paul Kotze: +27 82 901 7953
- Albie van Zyl: +27 79 492 5393
- Gopi Kistasami: +27 83 616 1371
Senior Software Developer GMIC.Net (Consultant)
Dynamic Visual Technologies (Pty) Ltd | May 2016 - Nov 2018
- Developed new features and critical bug fixes on the GMIC.Net platformas per client requirements.
- Enterprise .NET application serving the mining and minerals industry
- Multi-layered architecture with WCF services, business logic, and data access tiers
- Complex domain logic for commodity tracking, compliance, and reporting
C# .NET WCF SQL Server - Handled continuous integration(build) processes on clients' preferred platform.
- Managed automated build pipelines on client-hosted infrastructure
- Configured build triggers, artefact publishing, and deployment steps
- Maintained build health and resolved pipeline failures
- Managed branches and releasesusing Git.
- Git-based branching strategy with feature, release, and hotfix branches
- Coordinated merge workflows across multiple development streams
- Orchestrated releases to production after QA sign-off
Git Release Management - Collaborated closely with Quality Assurance on quality-related problems and bugs.
- Managed sprint goals and workload in coordination with project manager, product owner, and team capacity.
- Executed system integrationsbetween various systems at client sites.
- Integrated GMIC.Net with third-party systems at client sites
- Handled data synchronisation, API integration, and cross-system workflows
- Participated in technical discussions and design sessions relating to product development.
Key Reference:
- Khumo Jele: +27 81 447 9732
Software Developer/Windows Team Lead
Seecrypt (Pty) Ltd | Apr 2015 - May 2016
- Developed new features and bug fixes on the Seecrypt SC3encrypted communications application.
- Secure encrypted communications application for voice, messaging, and file transfer
- End-to-end encryption with military-grade security protocols
- Cross-platform support targeting Windows desktop, phone, and tablet
Encryption Secure Comms VoIP - Developed with a multi-language tech stackincluding C#, C++, WPF, and Silverlight.
- C# for application logic and UI layer
- C++ for performance-critical cryptographic operations
- WPF for desktop UI with rich XAML-based interfaces
- Silverlight for cross-platform web-based client
C# C++ WPF Silverlight XAML - Implemented encrypted local storageusing SQLite-SQLCipher.
- SQLite with SQLCipher extension for transparent AES-256 database encryption
- Secure storage of message history, contacts, and session data
- Key management for per-user encrypted database instances
SQLite SQLCipher AES-256 - Managed CI/CD with Bamboo and Stash, releasing to Windows Store after QA sign-off.
- Bamboo build server for automated build and test pipelines
- Stash (Bitbucket Server) for Git repository hosting and code review
- Automated deployment to Windows Store after QA sign-off
Bamboo Bitbucket Git Windows Store - Led the Windows team as team lead, coordinating with scrum master, product owner, and QA.
- Managed sprint goals and workload in coordination with scrum master and product owner
- Drove regular bug-bashes with QA to maintain quality standards
- Contributed to cross-team design sessions with other team leaders
- Assisted team members with debugging and new feature development
Scrum Team Leadership
Key References:
- Annalinde Singh: +27 76 640 4766
- Dino Fizzotti: +44 734 041 5199
Director
Covariant Consulting (Pty) Ltd | Jun 2014 - Mar 2015
- Attended and assisted in design meetings regarding the implementation of the UDCS system.
- UD Truck Customer Service system for dealer network management
- End-to-end solution covering service scheduling, parts ordering, warranty claims, and dealer communication
C# .NET SQL Server - Integrated the UDCS front-ends and back-ends into Syspro ERPfor finance, inventory, and reporting purposes.
- Syspro integration for finance, inventory management, and business reporting
- Data synchronisation between UDCS and Syspro modules
- Custom reporting solutions bridging both systems
Syspro ERP Integration SQL Server - Implemented database, data-access, business logic, and rules for the full UDCS system.
- Performed testing and verification of all implemented code on a standalone QA system.
- Managed deployment and verification of new functionality and bug fixes after QA sign-off.
- Maintained software and data fixes as needed and provided dealer support.
Key Reference:
- Ronete McKenzie: +27 61 682 2350
Software Developer
UD Trucks Southern Africa (Pty) Ltd | Mar 2012 - May 2014
- Designed and implemented the UDCS systemarchitecture and integration.
- Core system architecture for dealer customer service operations
- Full-stack implementation: database schema, stored procedures, data access layer, business rules, and front-end
- Standalone QA environment for isolated testing and verification
C# .NET SQL Server - Integrated UDCS with Syspro ERPfor finance, inventory, and reporting.
- Bi-directional data flow between UDCS and Syspro finance and inventory modules
- Automated reporting pipelines for business intelligence
Syspro ERP Integration - Managed deployment and verification of new functionality and bug fixes after QA sign-off.
- Maintained software and data fixes as needed and provided dealer support.
Key Reference:
- Ronete McKenzie: +27 61 682 2350
Software Developer
Enermatics (Pty) Ltd | Jun 2011 - Mar 2012
- Designed and implemented the Wattkeeper systemfront-end and back-end, including database, data-access, and business logic.
- Energy management platform for monitoring and controlling electrical consumption
- Real-time data collection from smart meters and energy monitoring devices
- Web-based dashboard for usage analytics, billing, and reporting
C# .NET Energy Management IoT - Implemented device communication protocolsfor communicating with energy monitoring devices.
- Serial and TCP/IP communication with energy monitoring hardware
- Protocol adherence as specified by device engineers
- Data parsing, validation, and storage of meter readings
Device Protocols Serial Comms TCP/IP - Performed testing and verification of all implemented code on a standalone QA system.
- Managed deployment and verification using Hudson build server.
- Automated build and deployment pipelines (Hudson, precursor to Jenkins)
- Continuous integration for build verification and automated testing
Hudson CI/CD - Assisted with client queries and billing cycles.
Key Reference:
- Melissa Wittstock: +27 82 750 0065
Software Developer
Infotech (Pty) Ltd | Jun 2009 - May 2011
- Designed and implemented the Wattkeeper systemfront-end and back-end, including database, data-access, and business logic.
- Initial development of the energy management platform later continued at Enermatics
- Full-stack implementation: database schema, data access layer, business rules, and web front-end
- Foundation architecture for device data collection and energy analytics
C# .NET Energy Management - Implemented device communication protocolsas specified by device engineers.
- Communication with energy monitoring hardware per device engineer specifications
- Data ingestion pipelines for real-time meter readings
Device Protocols IoT - Performed testing and verification of all implemented code on a standalone QA system.
- Managed deployment and verification using Hudson build server.
- Automated build pipelines with Hudson (precursor to Jenkins)
- Build verification and deployment automation
Hudson CI/CD
Key Reference:
- Melissa Wittstock: +27 82 750 0065
Programmer
Information Trade World | Feb 2007 - May 2009
- Managed projects and client relationships.
- Developed applications in Visual Basic and Delphi, along with website development.
- Desktop application development with Visual Basic 6 and Delphi
- Database-driven business applications with MS Access and SQL backends
- Website development for client-facing web presence
Visual Basic Delphi Web Development - Designed, developed, and maintained COBOL programsas per client requirements.
- Mainframe COBOL development for client business systems
- Batch processing, report generation, and data transformation
- Full lifecycle: design, development, implementation, and maintenance
COBOL Mainframe Batch Processing - Handled client system management, including scheduling, planning of client jobs, and writing progress reports.
Key Reference:
- Maria Jacobs: +27 74 254 6027
Administrative Officer
City of Tshwane Metropolitan Municipality | Mar 2004 - Feb 2007
- Checked and controlled payment vouchers for goods and services, ensuring all legal documents were attached and correct.
- Ensured contracts with retention monies complied with General Conditions of Contract.
- Verified correct foreign exchange covers were obtained.
- Ensured all payments including retention monies were correctly paid in accordance with contract conditions.
- Provided a counter service to internal departments for cheque collection.
- Printed cheques as required.
- Oversaw the overall status of filed documents and managed contents, archiving when necessary.
- Assisted departments with queries regarding payment status.
- Assisted with all IT related problems, sometimes resolving them immediately.
- Performed general administrative services.
Key Reference:
- Martie J. Matthee: +27 12 358 8269
Graphic Designer / Sign Writer
Marnet Signs | Nov 2003 - Feb 2004
- Created signboards and vehicle signage with graphical processing software.
- Incised vinyl for signs using a graphical plotter.
- Weeded superfluous vinyl from backing sheets.
- Applied vinyl onto various boards and vehicles to create the actual sign.
- Ordered materials required for projects as necessary.
- Obtained materials from various suppliers with personal vehicle.
- Oversaw and helped with the actual erection of signage.
Key Reference:
- Martie Roberts or Eddie Bekker: +27 12 734 4990
Data Capturing Clerk
Books-u-profit | Apr 2003 - Jul 2003
- Performed general administration services (filing, arranging appointments, etc.).
- Captured all invoices, receipts, and financial documents of clients onto a computer, using Pastel 6 accounting software.
Key Reference:
- Dries Venter: Tel: +27 12 800 3327, Cell: +27 83 449 7047
Graphic Designer / Sign Writer
Nexor Signs | Dec 2002 - Mar 2003
- Created signboards and vehicle signage with graphical processing software.
- Incised vinyl for signs using a graphical plotter.
- Weeded superfluous vinyl from backing sheets.
- Applied vinyl onto various boards and vehicles to create the actual sign.
- Assisted with actual erection of signage.
Key Reference:
- Dries du Plessis: +27 12 333 3384
Diploma in C++ Programming
Intec College
Maintained an average of 73.1%, the highest score obtained in the history of the institution as of 2006.
Subjects:
- Introduction to programming
- Introduction to C++
- C++ Programming
- Advanced C++ Programming
- Systems Analysis & Design
- Management Information Systems.
Grade 12 (Matric with Merit)
Goudrif High and Elsburg Primary
Subjects:
- Afrikaans: First Language HG - C
- English: Second Language HG - A
- Physical Science - D
- Accounting - C
- Computer Studies - B
- Mathematics - E
Recipient of the Computer Training Institute floating trophy for the best student in computer studies (2002).
Completed entire Matric Computer Studies syllabus in Grade 10 and coded first primitive graphics program in the same year.
Programming Languages
C# & .NET 10 Ecosystem
Primary specialty. Architecting and developing high-performance, scalable back-end services, APIs, and AI platform frameworks. Deep expert-level proficiency from legacy .NET Framework through to .NET 10.
Python (LangChain, LangGraph, FastAPI)
Building agentic chatbot platforms and RAG orchestration services with LangChain/LangGraph for LLM orchestration, FastAPI for backend APIs, and Pydantic for data validation.
TypeScript / React
Building modern frontend interfaces for AI platforms, admin dashboards, and real-time chat applications with streaming support.
Dart / Flutter
Cross-platform mobile and desktop chat interfaces with real-time SSE/WebSocket streaming integration.
SQL (T-SQL/General)
Designing and implementing complex database schemas, writing optimized queries, and ensuring data integrity for mission-critical systems.
C
Native terminal applications with ncurses and SQLite, including tawk, an open source WhatsApp client for the terminal.
C++
Performance-critical components in secure communications applications, interfacing directly with low-level libraries and protocols.
Legacy & Other (COBOL, Delphi, VB)
Foundational experience in maintaining and developing for legacy systems, demonstrating broad adaptability across programming paradigms.
Frameworks & Methodologies
AI/ML Engineering
- 14 chunking strategies: recursive, semantic, sentence, fixed, markdown, HTML, code, table-aware, hierarchical, contextual, proposition, late, agentic, compression
- Hybrid retrieval combining BM25 keyword matching with dense vector search
- Score fusion via Reciprocal Rank Fusion (RRF) and weighted strategies
- RAPTOR hierarchical summarization for multi-level context understanding
- HyDE (Hypothetical Document Embeddings) for semantic intent matching
- ColBERT late interaction for fine-grained token-level relevance
- Graph RAG for relationship-aware retrieval
- Deep search patterns for multi-step retrieval
- Trustworthy generation with confidence scoring and hallucination detection
- Fluent builder API with presets: Conversational, Production, High-Accuracy, Code Search, Research
- Query transformation and expansion for improved recall
- Document ingestion pipeline with metadata extraction and versioning
- Planning coordinator with 3 strategies: ReAct (iterative reasoning), Plan-Execute (upfront planning), Adaptive (LLM auto-selects based on task complexity)
- Tool registry with automatic discovery, execution with retry logic, and canary token support
- Multi-model routing by engine type: agentic, planning, reflection, classification
- LLM provider registry for runtime model selection and fallback
- MCP tool loader for external tool server composition via Model Context Protocol
- Vector-backed conversation memory with semantic similarity search
- Structured output generation with retry logic and validation steps
- Agent security monitor with risk accumulation and decay over conversation turns
- Multi-turn attack detection tracking escalation patterns across conversation history
- Risk scoring with configurable thresholds triggering capability restriction or human escalation
- Prompt injection scanning with pluggable scanner adapter registry
- Canary token management for data exfiltration detection
- Tool chain validation preventing unauthorized operation sequences
- Input sanitization and spotlighting (user input wrapped in security delimiters)
- Output filtering detecting system prompt leakage patterns
- Rolling window manager with sliding window over conversation history
- Fallback summarization when context exceeds window limits
- Context assembly for RAG results with relevance-based selection
- Conversation reranking and compression for long conversations
- Hierarchical agent orchestration with recursive depth control
- Up to 37 specialized reviewers covering backend (8 languages) and frontend (4 frameworks)
- Proof-gated verification: an independent service re-runs acceptance checks before work is accepted
- Human-in-the-loop design: approval gates, two-step confirmation, untrusted text fencing
- Master orchestrators coordinating review and fix agents
- Bounded scope per agent preventing context fragmentation
Multi-Protocol Backend Architecture
Designing and implementing APIs across gRPC, SignalR, Server-Sent Events (SSE), Streamable HTTP, WebSocket, and REST. Building multi-transport server frameworks that support session management, authentication, and automatic tool discovery.
Frontend & Mobile
React, TypeScript, Flutter, Dart, Tailwind CSS. Building real-time streaming interfaces for AI chat platforms across web and mobile.
DevOps & Infrastructure
Docker, Docker Compose, Rancher, Kubernetes, Azure, CI/CD Pipelines, cross-platform containerized deployments (Linux, Mac, Windows). Driving continuous integration and delivery pipelines using Azure DevOps.
Observability & Metrics
- Experiment and variant management with assignment tracking
- Metric collection and analysis for model evaluation
- Side-by-side response comparison for provider benchmarking
Testing
NUnit, xUnit, pytest, Vitest, integration testing, architecture and convention testing, coverage gates in CI. Building test generation tools powered by LLMs to reduce QA burden.
Architectural Concepts
iDesign Methodology & Domain-Driven Design (DDD)
Formally trained in advanced system architecture through Juval Löwy's prestigious Architect's Master Class. Proficient in applying the iDesign methodology and Domain-Driven Design principles to decompose complex systems into robust, maintainable, and scalable software.
Clean Architecture
Structuring AI platforms and backend services with clear separation of concerns, dependency inversion, and testable domain logic independent of frameworks and infrastructure.
Microservices & Event-Driven Architecture
Architecting and decomposing systems into scalable, independently deployable microservices with event-driven communication patterns, leveraging Azure for orchestration and deployment.
Authentication & Security
- Azure AD, JWT, and API key authentication providers
- Microsoft Entra ID credential strategies with a coalescing token refresh service
- RBAC engine for role-based access control
- Token validation and middleware integration
Agentic AI Design Patterns
- Spotlighting: user input wrapped in security delimiters to prevent prompt injection
- Input/output guardrails with sanitization and leakage detection
- Multi-turn attack scoring with risk accumulation and decay across conversation turns
- Canary token injection for data exfiltration detection
- Tool chain validation preventing unauthorized operation sequences
- Human-in-the-loop escalation when risk thresholds are exceeded
- Capability restriction dynamically reducing agent permissions under threat
- ReAct: iterative Thought-Action-Observation reasoning loops
- Plan-Execute: upfront planning followed by step-by-step execution
- Adaptive: LLM auto-selects strategy based on task complexity
- Tool use governance with validation boundaries and retry logic
- Structured output generation with schema validation and retry
- Content style enforcement for consistent LLM output formatting
Database & Vector Storage
SQL databases (SQL Server, PostgreSQL, SQLite), vector databases (Qdrant, FAISS, Pinecone, ChromaDB, Weaviate), caching (Redis, in-memory), and optimized data access patterns for hybrid search systems.
Open Source
Software I build in the open and am proud of. The code is on GitHub.
tawk: WhatsApp in the Terminal
- Two interchangeable WhatsApp backends behind one contract, switched with one config key
- Up to eight accounts in one window, with photos and PDFs drawn as real pixels on Sixel terminals
- Voice notes transcribed in the language spoken, and a TL;DR mode that folds long messages into summaries written by a connected agent
- An owner’s chat: talk to your agent and approve its requests from WhatsApp on your phone
- Agent rules per chat (always ask, read only, hidden), with one-time codes and card numbers masked before a model sees them
- Encrypted chats, tamper-evident backups and a lock that asks for your passphrase
- Labels, reminders and filters for a long chat list, and system notifications with quiet hours
tawk-mcp: MCP Server for tawk
- More than 90 tools across chats, messages, scheduling, statuses, labels, reminders, voice notes and memory
- Six iDesign layers with every interface bound in one composition root
- Message text reaches the model inside clearly marked blocks it is told not to obey
- Writes voice note transcripts and TL;DR summaries when tawk asks for them
- Hears you in your own chat as instructions, and treats everything else as data
- Memory for writing like you: voices tuned per audience, contact profiles and reply templates
- Memory syncs between your machines through a private git repository of your own, on a schedule or when an agent asks
graph LR
Client[AI Client] -->|MCP| Server[tawk-mcp]
Server -->|Control socket| Tawk[tawk]
Tawk --> You[Your Approval]
Tawk --> WA[WhatsApp]
style Client fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style Server fill:#1e293b,stroke:#475569,color:#94a3b8
style Tawk fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style You fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style WA fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
matrix-clock: Terminal Clock in Digital Rain
- Four clock styles, seven rain colours, adjustable size and speed
- Live task lines with a full-screen browser of the day’s entries
- A stats overlay with frame time, frames per second and CPU usage
Featured Projects
Highlights from my recent platform and AI engineering work.
Agentic AI Framework for Python and .NET
- iDesign is a methodology for decomposing systems into Managers, Engines, Resource Accessors, and Utilities
- 18 independently versioned Python packages and 17 .NET projects, so an application takes only the parts it needs
- Protocol-based contracts for all cross-layer communication, with one type per file
- A fluent agent builder that validates the chosen features before anything runs
- Optional extras with lazy imports, so unused integrations cost nothing
- A full tool-calling loop with streaming and five tool hooks for policy, logging and approval
- Three planning strategies: ReAct (iterative reasoning), Plan-Execute (upfront planning) and Adaptive (the model picks by task complexity)
- Six RAG strategies that decide when and how the agent retrieves
- Ten built-in coding tools confined to a workspace, with a URL guard
- Context management with rolling windows, summarisation and vector-backed memory
- 14 chunking strategies: recursive, semantic, sentence, fixed, markdown, HTML, code, table-aware, hierarchical, contextual, proposition, late, agentic, compression
- 7 vector stores: FAISS, Qdrant, Chroma, Pinecone, Weaviate, a file store and an in-memory store
- Hybrid retrieval (BM25 + vector) with fusion by RRF, CombSUM and weighted scoring
- Reranking by cross-encoder, ColBERT and LLM, plus HyDE, graph retrieval, RAPTOR and four deep-search modes
- Versioned knowledge bases with commit, activation and rollback
- 43 registered prompt injection patterns behind a pluggable scanner registry
- Spotlighting and sandwich defence around untrusted input, and canary tokens to detect exfiltration
- Multi-turn attack detection with risk that accumulates and decays across a conversation
- Tool chain validation, and capability restriction as risk rises
- Adapters that fail closed when a scanner cannot run
- 6 LLM gateways and 3 embedding gateways behind one interface, chosen from configuration
- Streaming and non-streaming generation through the same contract
- Capability registries that record which models support structured output and logit control
- Authentication and RBAC, logging, metrics and OpenTelemetry tracing shared by every package
- Tree of Thoughts and tournament reasoning for hard problems
- Reflexion with procedural memory, so an agent learns from its own failed attempts
- Evaluator-optimiser loops and hallucination detection from token probabilities
- Human approval gates in workflows
- The Python framework runs as a self-contained sidecar process that .NET talks to over gRPC
- 12 protobuf contracts and 11 services, with thin typed .NET clients on top
- Built for Linux, Windows and macOS and shipped inside the NuGet package, so .NET consumers need no Python install
- Behaviour is written once and stays identical across both languages
- 18 Python packages and 17 .NET projects, each versioned on its own
- Coverage gates per package, at 95% for most, with lint, type and security checks in CI
- A developer onboarding course with test-graded exercises
graph LR
Py[Python Apps] --> FW[Agent Framework]
Net[.NET Apps] -->|gRPC sidecar| FW
FW --> Loop[Agent Loop + Planning]
FW --> RAG[RAG Pipeline]
FW --> Sec[Security]
FW --> LLM[LLM Gateways]
FW --> Inter[MCP + A2A]
style Py fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style FW fill:#1e293b,stroke:#475569,color:#94a3b8
style Net fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style Loop fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style RAG fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style Sec fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style LLM fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style Inter fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
Enterprise Agentic Chatbot Platform
- A per-bot guard replaces answers below a confidence tier with a refusal
- 5 RAG strategies: Always, Never, Adaptive, Threshold, Agent
- Hybrid search with 3 fusion methods
graph LR
Users[Users] --> Frontend[Widget + Embed]
Frontend -->|Streaming| Backend[Backend API]
Backend --> LLM[LLM Providers]
Backend --> RAG[RAG Pipeline]
Backend --> Security[Security]
style Users fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style Frontend fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style Backend fill:#1e293b,stroke:#475569,color:#94a3b8
style LLM fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style RAG fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style Security fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
Enterprise Agentic Administration Portal
graph LR
Admin[Admin] --> Wizard[Bot Wizard]
Wizard --> Knowledge[Knowledge Versioning]
Wizard --> Deploy[Agent Deployment]
Admin --> Monitor[Monitoring]
style Admin fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style Wizard fill:#1e293b,stroke:#475569,color:#94a3b8
style Knowledge fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style Deploy fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style Monitor fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
Hierarchical Code and Documentation Review Agents
- Validators adjudicate and iterate to convergence
- Static analysis and reachability feed a composite confidence score
- Findings are deduplicated and posted as inline comments or a report
graph LR
PR[Pull Request] --> Review[Parallel Reviewers]
Review --> Decide[Validators]
Decide --> Verify[Static Analysis]
Verify --> Publish[Inline Comments]
style PR fill:#3b1a2a,stroke:#f43f5e,color:#fda4af
style Review fill:#3b1a2a,stroke:#f43f5e,color:#fda4af
style Decide fill:#1e293b,stroke:#475569,color:#94a3b8
style Verify fill:#1e293b,stroke:#475569,color:#94a3b8
style Publish fill:#3b1a2a,stroke:#f43f5e,color:#fda4af
Agent Builder: An Agent That Builds Agents
- 12 phases, 27 typed MCP tools, 4 guard layers and 6 archetype tiers
- 838 tests at 98% coverage
graph LR
Spec[One-Line Spec] --> Pipe[12-Phase Pipeline]
Pipe -->|Typed tools| MCPS[MCP Server]
MCPS --> Guards[Validators + Guards]
Pipe --> Out[Runnable Agent]
style Spec fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
style Pipe fill:#1e293b,stroke:#475569,color:#94a3b8
style MCPS fill:#1e293b,stroke:#475569,color:#94a3b8
style Guards fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
style Out fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
Planner and Proof Gate for AI Agents
graph LR
Agent[Calling Agent] -->|Plan| Planner[Planner]
Agent -->|Patch| Gate[Proof Gate]
Gate --> Sandbox[Own Sandbox]
Sandbox --> Verdict[Verified or Not]
style Agent fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
style Planner fill:#1e293b,stroke:#475569,color:#94a3b8
style Gate fill:#1e293b,stroke:#475569,color:#94a3b8
style Sandbox fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
style Verdict fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
Terminal AI Coding Assistant
graph LR
Dev[Developer] --> TUI[Terminal UI]
TUI --> Gate[Permission Gate]
Gate --> Tools[Built-in + MCP Tools]
TUI -->|A2A| Peers[Other Agents]
style Dev fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style TUI fill:#1e293b,stroke:#475569,color:#94a3b8
style Gate fill:#1e293b,stroke:#475569,color:#94a3b8
style Tools fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style Peers fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
AI Use-Case Triage and SDLC Document Pipeline
- 19 triage agents and 15 document agents on one shared foundation
- Orchestration is deterministic code, with LLM judgement only in the specialists
graph LR
Idea[Raw Idea] --> Triage[Triage Agents]
Triage --> Verdict[Grounded Verdict]
Verdict --> Docs[Document Agents]
Docs --> Set[Cited SDLC Documents]
style Idea fill:#3b1a2a,stroke:#f43f5e,color:#fda4af
style Triage fill:#1e293b,stroke:#475569,color:#94a3b8
style Verdict fill:#3b1a2a,stroke:#f43f5e,color:#fda4af
style Docs fill:#1e293b,stroke:#475569,color:#94a3b8
style Set fill:#3b1a2a,stroke:#f43f5e,color:#fda4af
AI-Powered Azure DevOps Integration via MCP
graph LR
Agent[LLM Agent] -->|MCP| Server[MCP Server]
Server --> ADO[Azure DevOps]
style Agent fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
style Server fill:#1e293b,stroke:#475569,color:#94a3b8
style ADO fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
MCP Server Suite for Collaboration, Data and Research
- Approval runs through MCP elicitation, so the model cannot approve its own actions
- Third-party text is fenced and labelled as untrusted
- Databricks access is split into read, write and admin servers, granted by which binary is deployed
- Web research merges several search providers by reciprocal rank fusion behind an SSRF guard
graph LR
Agent[LLM Agent] -->|MCP| Suite[MCP Servers]
Suite --> Graph[Teams + To Do]
Suite --> Data[Databricks]
Suite --> Time[Toggl Track]
Suite --> Web[Web Research]
style Agent fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
style Suite fill:#1e293b,stroke:#475569,color:#94a3b8
style Graph fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
style Data fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
style Time fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
style Web fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
MCP Server Framework for .NET
Discontinued. The official C# MCP SDK, maintained in collaboration with Microsoft, now covers this ground. New servers use the SDK, and the servers built on this framework have been migrated to it.
- MCP is an open standard for connecting AI agents to external tools and data sources
- Supports bidirectional communication between LLMs and tool servers
- Enables dynamic tool discovery, schema validation, and session management
graph LR
Client[AI Agents] --> Framework[MCP Framework]
Framework --> T1[5 Transports]
Framework --> T2[Auth + Sessions]
Framework --> T3[Tool Registry]
style Client fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style Framework fill:#1e293b,stroke:#475569,color:#94a3b8
style T1 fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style T2 fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style T3 fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
Governed AI Gateway
- Six iDesign layers enforced by the compiler
- Stored-procedure-only data layer, guarded by a convention test
- Exactly-once settlement of streamed responses
graph LR
Apps[Applications] --> GW[AI Gateway]
GW --> Gov[Permissions + Budgets]
GW --> Models[Model Services]
GW --> Audit[Metering + Audit]
style Apps fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
style GW fill:#1e293b,stroke:#475569,color:#94a3b8
style Gov fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
style Models fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
style Audit fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
Automated CI/CD Control Review at Estate Scale
graph LR
Estate[1,081 Repositories] --> Review[17 Checks]
Review --> Reports[Per-Repo Reports]
Reports --> Rollup[Estate Roll-up]
style Estate fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
style Review fill:#1e293b,stroke:#475569,color:#94a3b8
style Reports fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
style Rollup fill:#3b2a1a,stroke:#f59e0b,color:#fcd34d
Agentic Knowledge Ingestion and Curation Pipeline
- An orchestrator runs every mechanical stage in process and calls four single-purpose agents over the A2A protocol, fanning out per document
- Each agent does exactly one job, such as writing one document for one source page
- Agents are definitions and not code: a card, a system prompt and a template in a folder, served by one generic host, so adding an agent is adding a folder
- Authoring is not deterministic, so an unchanged source is never re-authored, which keeps review free of churn
- One rule shapes the design: reviewable text and the built index go to different places, tied together by one committed pointer, so a reviewer sees exactly which index build matches the text they approved
- Four source connector types behind one interface, each with its own change signal, so a new kind of source is one class and a config block
- Tiered PDF extraction that only falls back to OCR for pages the cheaper tiers could not read
- Screening runs before indexing, because embedding is the expensive step
- The index carries a fingerprint of its recipe, and an assistant refuses one that does not match what it serves with
- Index files are verified by hash and signature before they are opened
- One circuit breaker per dependency, so a failing endpoint or agent degrades the run without stopping it
- A new assistant is purely a configuration file, with no per-assistant code
graph LR
Sources[Sources] --> Conn[Connectors]
Conn --> Orch[Orchestrator Agent]
Orch -->|A2A| Authors[Authoring Agents]
Authors --> Gate[Sensitive-Data Gate]
Gate --> Index[Chunk + Embed + Index]
Index --> Review[Pull Request Review]
Index --> Bot[Assistant Reload]
style Sources fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style Conn fill:#1e293b,stroke:#475569,color:#94a3b8
style Orch fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style Authors fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style Gate fill:#1e293b,stroke:#475569,color:#94a3b8
style Index fill:#1e293b,stroke:#475569,color:#94a3b8
style Review fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style Bot fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
AI-Powered Knowledge Base System
- Vector embeddings convert documents into numerical representations
- Similarity search finds conceptually related content, not just keyword matches
- Dynamic Qdrant container management for scalable vector storage
graph LR
Docs[Documents] --> Platform[Knowledge Platform]
Query[User Query] --> Platform
Platform --> Search[Semantic Search]
Platform --> Chat[Conversational RAG]
style Docs fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
style Platform fill:#1e293b,stroke:#475569,color:#94a3b8
style Query fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
style Search fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
style Chat fill:#2a1a3b,stroke:#8b5cf6,color:#c4b5fd
Personal Interests & Projects
Software Development
Passionate about programming, finding it exhilarating and rewarding to solve particularly hard problems.
Tech Innovations
- Builds open source terminal software: tawk, a WhatsApp client for the terminal, tawk-mcp, its MCP server, and matrix-clock, a digital rain clock. View projects →
- Developed a mobile game for the Windows phone store which received 8000 downloads.
- Developed another Windows phone app for the Eskom load shedding situation, monitoring grid status and notifying users of changes, which received 1200 downloads in two weeks.
- Built a backlight for his television which changes color according to the average perceived pixel color, greatly improving the viewing ambience.
Music
Highly interested in music, plays the guitar and sings at home and in public. Has written many of his own songs and performed at various venues after one of his songs was played on Jacaranda, and recorded his own album.
AI Agent Demo
An AI agent you can chat with about my experience, skills, and projects. Powered by Claude.
All References
Derivco
Chris Coetzee: +27 82 548 8817
Ockert Du Preez: +27 72 829 0170
Paul Kotze: +27 82 901 7953
Albie van Zyl: +27 79 492 5393
Gopi Kistasami: +27 83 616 1371
Dynamic Visual Technologies
Khumo Jele: +27 81 447 9732
UD Trucks / Covariant Consulting
Ronete McKenzie: +27 61 682 2350
Infotech/Enermatics
Melissa Wittstock: +27 82 750 0065
Information Trade World
Maria Jacobs: +27 74 254 6027
City of Tshwane
Martie J. Matthee: +27 12 358 8269
Marnet Signs
Martie Roberts or Eddie Bekker: +27 12 734 4990
Books-u-profit
Dries Venter: Tel: +27 12 800 3327, Cell: +27 83 449 7047
Nexor Signs
Dries du Plessis: +27 12 333 3384