Project Info

Stepli

Devpost

🌱

Inspiration

Stepli started with my mother. I saw how easily everyday phone tasks can become frustrating when an app feels unfamiliar. My mother, like many older adults, sometimes needs help ordering food, booking a ride via Uber, sending a WhatsApp message, posting on Instagram, or finding a video on YouTube. The problem isn't intelligence. It's digital confidence. I wanted to build something that feels like a patient person sitting beside her. Something calm, clear, bilingual, and never in a hurry. Stepli explains one step at a time so people can learn how to complete tasks on their own instead of relying on someone else for every small thing. Why this matters in Pakistan Stepli is especially meaningful to me because digital access, literacy, language, and confidence are not the same for everyone in Pakistan. Pakistan's 2024 to 2025 Household Integrated Economic Survey reports a 63% literacy rate for people aged 10 and above. The gap is still significant. Literacy is 73% for men and 54% for women, while urban literacy is 74% compared with 55% in rural areas. Provincial rates also vary, ranging from 68% in Punjab to 49% in Balochistan. Source: Pakistan Bureau of Statistics, HIES 2024–25 Digital access is also uneven. The same survey reports that only 50% of people own a mobile phone. Ownership is 69% for men and 39% for women, with another gap between urban (58%) and rural (44%) communities. Internet usage is also lower in rural areas at 49%, compared with 69% in urban areas. Source: Pakistan Bureau of Statistics, HIES Not everyone is comfortable using English language apps, unfamiliar icons, or complicated digital flows. Stepli is my attempt to make everyday technology easier to understand with simple Urdu and English guidance, voice support, and calm step by step instructions. ✨

What it does

Stepli is a bilingual Android accessibility companion that helps people complete unfamiliar tasks in other apps, one calm step at a time. It is not limited to Foodpanda. Ordering food is just one guide. Stepli is built to support as many guides as needed across different apps and everyday tasks. Stepli also lets users create their own guides for other apps and tasks. They can record step by step instructions, add descriptions, then publish those guides so other Stepli users can discover and use them. The current built in guides include: Ordering food with Foodpanda Posting a photo on Instagram Sharing an Instagram Story Sending a WhatsApp message Searching for a video on YouTube When a guide starts, Stepli opens the selected app and shows a soft, movable instruction card on top of it. It explains the current step and highlights the next likely button or field whenever it finds it. The user always stays in control. Stepli never taps, types, scrolls, sends messages, chooses payment methods, or places orders. If voice guidance is enabled, users can press Read this step to hear the instruction again. The instruction card can be moved, minimized into a small floating bubble, or closed whenever the user wants. Every step can be confirmed manually if an app screen looks different. Users can choose either English or Urdu. I intentionally kept the interface gentle and easy to understand, with large readable text, friendly colors, clear buttons, and a small Stepli mascot so it feels supportive instead of technical. 🛠️ How I built it I built Stepli using React Native, TypeScript, Kotlin, and Android accessibility tools. React Native powers the main app experience, including onboarding, language selection, permission education, settings, guide browsing, voice tours, guide creation, and completion screens. I designed the interface to feel calm and beginner friendly, with separate English and Urdu content throughout the app. The guide system is completely data driven. Every guide contains an ordered list of steps with: Instruction text Confirmation text Optional voice narration Lightweight matchers for visible labels, content descriptions, or resource IDs The Android package name of the selected app Because of this structure, I can add new guides without changing or rebuilding the core application. On the Android side, I built a Kotlin AccessibilityService that watches only the app selected by the active guide. When it finds the expected control, it draws a visual highlight around it. I also created a native floating overlay using Android's WindowManager, allowing Stepli to stay visible while users interact with another app. I added English and Urdu text to speech support, including guidance for devices where Urdu voice data is not installed. I also built the foundation for user created guides so Stepli can continue growing into a larger library of helpful walkthroughs. Codex helped me throughout development by refining the user flow, connecting React Native with Kotlin, structuring the guide system, and improving the accessibility and privacy experience. I worked with Codex across multiple chats, using it like a team of specialists to solve different parts of the project instead of keeping everything in a single conversation. ⚡ Challenges I ran into One of the biggest challenges was creating guidance without taking control away from the user. For sensitive tasks involving payments, addresses, messages, and orders, I never wanted Stepli to perform actions on someone's behalf. Instead, I designed it as a teaching and support tool rather than an automation tool. Another challenge was building an overlay that stays above another app without blocking user interaction. I solved this by separating the instruction card from the highlight layer. The highlight layer does not receive touch events, so users can continue interacting naturally with the app underneath. Apps also change depending on the country, app version, promotions, and individual user accounts. For example, Foodpanda may display different location or promotion screens. To handle this, I added multiple possible UI matchers along with manual confirmation buttons for every step. Supporting Urdu involved much more than translating text. I had to think about readability, natural wording, right to left layouts, and Android text to speech support. Some devices, especially those using Samsung Text to Speech, do not include an Urdu voice by default, so I added guidance for switching to Google Text to Speech. My original vision was an LLM powered screen analyzer and assistant that could understand any app screen dynamically. Unfortunately, I could not continue with the LLM or agent based approach because I did not have access to the required OpenAI API keys and runtime support. Instead of giving up on the idea, I built the current manual, data driven guide system. It already provides reliable bilingual step by step guidance for real everyday tasks. The GPT 5.6 powered version is still something I want to build in the future, but it is not part of this submission. The submitted app does not use GPT 5.6 or any other runtime LLM. 🏆 Accomplishments I'm proud of I'm proud that Stepli became more than just an idea. It is a working Android accessibility experience built to help people with real everyday tasks. Some of the things I'm most proud of are: Building a complete bilingual English and Urdu experience. Creating guides for multiple apps instead of only Foodpanda. Designing a data driven system that can easily grow with new apps and workflows. Building a native Android overlay that stays visible above other apps. Creating a visual highlighting system without blocking user interaction. Adding voice guidance along with a Read this step replay feature. Keeping Stepli privacy conscious and read only. Designing a gentle interface for people with low digital confidence. Making sure users stay in control of every important decision. More than anything else, I'm proud that I built something that could genuinely help my mother, and people like her, feel more confident and independent while using technology. How Codex helped I was already familiar with React Native, but Kotlin and Android Accessibility Services were new to me. Codex helped me understand and work with these areas while building Stepli, including the accessibility service, floating overlay, permission flow, and touch-through visual highlights. It also supported me with the bilingual English and Urdu experience, Supabase community-guide flow, Android troubleshooting, and making the app easier for beginners to use. 📚 What I learned This project taught me that accessibility is about much more than making a feature work. It is also about confidence, trust, dignity, language, and giving people enough time to understand what they are doing. I learned how to connect a React Native app with Kotlin based Android code, build an AccessibilityService, manage Android overlays with WindowManager, create non blocking visual highlights, and send native accessibility events back to the React Native interface. I also learned that multilingual accessibility requires thoughtful design. Simply translating text is not enough. Instructions need to sound natural, reassuring, short, and easy to understand in the user's preferred language. Most importantly, I learned that helping someone does not always mean doing the task for them. Sometimes the best support is simply giving them the confidence and guidance to do it themselves. 🚀

What's next

Stepli is designed to keep growing. I plan to add more guides for everyday tasks, including: Booking rides Paying utility bills Shopping online Booking hospital appointments Using government service apps Learning more social media actions I also want to improve Urdu voice support, add more languages, test the app with more older adults, and make the interface even more accessible for people with low vision or limited digital confidence. In the future, once I have the right API access, privacy safeguards, and clear user consent, I want to revisit my original idea of building an LLM-powered screen understanding agent that can understand what's on a user's screen and provide contextual assistance. That would allow Stepli to adapt to changing app screens and guide users through an even wider range of apps while always keeping the user in control.

Analysis

Compare with all teams

View

Metric

Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.

Technology

Found in codeClaimed only
  • JavaScriptIn code
  • KotlinIn code
  • ReactIn code
  • SQLIn code
  • SwiftIn code
  • TypeScriptIn code

6 of 6 appear in the indexed code.

AI coding agents

No AI coding agent signals were found in this repository.

Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.

Codebase size

Source size

221 KB

Source files

64

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars