Taking inspiration from the likes of tinder and generalizing the concept, Cruzr allows two people to cross paths, based on what they are looking for.
The members of our group all live in UCSC's International Living Center (ILC) - a tight-knit community consisting of 50% international and 50% American students. The ILC group chat is constantly alive with people looking for friends to play sports, go to events, and eat food with. Posts are often lost or forgotten in the stream of messages and we figured that there must be a better way to keep track of all these requests and events. This led to the inception of Cruzr.
What it does
Through either the web-app, or the proposed mobile applications, users can specify hashtags representing events and hobbies they're interested in, plus a timescale to keep their posts/requests relevant. Users are then presented with a pool of people who have posted with the same tags.
For example, if Jack was looking for someone to order pizza with in the next couple hours, he could search
#pizza with an expiry of 2 hours, and see everyone else who wants to get pizza at the moment.
Alternatively, if Jill is generally looking for new friends to play soccer with, but not in a specific timeframe, she could make a search for
#soccer with an unlimited timeout and her post would be visible forever until she deleted it.
Once a user has found someone they're interested in, they can cross with them, which involves sending a notification to the original poster, alerting them to their new cross. They can review the necessary information and then make a decision on whether to make contact or not.
How we built it
The architecture built during the hack was pretty minimal, it consists of two main components.
The front end for the product was built from initial wireframe sketches in HTML & CSS, with processing done in JS & jQuery, with additional styling coming from bootstrap. It makes ajax requests to the backend of our stack.
The second main component is the backend server that runs the processing for the service. We built a Python Flask application that interacts with a MySQL database hosted on a Google Cloud SQL instance. The server is run through Google App Engine, making it a fully cloud run system.
Challenges we ran into
- Being inexperienced
Initially, when prototyping the server, we made use of the SQLite3 database engine for storing our data, however, we discovered once we deployed our service to production that Google App Engine does not support SQLite3 Databases. We made attempts from here to make use of the Google Cloud SQL service instead, which required a significant rewrite of our database logic.
Accomplishments that we're proud of
Many of our members were inexperienced with the necessary coding experience, yet everyone was able to contribute to the project. Two of our core members were in charge of most of the grunt work with additional members were in charge of building the HTML wireframes, designing logo and presentations and assisting the primary members.
We also formulated a solid idea in a short time frame and generated a solid plan for the future of the project, should it become successful.
What we learned
What's next for Cruzr
Using our baseline product, we hope to expand in a variety of ways.
- Multiple keyword searches
- An events tab on the home page
- User login
- Built-in messaging
- User queries adding to the database rather than just searching through it
- Local businesses showing up in searches
- Distance tracking
- Autofill searches