Inspiration

While we were using the bathroom after struggling to come up with a topic for this hackathon, we noticed a poster above the urinal that displayed an urgent need for volunteers to participate in research.

What it does

This web application allows researchers to invite available participants for their research projects. They can filter and match appropriate participants to invite based on the specifications of their projects such as age, occupation, gender and more. Volunteers who may be looking for a quick buck can also sign up and browse research projects that are posted by the researchers.

How we built it

We built our frontend using Next.js with TypeScript and we directly query and write user data onto a Firestore database. We used NextAuth as our main user authentication mechanism for sign-ins and registrations.

Challenges we ran into

User authentication has been the most significant challenge we've encountered, and as we near the end of our project, we continue to face a multitude of difficulties in this area. Although it wasn't very difficult to get a user signed in, it was a real pain to get it hooked up and used with Firebase the way we needed it.

Accomplishments that we're proud of

We are proud that we got most of the functionalities to work. Although some of the solutions can be greatly improved, we are still happy that we managed to piece together most of the ideas that we envisioned within 24 hours.

What we learned

Our tech stack is not the prettiest and we spent way too much time trying to make the ends meet. We learned how taxing it was to stay up all night working on something with pressure on shoulders. And perhaps also how much of a pain an outdated user authentication library can be with other services.

What's next for Guinea Pig

We originally thought of having an email-list system where researchers can send matching research invites to volunteers through emails. However, the proposed system may be out of the scope for this hackathon. Currently, invites can only be seen directly on the participant's dashboard. This can be a good extension to the project as it is more practical in regular usage.

Built With

Share this project:

Updates