How manishvgiri/macrosnap works
MacroSnap is a Streamlit nutrition-chat app: users provide a name and WhatsApp number, then submit meal text or photos for calorie and macro estimates from Gemini. They can request a conversation-wide meal summary, which the app sends to their WhatsApp number through Twilio. Prompts are defined separately in prompts.py. The tree is minimal and the README is empty; this map reflects the supplied app.py and prompts.py, without assuming additional persistence or services.
Main entry points: app.py Streamlit UI · prompts.py Nutrition prompts
Components 9
User experience
- Streamlit UI
app.py - Chat session
app.py
Nutrition AI
- Nutrition prompts
prompts.py - Gemini API
- Meal estimates
app.py - Meal summary
app.py
WhatsApp delivery
- Twilio API
Other components
- User
- WhatsApp recipient
Connections 11
- User → Streamlit UI: submits profile and meals
- Streamlit UI → Chat session: stores chat state
- Streamlit UI → Nutrition prompts: reads prompt text
- Streamlit UI → Gemini API: creates chat
- Streamlit UI → Gemini API: sends meal input
- Gemini API → Streamlit UI: returns response
- Streamlit UI → Meal estimates: displays estimate
- Streamlit UI → Gemini API: requests summary
- Gemini API → Meal summary: returns summary text
- Streamlit UI → Twilio API: sends summary
- Twilio API → WhatsApp recipient: delivers message