PlaceSpeak
Social Network Platform
During my school years, I had the opportunity to participate in the Industry Sponsored Student Projects (ISSP), where students and sponsors collaborate to develop software solutions. One of the projects I worked on was with PlaceSpeak, a Social Networking platform.
Before this project, PlaceSpeak had primarily focused on the Proponent-client side to establish its SaaS revenue model and gain sufficient customer traction to self-sustain but needed to strengthen the Participant-User side of the platform. Our goal in this project was to build a strong Participant-User side of the platform.
Project Kickoff: Understanding Client Needs
At our first meeting with PlaceSpeak, we got a detailed overview of their existing system and the challenges they were facing. Their key concerns were:
- Authentication: There were issues with bots and trolls disrupting the platform's reliability due to the lack of robust user verification.
- User Engagement: They needed a way to keep verified users active
- Defining neighbourhood boundaries
Project Development: Key feature Implementation
- Defining Neighbourhood Boundaries
- Authentication
- Email Verification: Using OAuth 2.0 with Google API to verify email address
- Phone Number Verification: Already existing
- Location Verification: Using Mapbox to verify users' locations.
- Gamification
- Point System (PinPoint) - Users earned points for actions like posting content and commenting on posts
- Badge System - came up with five different badge types, which were awarded based on certain achievements, such as:
- Creating a poll in the neighbourhood.
- Inviting neighbours to join the platform.
- Completing the user verification process.
- Being a long-term user.
- Receiving Pinpoints from other users
One of the most critical tasks was defining accurate neighbourhood boundaries. Initially, we looked at the Zillow 2017 shapefiles, which provided good coverage but weren’t entirely accurate for our needs. A more detailed version would have cost $35,000, far exceeding our budget. Another option was to manually download shapefiles from each local government website, but this process would have taken far too long (potentially months), and we had just four months to complete the project.
So, we decided to proceed with the Zillow 2017 shapefiles, converting them into SQL format using OSGeo4W, a set of open-source geospatial tools, and importing the data into PostgreSQL.
To address the issue of bots and ensure user legitimacy, we implemented a three-level verification process:
Once users were verified, the challenge shifted to keeping them engaged. We introduced a gamification strategy, where users earned points and badges for actions like posting, commenting, and completing tasks. The features included:
Once we designed the gamification features, we realized that our database needed to be reconfigured to store relevant gamification data — something I didn't see at first.
Outcomes
Lesson Learned
This project was my first real-world experience in software development, teaching me invaluable lessons in adaptability and problem-solving. Working with unfamiliar tools like GeoDjango, PostGIS, shapefiles, and OAuth 2.0 challenged me to learn quickly and apply new skills effectively in a real-world setting.
