**Vassal: Project Goals** # Primary Objective The goal of Vassal is to bridge the gap between unstructured physical data (images) and structured digital systems (Inventory APIs). This project serves as a technical deep-dive into the integration of Generative AI within a traditional Full-Stack Java/Spring Boot environment. # Learning & Development Pillars While the end product is a functional utility, the development process is specifically designed to master the following domains: - Modern Spring Boot & Spring AI: Moving beyond basic CRUD to orchestrate complex AI workflows, utilizing the Spring AI ecosystem to handle prompts and structured outputs. - Vector Databases & Retrieval: Gaining hands-on experience in using vector databases in combination with classical development stacks. - System Architecture: Designing a "Bridge" architecture that is decoupled from the target application, allowing for a flexible, provider-agnostic middleware service. - AI Gateway Implementation: Mastering LiteLLM to manage multiple LLM providers (Gemini, OpenAI, Local LLMs). - Containerized Orchestration: Delivering a production-ready environment via Docker Compose that manages networked services (App, DB, Proxy) with a single command. # Product Goals (Public Value) Vassal is intended to be a useful tool for the public, specifically those utilizing self-hosted inventory systems like Homebox. - Intuitive Discovery: Replace rigid keyword searches with intent-based search (e.g., finding a "Soldering Iron" when the user searches for "fix electronics"). - Improve productivity: Reduce the time it takes to catalog physical items through AI-assisted batch processing. # Short-Term Roadmap & Milestones - Phase 1: Foundation (Current) * Deploy the core infrastructure (PostgreSQL + pgvector, LiteLLM, Spring Boot Skeleton, Next.Js frontend). * Establish the bridge between the Vassal backend and a demo Homebox instance. - Phase 2: The Processing Pipeline * Implement the image processing workflow: Upload $\rightarrow$ AI analysis $\rightarrow$ staging Table. * Develop the Next.js interface for data refinement and verification. - Phase 3: Semantic Search & Demo * Integrate Spring AI for embedding generation. * Launch a public-facing demo to showcase the full-stack solution. # Long-Term Roadmap & Milestones TBD