Building Todochi for iOS and Android From a Shared React Native Codebase

Building Todochi for iOS and Android From a Shared React Native Codebase

Just days after our app, Todochi, was released on the Google Play Store, we finally got another milestone checked off our list:Todochi is now available on the App Store too!From a simple idea, to meetings, to turning that idea into an actual plan, to weeks of development, testing, fixing bugs, and finally shipping. Now, we somehow made it here.And the interesting part? We're first-time developers.We didn't have years of experience building and publishing mobile applications. We had to learn a lot of things along the way, from mobile development and app permissions to deployment requirements and even marketing.So how did we manage to build and ship Todochi on both Android and iOS in roughly a month? Well, it definitely wasn't perfect.In this article, we'll share the strategy, tools, and tech stack we used to turn Todochi from an idea into an app available on two of the biggest mobile platforms. If you're also a beginner developer thinking about building your first app, we hope some of what we learned can help you get started.Our Tech StackOne of the biggest lessons we learned while building Todochi was that you don't need to know everything before you start.There were plenty of things we didn't know how to do. Instead of getting stuck for days on every unfamiliar problem, we relied on documentation, developer tools, AI assistants, and a lot of trial and error.Here are the tools that helped us get Todochi from our computers into people's phones.Claude CodeClaude Code became one of our most trusted development assistants.Whenever we encountered a roadblock that we couldn't immediately solve ourselves, we'd use it to investigate the problem, explain unfamiliar concepts, and help us figure out possible solutions. This was especially useful when dealing with parts of mobile development that were completely new to us.For example, we had to deal with things like iOS requirements, alarm behavior, permissions, notifications, and platform-specific configurations. Claude Code didn't magically solve everything for us, but it gave us a way to explore unfamiliar territory much faster.Our tip for beginners: If you have time. don't treat AI as something that writes your entire application for you. Use it as a guide. Ask it why something works, what a piece of code does, and what alternatives exist. You'll learn much more that way.ChatGPTChatGPT was our other AI assistant and often our second opinion whenever we were stuck.Aside from helping us with development, we also used it for things outside of coding, particularly planning, brainstorming, writing, and creating voice line scripts.For a small team, having an extra tool that could help us think through an idea or look at a problem from another perspective was incredibly useful.React NativeWe used React Native as the foundation of Todochi's mobile application.Since we wanted Todochi to run on both Android and iOS, React Native allowed us to build the application using a largely shared codebase rather than developing two completely separate apps.For a small team, this was a huge advantage. Instead of maintaining one Android application and an entirely separate iOS application, we could share most of our application logic and UI while still handling platform-specific requirements when necessary.ExpoWe used Expo alongside React Native to simplify the development and deployment process.Expo provided tools and services that made working with a cross-platform mobile application significantly easier, especially for us as beginners. It also helped us handle parts of the development process that we didn't want to build from scratch.That said, we learned an important lesson here: Cross-platform development doesn't mean you can completely ignore the differences between platforms.Android and iOS still have different requirements, behaviors, permissions, and publishing processes. Expo made many things easier, but we still had to understand what each platform expected from us.RevenueCatWe used RevenueCat to manage Todochi's paywall, subscriptions, and access to premium features. This saved us from having to build and maintain the entire subscription infrastructure ourselves.As first-time developers, handling subscriptions across both Android and iOS sounded intimidating. RevenueCat gave us a way to manage the differences between the two platforms while keeping our implementation relatively straightforward.Our tip for beginners: If your app needs a service that is already well-established, consider using a specialized tool instead of building everything yourself. Your time is often better spent improving your actual product.Visual Studio CodeVisual Studio Code was our main development environment. It is simply the place where most of our code came together.For beginners, we'd recommend keeping your development environment simple. You don't need an extremely complicated setup to start building something useful.ElevenLabsThis is our secret weapon. ElevenLabs gave Todochi its first words.Since Todochi is designed around making reminders feel more personal, we wanted its notifications and interactions to have a little more personality than the typical reminder app.ElevenLabs allowed us to generate the voices we needed for Todochi and helped us turn what could have been a simple reminder system into something that feels more alive.For us, this was one of the technologies that helped define the personality of the app.FirebaseWe used Firebase for the backend services Todochi needed.As a small team, using a managed backend meant we didn't have to spend a huge amount of time building and maintaining our own infrastructure from scratch.This let us focus more of our time on the actual application and user experience.For beginner developers, managed services can be extremely useful. You don't always need to reinvent the infrastructure behind your application before you can build something meaningful.GitHubFinally, there's GitHub. GitHub was where we kept our source code and, more importantly, where we collaborated with each other. When you're working with multiple developers, version control becomes incredibly important.We made plenty of mistakes during development. Having our work tracked through Git meant that we could experiment, work on different features, and recover from mistakes without completely destroying the project.If you're a beginner developer working on a team, learn Git early.You don't need to know every advanced Git command. Understanding commits, branches, merging, and how to recover from mistakes will already take you a long way.What We LearnedLooking back, our biggest advantage wasn't that we knew exactly what we were doing. We didn't.Our advantage was that we were willing to figure things out. There were plenty of moments when we encountered something unfamiliar and thought, "How are we even supposed to do this?" We searched documentation. We asked AI. We experimented. We broke things. We fixed them.And eventually, Todochi shipped.Building an application as a beginner can feel intimidating because there are so many things you don't know yet. But you don't need to know everything before you start. You just need to be willing to learn the next thing. And eventually, you might find yourself with an app sitting on both the Google Play Store and Apple App Store.That's exactly what happened to us.What's Next for TodochiShipaton isn't over yet! We're still looking for ways to improve Todochi and make it more useful and appropriate for our users. Here are some of the tools and features we're looking to explore next.OneSignalWe plan to use OneSignal to improve how we handle push notifications and campaign notifications for Todochi. We want to explore using it for things such as notifying users about important app updates, new features, and other announcements.Notifications are especially important for an app like Todochi because reminders are at the heart of the experience. We want to make sure that notifications are useful without becoming annoying or overwhelming for our users.We're still exploring the best way to implement this, so this is one of the technologies we're looking forward to experimenting with as Todochi continues to grow.Google CalendarAnother feature we're planning to explore is Google Calendar integration. We want Todochi to be able to sync with a user's Google Calendar, allowing their existing schedules and events to work together with Todochi's reminder system.The goal is to make Todochi fit more naturally into the tools people already use instead of requiring them to manually recreate their entire schedule inside the app.We're still working on how we want this integration to work, but we're excited about the possibilities it could bring to Todochi.Final ThoughtsBuilding Todochi has taught us that being a beginner doesn't necessarily mean you have to wait until you're "ready" to start building something. We certainly weren't experts when we started.We learned as we went, made mistakes, asked for help, experimented with new tools, and kept moving forward.There were definitely moments when we questioned whether we'd actually be able to ship the app in time.But now, Todochi is available on both Android and iOS.If you're a beginner developer thinking about building your first application, our biggest piece of advice is simple:Start building.Question for the expertsIf you're an experienced developer, what tools or technologies would you recommend adding to our tech stack?We're still learning, and we'd love to hear from developers who have been through this before. Whether it's a tool that could improve our development workflow, testing, analytics, backend, or anything else, we're all ears!

Original Source

Read the full article at Hackernoon →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.