Inspiration
Open source maintainers often have small bugs that stay open for years because they are not exciting to solve. I wanted to build a way to put a price on those tasks to help them get finished faster.
What it does
Gitmarket is a marketplace for GitHub issues. Every new user starts with 1,000 credits to try the platform. You can search for any public repository and put a bounty on an open issue. Developers solve the issue and submit their work. Once the bounty creator approves it, the credits transfer to the developer.
How I built it
The app uses React for the frontend and FastAPI for the backend. I used Supabase for the database and authentication. To keep the credits safe, I wrote the payment logic as SQL functions directly in the database. This ensures that the balance moves correctly every time. I also used real time listeners so the UI updates as soon as a payment happens.
Challenges I ran into
The hardest part was securing the credit system. I had to learn how to write row level security policies to make sure users could only see their own data and could not change their balance manually. Getting the GitHub API to sync with my database without hitting rate limits was also a bit of a puzzle.
Accomplishments that I'm proud of
I built a working transaction system where credits move between users instantly. The live updates feel great because you see your balance change without having to refresh the page. Everything from the search to the payout works in one smooth flow.
What I learned
I learned that offloading logic to the database makes the whole app more reliable. Moving the transaction rules into SQL made the backend code much simpler. I also got a much better understanding of how to use GitHub for user identity.
What's next for Gitmarket
I want to add Stripe integration so people can use real money for bounties. I also plan to build a GitHub bot that posts a comment on the actual issue page whenever someone adds a bounty to it.
Log in or sign up for Devpost to join the conversation.