#GovTech #AI #OpenData #SemanticSearch #Microservices #DataStandardization #CLIP #VectorDatabase #EventDriven #dane.gov.pl
ποΈ GovTech Solution - Software app for public administration and integration
"AI-powered lost & found system that automatically publishes municipal data to dane.gov.pl and provide semantical search for lost items"
Polish municipalities are legally obligated to manage found items and publish this data on dane.gov.pl (Poland's open data portal). However:
Result: Citizens struggle to find their lost belongings, municipalities waste resources, and the open data initiative suffers from poor adoption.
"Odnalezione Zguby" is an intelligent, AI-powered microservices platform that revolutionizes how municipalities handle lost items:
-
5-Click Item Submission
- Upload photo β AI analyzes β Suggests description β Review β Submit
- Reduces submission time from 20 minutes to under 2 minutes
-
AI-Powered Description Generation
- Vision API (GPT-4o) analyzes uploaded photos
- Automatically suggests: description, category, and metadata
- Multilingual support (Polish + international)
-
Semantic Search with CLIP
- Natural language queries: "niebieska torebka damska"
- Image similarity search
- 512-dimensional vector embeddings
- Cosine similarity matching
-
Automated dane.gov.pl Integration
- One-click dataset creation
- Automatic DCAT-AP PL formatting
- Real-time synchronization
- Compliant with Polish open data standards
-
Event-Driven Architecture
- Asynchronous processing
- High scalability
- Fault-tolerant design
- Real-time updates
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ODNALEZIONE ZGUBY β
β AI-Powered Lost & Found Management System β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
β Service A β β Service B β β Service C β
β Gateway βββββΆβ CLIP Worker βββββΆβ Publisher β
β (Go + HTMX) β β (Python) β β (Go) β
β Port: 8080 β β ML Pipeline β β dane.gov.pl API β
ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββ
βΌ
ββββββββββββββββββββββββββ
β Infrastructure Layer β
ββββββββββββββββββββββββββ€
β β’ RabbitMQ (5672) β
β β’ MinIO S3 (9000) β
β β’ Qdrant DB (6333) β
β β’ PostgreSQL (5432) β
ββββββββββββββββββββββββββ
- Tech: Go 1.21, HTMX, Tailwind CSS, Alpine.js
- Role: User interface for municipal workers
- Features:
- Real-time AI photo analysis
- Form validation with legal compliance
- MinIO S3 image storage
- Event publishing to RabbitMQ
- Tech: Python 3.11, PyTorch, Transformers, CLIP
- Role: Machine learning pipeline
- Features:
- Text embedding (sentence-transformers/clip-ViT-B-32-multilingual-v1)
- Image embedding (openai/clip-vit-base-patch32)
- 512-dimensional vectors
- Multilingual support (Polish, English, German, etc.)
- Tech: Go 1.21, REST API Client
- Role: dane.gov.pl integration
- Features:
- DCAT-AP PL standard formatting
- Automatic authentication
- Dataset management
- Resource publishing
- Tech: Go 1.21, Qdrant gRPC Client
- Role: Vector database management
- Features:
- Cosine similarity search
- Real-time indexing
- Batch operations
- Collection management
| Category | Technologies |
|---|---|
| Backend | Go 1.21, Python 3.11 |
| Frontend | HTMX, Tailwind CSS, Alpine.js |
| AI/ML | CLIP (OpenAI), GPT-4o Vision, PyTorch, Transformers |
| Databases | Qdrant (Vector DB), PostgreSQL 15, MinIO (S3) |
| Messaging | RabbitMQ 3.12 (Topic Exchange) |
| Infrastructure | Docker, Docker Compose |
| APIs | REST, gRPC, OpenAI API |
URL: https://visionlink.jdex.pl/
YouTube: https://youtu.be/5JFhqebSRmc
Image Processing:
- Instant preview of uploaded photo
- File validation (type, size)
- Triggers AI analysis automatically
- Progress indicator
GPT-4o Vision Magic:
- β¨ Automatic description: "Blue backpack with laptop compartment"
- π·οΈ Category suggested: "Bags & Backpacks"
- π Characteristics detected: Color, type, features
- β±οΈ Processing time: ~2-3 seconds
- π€ User control: Review and modify before submission
One-Click Acceptance:
Real-Time Status Updates:
- Item successfully submitted β
- Background processing active:
- Image stored in MinIO
- CLIP embedding generation
- Qdrant vector indexing
- Event flow visualization
- User can continue working immediately
Comprehensive Item View:
- Full metadata displayed
- Legal information: 2-year retention period (Art. 187 KC)
- Expiration countdown (days remaining)
- Ready for dane.gov.pl publishing
Intelligent Search Results:
- Search query: "niebieska torebka" (blue bag)
- CLIP-powered matching: Understands semantics, not just keywords
- Visual similarity: Items ranked by vector similarity
- Result quality: Relevant items with similarity scores
Key Features Demonstrated:
- GPT-4o Vision: Actually generating meaningful descriptions
- CLIP Embeddings: Semantic search returns relevant results
- Event-Driven: Background processing doesn't block users
- Scalable: Services communicate via RabbitMQ
- Art. 187 KC: 2-year retention period displayed
- Transparency: Expiration dates clearly shown
- Data Quality: Standardized categorization
- Automatic publishing to dane.gov.pl
- First Polish municipal system using CLIP for semantic search
- Vision API reduces data entry time by 90%
- Async processing = no waiting for users
- Fault-tolerant (messages persist in RabbitMQ)
- Horizontally scalable (add more workers)
- DCAT-AP PL format
- RESTful API design
- No technical knowledge required
- Machine-readable formats
- Automatic synchronization
- Real-time updates to dane.gov.pl
- π Complete System Setup
- π Event Flow Architecture
- π¨ Message Payloads
- π RabbitMQ Configuration
- π₯οΈ Service A: Gateway README
- π§ Service B: CLIP Worker README
- π€ Service C: Publisher README
- π Service D: Qdrant Service README
GitHub Repository: https://github.com/JDEX-Coding/hacknation-odnalezione-zguby
Live Demo: https://visionlink.jdex.pl/
Issues & Support: https://github.com/JDEX-Coding/hacknation-odnalezione-zguby/issues
Documentation: Complete docs available in repository
HackNation 2025 Submission







