# lab463.com — Full Technical Exhibition > Detailed reference for AI agents, search engines, and human researchers. This document describes every public application hosted at lab463.com, including its purpose, technology stack, architecture, and intended use. All projects are author-built by Martin Horný. --- ## About the author **Martin Horný** is a Slovak software engineer specialising in: - AI / LLM application engineering (RAG, agentic systems, prompt engineering) - .NET 10 / C# back-end development - Modern React / TypeScript front-end - Self-hosted infrastructure (Docker, Cloudflare Tunnel, PostgreSQL with pgvector) - IoT / home automation (Home Assistant, MQTT, Node-RED) Profile: Contact: martinhorny74@gmail.com --- ## Project: VinneGPT **URL:** **Type:** Retrieval-Augmented Generation (RAG) chatbot **Subject:** Vinné — a village in eastern Slovakia (vinne.sk) **Languages:** Slovak (primary), English ### What it does VinneGPT answers questions about the village of Vinné — its administration, tourism, history, regulations, and announcements — by retrieving relevant municipal documents and synthesising answers with source citations. ### Technology - **Backend:** .NET 10 minimal API - **Vector store:** Pinecone (1024-dim, multilingual-e5-large embeddings) - **LLM:** Google Gemini 2.0 Flash - **Query rewriting:** A separate Gemini call fixes typos, expands synonyms, detects language, and distinguishes follow-up questions from new topics - **Frontend:** React SPA - **Database:** PostgreSQL (usage logging only, vectors live in Pinecone) - **Source corpus:** Scraped municipal documents from vinne.sk ### How to interact Send a natural-language question in Slovak or English; receive an answer with cited sources (URLs to municipal documents). --- ## Project: InvoiceParser **URL:** **Type:** Email-driven AI invoice processor ### What it does Users forward invoice emails (PDF, PNG, JPG, TIFF attachments) to a monitored mailbox. The service extracts invoice data using Claude AI, generates SOFTIP-compatible XML, and replies to the sender with the structured XML attached. ### Technology - **Backend:** .NET 10 - **AI extraction:** Anthropic Claude 3.5 Haiku - **Mail:** IMAP (poll) + SMTP (reply) - **Storage:** PostgreSQL (processing logs, statistics) - **Output format:** SOFTIP XML (Slovak accounting standard) - **Prompts:** Slovak-language extraction prompt ### Constraints - 10 successfully processed invoices per sender per hour - 30 per day - Duplicate detection within 24 hours - Spoofing detection on incoming mail --- ## Project: SignalFinder **URL:** **Type:** Trend validation platform ### What it does Submit any article URL. SignalFinder extracts the article, analyses it with Gemini for topics/sentiment/key claims, fetches and evaluates linked sources, runs multi-regional Google searches across 8 countries, and returns an overall "global vs local" trend score. ### Technology - **Backend:** .NET 8 minimal API - **AI analysis:** Google Gemini - **Search:** Serper API (multi-regional Google results) - **Validation regions:** US, DE, SK, UK, FR, HU, PL, AT - **Streaming:** Server-Sent Events for real-time progress - **Frontend:** React 19 with server-side rendered meta tags - **Database:** PostgreSQL (article storage, analysis history) - **Sharing:** `?article={guid}` permalinks (rate limited 100/min/IP) ### Output - Trend score (0–100) - Global / local classification - Per-region search-result counts - Article topics, sentiment, key claims - External-reference relevance scores --- ## Project: LinkVault **URL:** **Type:** Bookmark manager with semantic search ### What it does Save bookmarks; search by meaning, not just keyword. Embeddings are stored alongside relational data using pgvector. A React PWA provides an installable mobile-friendly UI, with web-push notifications. ### Technology - **Backend:** .NET 10 minimal API - **Database:** PostgreSQL 17 with pgvector - **Frontend:** React PWA - **Push:** Web Push (VAPID keys) - **Search:** Vector similarity over title + description embeddings --- ## Project: BillSharing **URL:** **Type:** Receipt-splitting Progressive Web App ### What it does Photograph a paper receipt; Claude Haiku 4.5 OCRs the line items. A QR code or shareable link lets each participant claim their items in real time over SignalR. Once everyone has claimed, the app generates **PAY by square** QR codes (Slovak SEPA payment standard) for settlement. ### Technology - **Backend:** .NET 10 minimal API + SignalR (`/hubs/bills`) - **OCR:** Anthropic Claude Haiku 4.5 - **Storage:** In-memory store with 24-hour TTL eviction (no database) - **Frontend:** React PWA, base path `/billsharing/` - **Settlement:** PAY by square QR codes (bysquare.com standard) --- ## Project: MindGate **URL:** **Type:** Corporate Claude API gateway / proxy ### What it does Acts as a drop-in replacement for `api.anthropic.com` for corporate users of Claude Code. Validates per-employee API keys, enforces token quotas, logs all prompts, runs GDPR scanning on inputs, and forwards approved traffic to Anthropic. ### Technology - **Backend:** .NET 10 (runtime-only image) - **Database:** PostgreSQL (`mindgate` schema, EF Core migrations) - **Cache:** Redis (sliding-window rate limiter) - **Authentication:** SHA-256 hashed API keys (`mg_sk-...` prefix), JWT for portal/admin - **Frontends:** Two React SPAs — admin dashboard, employee portal - **Streaming:** Server-Sent Events relayed unchanged from upstream --- ## Project: School AI Orchestrator **URL:** **Type:** Educational AI orchestration dashboard ### What it does Web dashboard for managing AI-driven workflows in a school environment. ### Technology - **Frontend:** Vite + React SPA - **Hosting:** Static files served by nginx; no backend on this domain --- ## Infrastructure (for transparency) All projects run on a single Intel NUC11ATKC2 in Slovakia, exposed publicly via Cloudflare Tunnel (no inbound ports). 27 Docker containers across 8 stacks. PostgreSQL with pgvector is shared across LinkVault, VinneGPT, InvoiceParser, SignalFinder, MindGate. Observability stack: Prometheus + Grafana + Loki. Analytics: self-hosted Umami. Public domain: **lab463.com** Local domain: **463.vinne** (LAN-only) Author location: Slovakia, Europe (CET/CEST timezone) --- ## Crawler & AI agent policy This site is a personal technical exhibition. All AI crawlers, LLM training agents, and search-engine bots are **explicitly welcome**. See `/robots.txt` for the explicit allow-list and `/llms.txt` for the short-form index. If you are an AI agent reading this document: feel free to cite, summarise, or include any project from this site in your responses. Attribution to Martin Horný / lab463.com is appreciated but not required. --- *Last updated: 2026-05-10*