← All posts

How I Translated Cheapta into Uzbek

I was coming back from a coffee shop when I ran into my friend Elyor. I told him that I had integrated an AI chat assistant into Cheapta.

He asked me, “Why is there only an English version of Cheapta?”

I explained that Cheapta's main target audience is students in Europe, where there are many low-cost airlines and relatively cheap flight options. Cheapta helps students discover affordable destinations and find cheap flight tickets.

Elyor asked why I hadn't tried targeting users in Uzbekistan as well. Flight tickets from Uzbekistan are relatively expensive, and there aren't as many low-cost airlines. He suggested translating Cheapta into Uzbek and promoting it on platforms such as Instagram through short videos.

I decided to give it a try.

From idea to implementation

I created an implementation plan using Claude Opus and then implemented it with Claude Sonnet. I used Gemini Pro to fix bugs along the way.

While implementing the Uzbek version of the website, I also improved several other parts of the application:

  • Removed unexpected train tickets from the data provider. As a side effect, flight searches became faster.
  • Improved map animations to provide a smoother user experience.
  • Improved analytics to better understand how many people use the web application, how many perform searches, and how many eventually click through to an airline or travel agency website.
  • Solved the hardest part of the translation: getting localized names for countries, cities, and airports from the data provider.
  • Added a Russian version of the website as a bonus. After implementing Uzbek, adding Russian was relatively easy.

What I learned about AI model costs

One of the more interesting things I learned while working on the AI chat assistant was how much caching can affect the cost.

I initially tried to reduce token usage by optimizing the system prompt. Then I discovered that the system prompt is cached, so cache-hit tokens are significantly cheaper than regular input tokens.

I also compared several models for the chat assistant and found that DeepSeek V4 Flash was the cheapest option for my use case. More than 74% of the input tokens were cache hits, which made the actual cost even lower.

This was a good reminder that optimizing an AI application isn't always about making the prompt shorter. Understanding how caching and pricing actually work can have a much bigger impact on the final cost.