Full-stack · AI integration
FoodMind
Recommendations that respect dietary and sharing rules.
Food records, personal and group preferences, and recommendations brought together in a multi-client product.
One public boundary
Web + Android
One shared public API
Spring Boot
Permissions · Rules · Validation
PostgreSQL
Persistence
Private AI services
Recommendation · Cooking · Chat
The problem
Choosing a meal involves more than a model score. Preferences, dietary constraints, budget, and the visibility of shared records all need to remain consistent across web and mobile clients.
My contribution
Handled backend and web development, AI integration, infrastructure, and delivery throughout the team project.
Engineering decisions
One public boundary
Spring Boot owns authentication, permissions, validation, and persistence. Clients use a shared API; private AI services receive only the context assembled by the backend.
Rules before recommendations
Hard constraints filter candidates before ranking. Agent responses are validated before storage, and a deterministic fallback keeps the recommendation flow usable when a private service fails.
Treat integration as part of the product
Versioned contracts, Flyway migrations, architecture tests, and an immutable release manifest help the separate repositories move together. Cloud delivery uses digest-pinned images and readiness checks.
Delivery & scope
The documented demo/staging environment uses EC2, Caddy, and private RDS PostgreSQL. Web and Android clients share the backend; model packaging and evaluation remain experimental.
Explore the source
Code, architecture notes, and delivery details on GitHub.