Launching EventSwipe - The story
Jakob Bjelvér
Aug 16, 2024 • 5 min
There's an app for that
From now on, there absolutely is an app for everything. EventSwipe is the app to go to if you want to find and decide on what events to attend with friends. It features an intuitive swiping interface that matches your likes with your friends'. It's free to use and as easy as ever to get started—no account is needed, just a profile for your friends to recognize you.
Now available for iOS and Android: EventSwipe Download
Inspiration and Journey
Enough about the sales pitch. After all, I am a developer, not a salesperson. Instead, let me tell you about my inspiration and journey for this project.
Mobile devices have recently been evolving in fascinating ways. While the design and basic functionality of smartphones have remained practically the same for years, they are more important than ever before. More people are using these little pocket computers for everyday tasks previously only possible from a PC, and on-device AI offers exciting opportunities for new functionalities that have recently only been available in the cloud. A while ago, I explored the use of PWAs (Progressive Web Apps), a promising technology that allows web apps to be installed on smartphones to move out of the browser and provide a more native-like experience. Although it's an efficient way to get an existing web app to the home screen of mobile devices, it's still web-based and limited by those boundaries. In comparison, native app development offers a much closer connection between the app and the mobile device hardware and OS, leading to various improvements in terms of performance and functionality.
The Idea
Now it was time for me to come up with an idea. I wanted something unique and fun, something that I would want to use myself. While the Tinder-like swiping interface is not unique, there are no existing apps that let you swipe on events. And what about the events? As I did not find any sufficient APIs for this, I turned to perfectly legal client-side web scraping of public events. This leads to a great variety and sufficiency of data while also eliminating the risk of poor first-party user-generated data. But "matching" with public events has no point, so I introduced the functionality to create and join groups. It allows members of the same group to match on events they like in common. Ultimately, this allows the user to match their preferences with other users, which makes it easy to decide on what events to attend together.
Technical Details
As for the technical details, using the React Native + Expo tech stack was not a tough choice to make. While I personally endorse Android's Kotlin language as a respectable Java replacement, learning iOS's Swift was never an option for me as a long-standing critic of iOS in general. Along the way, I have found amazing open-source libraries to complement my tech stack. Compared to the web, limited by its JavaScript dependency (which is actually quite a slow language), native libraries can be written in languages like C, utilizing the full performance of the mobile device. Generally, I find native mobile apps to be much smoother because of this. To see React Native support continuing to evolve, even since Meta dropped the official support for it, is amazing. EventSwipe utilizes many third-party SDKs like Sentry, RevenueCat, Google AdMob, and Firebase for everything from analytics and native advertisements to in-app purchases and so on, and my experience with the documentation and community support has been more than great. All of this while writing in TypeScript—what a time to be alive.
Challenges
This is not to say that my journey has been a smooth ride all along. Developing complex projects like this while using abstracting wrappers and frameworks can sometimes lead to a lot of detective work. Patching libraries, editing native source code, and getting all the necessary permissions for the ever-evolving privacy regulations on iOS and Android have sometimes led to a lot of headaches. And having been rejected by the App Store 7 times (yes, 7 times) because of Apple's unstable App Review sandbox environment until I was able to prove it to the reviewers was not a dance on roses. Not all bugs are fun to catch, but if you are passionate about your work, it's more like bringing out the magnifying glass and putting on the Sherlock hat rather than it being a daunting task.
Design and User Experience
While I do not see myself as a UI designer, I do see myself as an all-round developer, which does include messing with colors and shapes every now and then. Anyway, I think I did a pretty good job for being a novice in Figma. And as for the UX, I have some pretty strong opinions. Being able to use the app right away without an account, dark mode functionality, direct client-to-database connections for fast network speeds, app deep links for easy sharing and external routing, and native non-disruptive advertisements (not to mention annoying popups and notifications) are all no-brainers for me.
Legal and Administrative Hurdles
One thing that I do not believe pertains to a developer is the huge amounts of legal paperwork that the app stores (especially Apple's App Store) require. And I am not counting DevOps in the store consoles. Being a solo developer, you have to learn all this, as there often is no one-size-fits-all solution to copy from the Internet. Mostly it's about tax declarations and privacy regulations, but for someone in the IT industry, a lot of this could be Greek to me for all I know. I know most of this derives from politics protecting consumers, but it seems like a lot of this could be automated. But with some help from a close friend and a lot of research, it all worked out.
Finally
In the end, I have learned a lot. And by being able to use my existing knowledge in web development, I think I actually managed to accomplish something. So for those of you who are still reading, go ahead, try EventSwipe, and please tell me what you think.