Sri Satyanarayana Temple App
Inspiration
I grew up around the Sri Satyanarayana Temple community and noticed that important information was spread across announcements, messages, flyers, and word of mouth. People could easily miss an event, struggle to find volunteer opportunities, or have to search through several places just to make a donation. I wanted to create one simple app where community members could stay connected to the temple without needing to understand any complicated technology.
What it does
The app gives community members one place to:
- View upcoming events and announcements
- Access a temple calendar
- Make donations
- Register for volunteer opportunities
- Find the temple through integrated location services
- Receive updated information through real-time data
- Allow administrators to manage community content
The app has grown to serve more than 500 community members.
How I built it
I built the app with React Native and Expo so it could work across mobile platforms from one codebase. I organized the interface into reusable screens, navigation elements, forms, and components instead of creating each feature separately.
Firebase handles authentication and real-time data, while Stripe supports donations and the Google Maps API provides location services. I also added client-side validation so incomplete or incorrect information could be caught before being submitted.
I used Claude Code during development to accelerate repetitive implementation work, but I still made the architectural decisions, reviewed the generated code, tested each workflow, and adjusted the product based on the temple’s needs.
Challenges
The hardest part was starting with requirements that were not written like traditional software specifications. Temple leaders knew what problems they wanted solved, but not necessarily what screens, database structure, or user flows the app needed. I had to turn conversations and general ideas into concrete features while keeping the app simple for users with very different levels of technical experience.
Another challenge was separating administrator functionality from the experience of regular community members. Administrators needed to update events and information easily, while users needed a clean interface without unnecessary controls. This pushed me to think carefully about authentication, permissions, reusable components, and how information should move through the application.
Integrating several external services also created reliability challenges. Authentication, payments, maps, and real-time data each behaved differently, so I added validation and tested the complete workflows instead of assuming that each individual integration working meant the entire app worked.
What I learned
This project taught me that useful software begins with listening. The most technically impressive feature does not matter if people cannot understand or trust it.
I also learned how to take a project from a vague idea to a working product: gathering requirements, designing the data structure, building reusable components, integrating external services, testing real user flows, and preparing the app for launch. More than anything, seeing people in my own community use something I built showed me how personal and meaningful software engineering can be.
Built With
- css
- instantdb
- javascript
- typescript
Log in or sign up for Devpost to join the conversation.