Inspiration
We realized how easy it is to stay digitally connected while being physically isolated. We built this app to bridge that gap—using technology not to keep people on their screens, but to pull them out into the real world to explore, discover, and connect with friends in person. We were inspired by games like Elden Ring, Dark Souls, and Where Winds Meet, where players are able to leave a variety of messages, both funny and helpful, in their respective game worlds to give more life and assistance to players as more experienced players get to leave tips to less experienced players. Inspired by this, we wanted to bring this feature to the real world to encourage users to explore the physical world on top of learning and providing insight to special pockets across the globe.
What it does
ReadNote allows users to create pins across the world and leave a variety of messages that others can pick up when they are in proximity to the pins. From sharing posts about your excursions, asking people about their hot takes through polls, or even asking what to do in the area through question threads, ReadNote allows users to leave a digital mark on the world and bring communities closer together. ReadNote allows users to add friends to each other, and highlights their posts over other users by being able to filter by friends. Additionally, ReadNote offers “fish points”, a karma system akin to Reddit, rewarding users by posting popular posts about their day.
How we built it
We began with a user-centric design phase in Figma, mapping out the UX and core functionality. Our frontend was built using React Native, TypeScript and CSS, ensuring a type-safe and responsive interface. For the backend, we developed a RESTful API using Node.js and Express, integrating secure user authentication and a scalable database architecture. Finally, we performed full-stack integration to sync our location-based features with our real-time data.
Challenges we ran into
As first-time mobile developers, our biggest challenge was mastering a new tech stack under pressure. We navigated a steep learning curve with TypeScript and React Native, transitioning from web logic to mobile architecture. Additionally, we successfully deployed our infrastructure on Vultr for the first time, which required us to quickly learn cloud instance management to ensure our backend was production-ready.
The biggest challenge by far was implementing Auth0. It was both of our backend developers' first times working with Auth0 authentication and Expo Go framework, and something we expected to be a quick patching together of API calls grew into a hours-long battle with tenant authentication, invalid callback URIs, and connecting frontend with the backend. Our persistence paid off when we finally logged in a user for the first time and got to see the API routes in action.
Accomplishments that we're proud of
As first-time mobile developers, our biggest challenge was mastering a new tech stack under pressure. We navigated a steep learning curve with TypeScript and React Native, transitioning from web logic to mobile architecture. We quickly learned that Figma does not translate well into responsive interfaces, and we later adapted our later drafts to account for the variety of screen sizes. Additionally, we successfully deployed our infrastructure on Vultr for the first time, which required us to quickly learn cloud instance management to ensure our backend was production-ready.
What we learned
Frontend
We learned about how to better design mobile applications. Since we wanted to be ambitious for both our frontend and backend implementations, it became quickly difficult for us to be able to efficiently code our frontend, including with the assistance of tools such as Figma Dev and Google Antigravity. With support from these resources, we learned the importance of being able to adapt our program. We learned a lot about React Native, mostly within styling to be able to help accomplish our vision from our Figma UX prototype.
Backend
We learned the importance of design-driven development. We designed comprehensive OpenAPI specifications for the backend, and whiteboarded data flow diagrams, architecture diagrams, and database schemas. By agreeing on schemas and implementations at the design level, we were able to leverage AI agents to code with minimal friction and parallel development. We only ran into a few minor merge conflicts despite making large simultaneous contributions to related code.
We also got experience using different types of databases. We used MySQL for relational user data and MongoDB Atlas for non-relational, geospatial note data.
What's next for ReadNote
We’re building for the long haul. Next on our roadmap is code optimization to ensure a seamless experience. We’re also introducing a new collection-based mechanic to reward exploration. Our end goal is to launch on the App Store, inviting our first wave of users to start discovering and connecting through our platform.



Log in or sign up for Devpost to join the conversation.