{"version":"https://jsonfeed.org/version/1","title":"John Caleb","home_page_url":"https://thejohncaleb.com/","feed_url":"https://thejohncaleb.com/feed.json","author":{"name":"John Caleb","url":"https://thejohncaleb.com"},"items":[{"id":"i-think-we-get-success-backwards.mdx","title":"i think we get success backwards","url":"https://thejohncaleb.com/posts/i-think-we-get-success-backwards","tags":["personal","life","growth"],"summary":"I've been thinking a lot about how success actually works, and I keep coming back to the same idea.","content_text":"\nI've been thinking a lot about how success actually works, and I keep coming back to the same idea.\n\nI wonder if we give too much credit to the opportunity itself, when most of the work has already happened long before it arrives.\n\nQuick story: A few years ago, before I had my first software engineering job, I spent six to eight hours a day writing code. *Pre-AI era btw, :)* There was no salary, no deadlines and no one expecting me to show up. I was just building projects because I wanted to get better.\n\nThen, when I eventually landed a role that required me to code for roughly six hours a day, the adjustment wasn't difficult. Looking back, I think it was because I'd already been living that routine for months.\n\nIt makes me wonder if that's what preparation really is. Maybe it's not about getting ready for an opportunity. Maybe it's about quietly building the habits that make the opportunity feel familiar when it finally comes.\n\nI think the same idea shows up everywhere. Whether it's a career, a skill, a relationship or anything else, the pattern seems to be the same. The life you want usually starts with the habits and decisions of the person you want to become.\n\nMaybe success isn't something you step into overnight. Maybe, by the time it arrives, you've already been living close to it for a while.\n\n> \"Every action you take is a vote for the type of person you wish to become.\"\n>\n> James Clear - Atomic Habits\n","image":"https://thejohncaleb.com/og/i-think-we-get-success-backwards.png","date_published":"2026-07-17T00:00:00.000Z"},{"id":"why-i-built-translation-app-african-languages.mdx","title":"why i built a translation app for african languages","url":"https://thejohncaleb.com/posts/why-i-built-translation-app-african-languages","tags":["flutter","africa","language"],"summary":"The story behind Translag, a real time translation tool for African languages, and why this problem hits close to home.","content_text":"\nI grew up speaking English. My parents speak both English and native African dialects to relatives I barely understand. When relatives visit and the conversation switches to something I'm not fluent in, I just sit there smiling at my plate of rice :)\n\nThis isn't unique to me. Most people I know navigate multiple languages daily. Nigeria alone has over 500 languages. But most translation tools barely support two or three African languages, and the ones they do support are often hilariously wrong.\n\nSo I built [Translag](https://translag.live). A simple real time translation app focused on African languages first.\n\n## what it actually does\n\nYou type or speak in one language, it translates to another. Right now it covers a handful of major African languages. The UI is dead simple because honestly nobody wants to read a manual to translate something.\n\nI built it with Flutter on the frontend and C# on the backend. Flutter because I needed one codebase for both platforms and I was already comfortable with it. ASP.NET on the backend because it's what I use for most things and it's not bad at handling real-time stuff.\n\n## what i learned\n\nThe hard part isn't the code. It's the data. Good translation datasets for languages like Yoruba or Hausa just don't exist in the same volume as English or Spanish. Most available data is either too formal, too small, or scraped from random corners of the internet with questionable accuracy.\n\nAnother thing they don't tell you: African languages are tonal and context-heavy. A word in Yoruba can mean three different things depending on how you say it. Direct word-for-word translation doesn't cut it. You need to understand the sentence, not just the words.\n\n## why it matters\n\nThis isn't a startup pitch. I didn't build this to raise money or get acquired. I built it because the problem is real and nobody else was solving it the way I wanted it solved.\n\nThere are millions of people who switch between languages twenty times a day. Students studying in a language that isn't their mother tongue. Business owners negotiating across language barriers. Families where the younger generation doesn't speak the language their grandparents do.\n\nIf Translag helps even a few hundred people communicate better, that's a win. Everything else is extra ❤️.\n","image":"https://thejohncaleb.com/og/why-i-built-translation-app-african-languages.png","date_published":"2025-08-12T00:00:00.000Z"}]}