My Projects
EU AI Act Compliance Navigator
An agentic RAG system that helps developers and product teams determine the regulatory status of their AI system under the EU AI Act. Given a plain-English description of an AI system, it classifies the risk tier (Prohibited / High-Risk / Limited-Risk / Minimal-Risk), identifies the specific Articles and Annexes that apply, and generates a prioritized, actionable compliance checklist with direct citations.
Built as a Go monolith — the RAG pipeline, API gateway, and MCP server are all in a single binary. The MCP server (built with the gomcpgo framework) lets any AI agent call compliance checks as a live tool during development. Uses hybrid search (semantic + keyword) for retrieval and LLM-based confidence scoring for classification.
Stack: Go, React, PostgreSQL + pgvector, OpenAI embeddings, gomcpgo MCP framework
gomcpgo — Go MCP Framework
An open-source Go framework for building Model Context Protocol (MCP) servers that enable LLMs to securely access tools and data sources. MCP is now a Linux Foundation standard under the Agentic AI Foundation. The framework supports tool, resource, and prompt handlers with a clean registry-based architecture — making it straightforward to expose any Go service as an MCP server for AI agents like Claude, GPT-4, or Cursor.
The gomcpgo GitHub org includes 12+ published MCP servers built with the framework, covering filesystem operations, email, audio transcription, image generation (Replicate), video AI, web fetching, Perplexity search, and document generation.
Stack: Go
GitHub Org: github.com/gomcpgo
Braille OCR Transcriber
A research-driven Braille OCR system with the first working ML model for Grade 2 (contracted) Braille — covering the 90-95% of real Braille documents that no other system supports. Existing OCR tools only handle Grade 1 (uncontracted), which represents just 5-10% of real-world usage.
Uses a two-stage architecture: YOLOv8 for cell detection (98-99% accuracy), then a ByT5 sequence-to-sequence model for context-aware interpretation of contracted Braille. The ByT5 model achieves 92.9% normalized match accuracy with 0.004 CER on real-world data — roughly 9x better than the liblouis back-translation baseline.
Stack: Python, PyTorch, ByT5 (Hugging Face Transformers), YOLOv8
Model: prasanthmj/braille-byt5-v3 on Hugging Face
Other Projects
qUP — A background task processor with BadgerDb persistence, written in Go.
Machine — Wrapper around the machinery Go library for background task execution.
Chimes — A JWT-only API authentication library. TypeScript client, Go server.
Boel — A JavaScript form data validation library with declarative syntax and conditional validations.