Architektura Systemu
Zawsze pracowałem w wielojęzycznych zespołach, rozmawiając o pracy po angielsku, dlatego poniższy opis techniczny również został sporządzony w tym języku.
Madika is built on Rails 8, embracing the "One Person Framework" philosophy.
Using SQLite as database. Using Primo for Wroclaw libraries integration.
Deployed to a VPS using Kamal 2. This allows for Docker-based, zero-downtime deployments without the overhead of complex cloud providers.
The engine currently utilizes Gemini 2.5 Pro to parse and suggest titles. Future iterations will explore RAG (Retrieval-Augmented Generation) or a bespoke recommender system. For photo analysis I use gemini-2.0-flash - fast, cheap and good enough for the task. When considering new model, I run rake that compares current model with challenger, output is compared both manually and by model. https://evalry.com/ is good tool to run fast comparison across number of models.
To help users find their nearest branch, I will be integrating geolocation features powered by convex_hull and geokit gems.
For error tracking and performance monitoring, the system is guarded by Sentry. Eventually I will explore Grafana and Prometheus.