Tech for Good: Creating Trust in Online Marketplaces with Vouchify

Unbeknownst to most, Discord contains a variety of bustling marketplace communities and channels. These servers connect people to buy and sell a variety of in game items for your favorite video game or platform. Thousands of dollars in usernames, skins, and in game items are transferred, bought, and sold every day.

With the surplus of currency running through these channels, bad actors and scamming runs rampant. Friends of mine lost thousands of dollars, others lost much more. My partner and I wanted to come up with a solution to improve trust in these communities, and facilitate safer, honest transactions.

To make this possible, we put our brains together, planned, prototyped, and developed a solution to ensure people are who they say they are. And so Vouchify was born.

print("This is Vouchify")

What is Vouchify?

Vouchify is a social credibility web platform that allows users to showcase their credibility, connect with others, and share all their socials in one place. Additionally, Vouchify provides an integrated marketplace to buy/sell in game items. Today, Vouchify boasts over 500 users and $100k in reported user transactions.

Planning and App Development

Built with:

  • Python - For server-side processing and backend functionality
  • SQLite - As database and RDBMS
  • Flask - Web framework
  • HTML/Jinja Templating - For frontend development
  • Tailwind CSS - For front end styling and aesthetics
  • NGINX - For cloud hosting

Knowing the majority of our userbase are active in Discord communities, we wanted to build our application in a way that utilizes and complements this. For that reason, Vouchify registration integrates seamlessly with Discord using the Discord OAuth. This way, users can be confident that individuals on Discord cannot create fake Vouchify accounts and pose as someone else. Additionally, we have created automated Discord Bots to run our server on Discord, joining the Discord server requires you to make an account on Vouchify!

Discord callback code snippet for OAuth Integration:

@auth.route('/callback')
def discord_callback():
	if current_user.is_authenticated:
		return redirect(url_for('auth.dashboard'))

	# Retrieve the authorization code and state from the query parameters
	code = request.args.get('code')
	state = request.args.get('state')

	# Verify that the state parameter matches the one in the session
	if state != session.get('discord_state'):
		flash('Invalid state parameter.')
		return redirect(url_for('auth.register'))

	response = requests.post('https://discord.com/api/oauth2/token', data={
		'client_id': os.environ.get('CLIENT_ID'),
		'client_secret': os.environ.get('CLIENT_SECRET'),
		'grant_type': 'authorization_code',
		'code': code,
		'redirect_uri': url_for('auth.discord_callback', _external=True),
	})

	# Check if the access token was successfully retrieved
	if response.status_code != 200:
		flash('Failed to retrieve access token.')
		return redirect(url_for('auth.register'))

App Features

Vouchify is a diverse platform with a wide array of features. Here are some of our favorites.

Profile Page

Your Vouchify profile is a place to showcase your favorite links and your credibility on the platform. It is customizable, modular, and completely yours.

Vouching

Vouch for other users by clicking vouch on their profile page. Filling out this quick form gets the info sent to our admin dashboard where we review it and approve the vouch if everything looks good. From there, the vouch is publicly accessible and viewable on your profile.

Viewing Vouches

After a vouch has been approved, it is viewable from your profile. This allows users to review your previous deals, and make sure you are trustworthy. Vouches can for buying, selling, or can be imported through the help of Vouchify admin.

Marketplace

Vouchify also includes an integrated marketplace, where you can create posts to look for specific items, or advertise items you already have. Discord integration makes it easy for Vouchify users to communicate and nail down the specifics for the deal.

Leaderboard

For those who like a little competition. Vouchify includes a leaderboard so you can see who the most trustworthy members of the community are, making it easy to reach out if you need someone to middleman a deal.

Key Takeaways

For me, Vouchify has changed everything. Building a software project from the ground up and seeing the buy in and use of the app by the community has been a humbling and inspiring experience. It has taught me so much about full stack development and exposed me to the real software development lifecyle. Working within a team utilizing version control and issue tracking has gave me relevant industry experience as well.

Above all though, I think Vouchify has really shown me the true good software can do, and it motivates me everyday to think bigger, code more, and keep dreaming!