# Cara Cartolina > An AI-powered Italian language practice app where you chat with Francesca, a warm Florentine friend, about your travel photos and any topic you're curious about. She corrects your Italian gently as you go. ## What it is Cara Cartolina is a web app for intermediate Italian learners. Users share their holiday photos from Italy, and Francesca — an AI persona powered by Google Gemini — chats with them in casual Italian about what they saw, where they went, and the history behind the places in their photos. She's not a textbook tutor: she's a conversational partner who naturally weaves grammar corrections, vocabulary, and cultural context into a flowing chat. ## How a conversation works 1. **Pick a photo** — Upload your own travel pictures (drag-and-drop or via Google Photos import), or choose a piece from Francesca's curated Italian art gallery. Tap a thumbnail to start chatting about it. 2. **Talk about anything** — While photos are the spark, conversations can drift anywhere: food, history, plans for your next trip, your family, your day. Francesca follows your interest. 3. **Get gentle corrections** — When you make grammar mistakes, Francesca rephrases your sentences naturally and points out patterns you struggle with, without breaking conversational flow. 4. **Build vocabulary as you go** — Click any Italian word in Francesca's responses to see an instant Lithuanian translation in a tooltip. Words you look up frequently are saved to your personal dictionary. 5. **Translate full phrases** — Highlight any sentence or phrase from Francesca's response and get a translation of the entire selection — useful when a word-by-word breakdown isn't enough. 6. **Speak instead of typing** — Push-to-talk voice mode lets you have spoken conversations with Francesca, who replies with a warm Florentine voice via Gemini TTS. ## Key features - **Photo-driven conversation**: Upload your travel photos or browse Francesca's curated gallery of 24 Italian masterpieces (Renaissance to Baroque). Francesca identifies locations, shares local legends, and asks engaging follow-up questions about what she sees. - **Open-ended topics**: While photos seed conversations, you can talk about anything — cooking, music, history, your day, future trips. Francesca adapts to wherever your curiosity goes. - **Live grammar correction**: Francesca catches mistakes in your Italian and gently rephrases them, surfacing patterns over time so you learn from your own errors. - **Click-to-translate vocabulary**: Tap any Italian word in chat for an instant Lithuanian translation. Frequently-looked-up words are automatically added to a personal vocabulary sidebar, sorted by lookup count. - **Sentence-level translation**: Highlight any portion of Francesca's responses to translate the full phrase in context — beyond what single-word lookups can explain. - **Voice mode**: Push-to-talk voice chat with Francesca using Gemini TTS. She speaks with a warm Florentine accent and adjusts pace when teaching new words. - **Italian art gallery**: Browse Francesca's personal collection of 24 masterpieces. She talks about each piece as a proud curator — sharing insider knowledge and connecting works across her gallery. - **Curiosita**: A browseable collection of 122 fun facts about Italian culture, history, and language to spark new conversation topics. - **Italian-Lithuanian bridge**: Francesca knows Lithuanian and naturally points out fun parallels between the two languages. - **Persistent memory**: Francesca remembers past conversations, your name, vocabulary you've struggled with, and topics you care about — context survives across sessions. - **Google Photos import**: Pull photos directly from your Google Photos library. ## Languages Currently Lithuanian → Italian only. The conversation is in Italian, translations and grammar explanations are in Lithuanian. ## Who it's for Lithuanian speakers learning Italian at an intermediate conversational level — people who can hold a basic chat but want to improve fluency, vocabulary, and grammar through real conversation rather than drills. Originally created as a birthday gift. ## Tech stack - **Backend**: Python, FastAPI, asyncpg, PostgreSQL - **Frontend**: Vanilla HTML/CSS/JS (no framework) - **AI**: Google Gemini (3.1 Pro, 3 Flash, 2.5 Flash TTS) via Vertex AI - **Auth**: WorkOS AuthKit - **Hosting**: Google Cloud Run with Cloud SQL and GCS ## URL https://caracartolina.com ## Contact Built by Vinga. Source is private.