First of all, I apologize to the admin and everyone because this article is a bit advertising.
Following up on the feedback assistant I posted earlier, I’ve been working on a related project that takes the core idea further. It’s called ChatGPT Deutsch, and it’s aimed at enabling structured, native-language interaction with GPT for German-speaking users.
While the initial app focused on summarizing survey feedback, this one is more of a general-purpose assistant — but designed specifically for German input/output and structured tasks like drafting emails, clarifying documents, or even generating responses in certain styles (e.g., formal/informal, technical/neutral, etc.).
Why I built it
A few non-English-speaking users (friends and internal testers) were hesitant to interact with “just a chatbot”, especially when they had to think in English. So I thought: what if I wrap GPT in a UI that not only speaks German fluently but also guides the conversation around common tasks? That led to a much more usable and predictable experience.
What it does
- Provides several “modes” (e.g. summarize, explain, translate, rewrite)
- Users can choose tone/formality (Du/Sie, locker/formell, etc.)
- Keeps prompt logic in the backend for consistency
- Includes logging to track performance (and prompt success/failures)
How I built it
- The frontend is 100% Anvil — I reused parts of the interface from the feedback tool
- Server modules manage structured prompts and API calls to OpenAI
- Uplink handles scheduled tasks and batch runs (still testing background task alternatives)
- All content is dynamically switched based on user language (German/English fallback)
Questions I’m still working through:
- What’s the best way to store reusable prompt templates for different tasks?
- Has anyone integrated a proper stateful conversation (multi-turn memory) with GPT in Anvil?
- Is it worth using a caching layer to avoid duplicate prompt calls for the same input?
I’d love to hear how others have handled similar cases, especially when localizing AI interfaces or dealing with prompt complexity.
Happy to share a demo or the component structure if anyone’s interested.