Ceri ⚡
Şarj Rehberi is an EV charging station guide for Turkey. Find stations, compare prices, plan routes. It started as a weekend project, got actual users, and eventually incorporated into a company. Classic scope creep, but the good kind (◕‿◕)
Ceri is the app’s AI voice assistant. Ask her where to charge, how much it’ll cost, whether a station supports your car’s fast charge speed. She’s not a generic chatbot wearing an EV skin — she actually knows where you are, what you drive, and what the prices look like right now.
This is a collection of write-ups about the interesting parts of building her. Not a tutorial, not documentation — just the problems that were fun to solve and too good to forget.
Why Not Just Call OpenAI and Be Done With It?
Most AI integrations are a text box and an API call. That works, but a charging assistant that doesn’t know your location or your vehicle is just a worse Google search (¬_¬)
Before any user message reaches OpenAI, Ceri builds a live context snapshot:
- Location — nearby stations within 10km, brand distribution, closest fast charger, DC/AC counts
- Vehicle — the user’s registered cars with range, battery, fast charge speed, efficiency
- Pricing — live per-kWh rates across networks, with campaign and discount flags
This gets injected into the system prompt — in the user’s language (Turkish, English, or German). The AI responds as if it knows the user’s situation, because it literally does.
Write-Ups
| Topic | What It’s About |
|---|---|
| Context Enrichment | How Ceri builds a live briefing from location, vehicle, and pricing data before every AI call — with the actual code that does it |
Şarj Rehberi is a production app with real users. The repo is private, but the patterns are worth sharing. ꒰ᐢ⸝⸝•‧̫•⸝⸝ᐢ꒱