Technical Spec

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.

A rchitecture

The Framework

Madika is built on Rails 8, embracing the "One Person Framework" philosophy.

Data & Storage

Using SQLite as database. Using Primo for Wroclaw libraries integration.

Deployment

Deployed to a VPS using Kamal 2. This allows for Docker-based, zero-downtime deployments without the overhead of complex cloud providers.

I ntelligence

The Brain

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.

Geolocation

To help users find their nearest branch, I will be integrating geolocation features powered by convex_hull and geokit gems.

Observability

For error tracking and performance monitoring, the system is guarded by Sentry. Eventually I will explore Grafana and Prometheus.