Inspiration
We took inspiration from the fact that the job market is getting more and more competitive. We've recently thought about getting some freelance projects done and have started looking into it. Finding the experience of using those websites ~meh, we figure that we might as well just make an app that works better and is more pleasant to use. We decided to go with the Tinder swiping format because we heard of some people in the past using this format and it being well received. We figured that this is exactly the type of interface we want for our app - easy to use and satisfying.
What it does
Our app allows potential clients to post requests for projects that they want to get done. Those are then displayed in a main page for the potential freelancers to show interest in or not (swipe right or left). The potential freelancer then appears on the potential client's homepage for the potential client to select who they want working on their project. If a client chooses a freelancer, they are then connected - meaning they both receive each other's contact and it's up to them to take it from there!
Unlike Tinder however, we implement an archive where you can go and scroll through things you weren't interested in before.
We also implement face recognition to enforce on every Log In to make sure that a single person uses a certain account so that a company cannot pretend to be a person and hog all the work on the app.
How we built it
We build the app with a Mongo Database containing very weird collections that took a while to set up. That db connected to a python backend with a bunch of routes. Those routes in turn connect to our js frontend. For authentication we used auth0. For demoing face recognition we trained a Google Teachable Machine.
Challenges we ran into
The biggest challenge was using MongoDB for this project. This is a project with a lot of relationships between objects and would've worked wonderfully with Postgres. Mongo caused A LOT of issues with passing different IDs around and linking different objects together.
We were initially looking to write this in c# and MAUI. MAUI turned out to have a steeper learning curve than we expected and, after wasting a couple of hours, we came back to building a web app.
Another challenge was the face recognition part which, while we resorted to an easy option, has a lot of possible libraries that we could've used. It turned into a big mess of figuring out how exactly we will implement face id. After that, the model was really bad at interpreting and figuring out the faces but we got it in the end.
Accomplishments that we're proud of
It, more or less kind of sorta works maybe? Overall, we're disappointed as we think we could've made it work. We did use a lot of stuff we hadn't before and learned a lot such as Auth0 and face recognition. Our frontend also looks quite nice and is definitely something we are proud of.
What we learned
We learned not to use MongoDB for relational DBs whether or not there is a prize for it. We learned a lot about face id as well as how simple it is to use an authenticator. We learned that we need to learn to manage our time a little better and expect reasonable things of ourselves.
What's next for Freenter
- paid subscription to get access to the archive feature mentioned above.
- geolocation check to really ensure that only one person is using the application.
- deployment as webapp
- transfer to MAUI to turn it into an application rather than a webapp
- profile modification features
- messaging system inside the application

Log in or sign up for Devpost to join the conversation.