I'm building yet another language translator app. Am I crazy?
Yeah, I know. There are hundreds of translator apps out there. Why bother building yet another one?
Because I’ve found that they all suck at helping me navigate day-to-day life in a foreign country where I’m trying to learn the language.
Don’t get me wrong. The apps that are currently out there are amazing for some use cases. Take Google Translate for example. I’ve been moving around the world (well, mostly Europe and Asia) for the past 16 months. When I’m in places where people don’t speak much English, Google Translate has been a life-saver.
I’ve had many conversations over the past year entirely through Google Translate. I type a sentence into my phone and show the translation to the person I’m talking to. That person types a response into their phone and shows me the English translation. Rinse and repeat.
While this has been incredibly useful, I never learned anything about the languages I was conversing in. I spent 3 months in Thailand this year and can’t say anything beyond “hello” and “thank you”. The translator has been purely a communication tool, not a learning tool. But that was fine. I never felt like the language barrier was strong enough to motivate me to learn another language. Everyone I encountered in Europe and Asia either spoke passable English or seemed used to pulling out an app to communicate with English speakers.
My first real language barrier
That all changed when I got to Mexico City. I got a little burned out moving around every few weeks, so my fiancée and I decided to get an apartment for 3 whole months in Mexico City. And not in a part of the city someone would typically visit. We’re in a cute little local neighborhood, away from anything I would consider “touristy” or “luxury”. Basically, there aren’t many English speakers where we live.
Living here has been a vastly different experience than anywhere else I’ve been. This is the first place where I’ve ever felt a lot of friction in day-to-day life by not speaking the local language. While that can be very overwhelming, it’s also the best possible motivation to finally learn another language.
So… time to learn Spanish.
I have a bit of a base from taking Spanish classes in school when I was young, so I’m not starting completely from scratch. I know some words and I have a gist of the grammar, but not nearly enough to get by in day-to-day conversations. But I want to have those conversations. I’m trying to learn enough to get by in this country without constantly shoving a translator app in people’s faces.
Multiple times a day, I find myself going back to my old friend Google Translate. But my use case is different now. I often know a bit of what I’m trying to say, and I’m just looking for a translator to fill in the gaps. This may seem like a subtle distinction, but in practice, it really makes a difference. Google Translate falls flat now. When I’m not providing it with complete sentences and thoughts, it has no idea what I’m trying to say and often spits out nonsense.
Let’s hone in on two examples, both relating to ordering food.
Scenario 1: “to go”
One thing I need to do in day-to-day life is order food “to go”. I know how to say which tacos I want. I know how to say how many I want. I know how to ask for the price. I just don’t know how to say I want to order them “to go”. No problem! While I’m in line at the taco stand, I’ll just quickly have Google Translate figure it out for me…
Not super helpful. The main translation is telling me how to say the verb, as in “I need to go to the store”. The smaller, bottom definition is correct, but how would I know that? I could go back-and-forth with the translator, changing the prompt to something like “take away”, which I’ve learned is the more common phrase among English speakers in some other countries. This gets me closer to what I want (“llevar”), but not fully there. I could edit my prompt again to “tacos to go”, which then gives me the exact phrase I’m looking for (“para llevar”). But there are two issues here:
- Google Translate doesn’t give me enough detail to make me aware which translation is correct. If I asked for “tacos ir”, I’d sound completely crazy.
- Even if I knew that I needed a different translation, there should be an easier way to add context to get to the correct translation. This is a pretty simple example, but sometimes I need to edit the English version 3 or 4 times to get what I’m looking for, then verify that it makes sense using other methods.
Scenario 2: “the check”
Here’s another pretty simple example. Let’s say I dine in at a restaurant and want to pay. A common phrase in English would be to ask for “the check”. Let’s try that one.
El cheque. That’s not the check at a restaurant. That’s what you’d get from your bank to send money to someone. If I asked for “el cheque” at a restaurant, some people might know what I meant, but I’d still sound foolish. And once again, I have no way of knowing from this screen alone that I’m looking at the wrong translation.
These might seem like two cherry-picked examples, but I promise you, there are many times every single day where I get frustrated with Google Translate when trying to fill in all these knowledge gaps.
Okay, so maybe Google Translate isn’t the best tool to handle all these micro-translations. It’s great at translating complete thoughts, but not very good at translating half a thought.
So let’s look at another tool: an English to Spanish dictionary. Doing a quick search leads me to spanishdict.com. Maybe that will be more useful.
English to Spanish dictionary
When I search “to go” on this website. It gives me exactly what I’m looking for… and a whole lot of noise. There are literally 36 definitions/translations of “to go” on this site, and the one I need is sitting way down on the bottom at number #35. No way in hell I’m going to scroll through all that to find what I need.
This website is great in a lot of ways though. For each definition, it explains the meaning and uses it in a sentence. Not only do I learn a lot when looking something up on this site, but I can also be confident that the translations I’m pulling into my conversations actually make sense. When I click a word, there’s a helpful visual pronunciation guide.
To this website’s credit, it does have a “usage note” near the top of the page pointing me to the correct “para llevar” translation. But it’s somewhat limited. I can’t click it and see any more context, or how to pronounce it. I have to scroll down to definition #35 to do that.
Maybe our other example phrase will yield better results.
Nope. The initial screen gives me no indication at a glance that I have the wrong definition. It’s better than Google Translate because the information I need is there if I scroll past the fold. It’s just not a great experience when I need to do this constantly.
Learning the language from the ground up
Okay, so maybe I need to learn the language from the ground up. There are plenty of resources out there. Classes. Audio guides. Duolingo. And yes, I am using a combination of these resources on a daily basis. And they’re helping. But it’s going to take months before I know enough to interact with people in the real world.
By being one-size-fits-all, these resources aren’t going to quickly teach me the phrases that I personally need on a daily basis. I’ve had the words “bolígrafo” and “biblioteca” drilled into my brain, but I’ve literally never needed to ask for a pen or for directions to the library in a foreign country. I care way more about how to ask for my food to be spicy (“picante”), which isn’t a high priority word in general language learning resources.
I want something more comprehensive than a translator, more intuitive than a dictionary, and more on-the-fly than a course.
ChatGPT to the rescue
There is one tool out there these days that does almost exactly what I want: a large language model. I’ve mostly been using ChatGPT with GPT-4, but you could probably substitute it for any good LLM chatbot.
ChatGPT has been amazingly helpful in helping me have simple conversations around Mexico City. Let’s take a look at how it does with our previous two examples…
Boom. I got the correct translation on the first try for both of them. For “to go”, there still wasn’t enough context to know that it was using the correct definition, but I could have easily asked that as a follow-up question. For the “the check”, I got everything I needed without explicitly asking for it.
Nowadays, I’m using ChatGPT all the time to fill in my Spanish knowledge gaps, and it’s been far better than any other tool I’ve tried to use. The problem is that it’s so damn tedious. Typing out the prompts takes longer than actually comprehending the answer. All the information I want is tucked inside this LLM, it’s just unintuitive to pull it out in situations where I’m on the go. If only there was an app that packaged this up in a way that was far more intuitive.
Finally, an idea! 💡
Like I said, I’ve been traveling for the past 16 months. During that time, I’ve been working on a combination of personal projects and freelance work. In my mind, my best-case scenario for myself was that I come up with an app idea, build it, and profit off it enough to sustain my lifestyle. Unfortunately, that never happened. I never had an idea that I felt I could convince enough people to actually use and make money off of it. I’ve been spending most of my time recently iterating on Everyone Draw, a passion project with almost no profitability potential.
But now, I have an idea that solves a real problem in my own life. And if I have this problem, others must too, right?
My first thought was “this has to already exist”. Hell, I’d easily pay $10-20/month if I found a tool that did what I want, and did it really well. I pay roughly that much to learn a bunch of words I’ll never use on Duolingo. (I should probably go back to the free version.) So I searched. And I searched some more. And I couldn’t find anything. Everything I found was either optimized for learning a language from the ground up, or for literal translations of text. I haven’t found anything optimized around the use case of being in a country and wanting to learn things on the fly in order to speak to people.
So I’m going to build it. Best case, it helps other people and becomes profitable. Worst case, I have a better tool to help me learn Spanish and get a ton of experience building an AI-powered app.
Even the worst-case scenario sounds pretty damn good.