🚀 Full-stack mobile app for international students in Italy
CiboCompass is a full-stack mobile application designed to help users understand restaurant menus and make informed food choices across cultures.
The system combines a React Native (Expo) frontend with a Go-based backend API, supporting real-time dish information, personalized ratings, and offline-first interaction.
- 📱 Cross-platform mobile app built with React Native + Expo
- ⚙️ Backend API implemented in Go with SQLite persistence
- 🌍 Cultural-aware exploration based on nationality
- 💾 Offline-first rating system with local caching and sync
- 🎯 User-centered design following HCI principles
Mobile App (React Native)
↓
REST API (Go)
↓
SQLite Database
- User searches or selects a dish in the mobile app
- App sends request to backend API
- Backend retrieves dish data from SQLite
- Response returned to mobile client
- User submits rating
- Rating stored locally (offline-first)
- Synced to backend when connection is available
-
Offline-first architecture
Ratings are cached locally to ensure usability without network connectivity. -
Lightweight backend (Go)
Chosen for efficient concurrency and low overhead. -
REST API design
Stateless endpoints for scalability and easy integration. -
SQLite database
Simple and fast for development and local persistence.
- Replace SQLite with PostgreSQL for scalability
- Add authentication system (JWT-based users)
- Introduce recommendation engine (collaborative filtering)
- Deploy backend with Docker and cloud services
- Browse dishes across different countries
- Switch nationality to compare preferences
- Submit ratings per dish
- View aggregated ratings by country
- Display ingredients, calories, allergens
- Highlight vegetarian / gluten-free options
- Ratings stored locally when offline
- Synced automatically when backend is available
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/dishes | Fetch dish information |
| POST | /v1/ratings | Submit user rating |
| Layer | Technology |
|---|---|
| Frontend | React Native, Expo |
| Backend | Go (Golang), REST API |
| Database | SQLite |
| UX | HCI principles, usability testing |
CiboCompass/
├── assets/ # Images, icons
├── backend/ # Go API
├── App.js # Main app
├── package.json
└── README.md
Food is one of the biggest barriers for international students.
This project focuses on:
- reducing language friction in menus
- improving decision-making with structured food data
- adapting recommendations across cultural preferences
Human–Computer Interaction (HCI)
Sapienza University of Rome — 2023–2024
MIT License © 2025