2025, Development
Role: Sole developer

Meet App

I created a serverless progressive web application (PWA) built with React. The app fetches event data from the Google Calendar API and was developed using a test-driven development (TDD) approach. To enhance the user experience, I also added data visualization features.

Key Features

  • Filter Events by City – Users can search for and display upcoming events in specific cities

  • Show/Hide Event Details – Expand or collapse event information on demand

  • Specify Number of Events – Let users control how many events are shown

  • Offline Support – Cached event data is available even without internet

  • Installable PWA – Users can install the app as a shortcut on mobile or desktop

  • Data Visualization – A scatterplot showing the number of events per location and a pie chart visualizing the popularity of event genres

Process

This project let me dive into modern web development practices by combining the scalability of serverless architecture with the offline capabilities of PWAs. By following TDD principles, I was able to focus on building reliable, high-quality code. To make the app more engaging, I integrated visualizations that help users quickly understand event data. I started this project by researching serverless architecture and progressive web apps, identifying the features that would make the app both scalable and user-friendly. I created user stories and test scenarios first, applying a strict test-driven development process to guide my coding. After setting up the React framework, I developed AWS Lambda functions to handle authentication and event retrieval, replacing the need for a traditional backend.

I then implemented the core features, such as filtering events, expanding event details, and specifying the number of events displayed. Once these essentials were in place, I enhanced the app with offline support and installability, turning it into a full-fledged PWA. To add depth, I integrated data visualization components that displayed events in scatterplots and pie charts. Finally, I performed extensive testing, ensured responsiveness across devices, deployed the app to GitHub Pages, and connected monitoring tools to maintain performance.

Previous
Previous

Safari

Next
Next

Cool Active