Inspiration

FairChoice began with a situation I have experienced more times than I can count.

A group of friends is looking forward to spending time together. Everyone is in a good mood, and then somebody asks the apparently simple question:

“Where should we go?”

Suddenly, it becomes complicated.

One person is vegetarian. Someone else is trying to stay within a budget. Another person does not like spicy food, and somebody needs to be home by eight. But nobody wants to be the difficult one. Nobody wants to slow down the group or turn a fun evening into a negotiation.

So one person says, “I don’t mind.”

Another says, “Anything is fine.”

Then the person with the strongest opinion suggests a place, everybody agrees because it is easier, and the decision is made.

But was it really a group decision?

How often does somebody quietly accept an option that does not work for them? How often does the loudest voice become the group’s voice? And how often does a supposedly simple decision create unnecessary tension between people who actually like each other?

This has bothered me for a long time. I kept wishing there were a simple way for everyone to express what they genuinely need without having to fight for it. A way to make every person visible, including the quiet one.

That wish became FairChoice.

FairChoice is very personal to me because I do not want technology to make decisions for people. I want it to help people understand one another and find the common ground that can otherwise be surprisingly difficult to see.

My professional background is in medicine, not software development, and I have only ever coded casually. Maybe that is also why this idea means so much to me. Medicine teaches you that something which appears small to one person can be incredibly important to another. A dietary requirement, an accessibility need, a limited budget, or a time restriction should not become irrelevant simply because only one person is affected by it.

With FairChoice, the loudest person does not automatically win, and the quietest person does not have to silently compromise.

Friends can stay friends and simply enjoy a great day or evening together.

What it does

FairChoice is an account-free group decision app that helps people find the choice everyone can genuinely support but without the drama :).

The host chooses the situation, adds the options, and shares the decision through a short link or QR code. Every participant can rank the choices privately and say what matters to them. And it does not even require everyone to have a phone. In situations where the group has already met, simply create the decision poll and hand the phone around. It is very approachable and simple.

The important part is that FairChoice understands the difference between a must-have and a nice-to-have.

For one person, vegetarian food may be essential. For somebody else, a quiet atmosphere may simply be preferred. A certain budget might be flexible for one participant but an absolute limit for another. FairChoice respects those differences.

Instead of only counting which option received the most first-place votes, FairChoice looks for the option that causes the least serious disappointment across the whole group. It asks:

Which choice leaves nobody completely behind?

The result is also explained. FairChoice shows why an option won, where concerns still exist, which information is missing, and how the result compares with a traditional majority vote.

If every available option violates somebody’s must-have, FairChoice does not pretend that everything is fine. It tells the group that there is no compatible choice and helps them understand what needs to change.

The app currently includes 24 templates for decisions involving friends, families, teams, businesses, and careers. It can help groups choose a restaurant, activity, trip, meeting place, job offer, date, or even a complete combination of film, cinema, format, and showtime.

For location-based decisions, FairChoice can search real places through Google Maps. Participants can join without creating an account, and the host can share the poll through a room code, QR code, or familiar messaging apps.

I have also included the MovieGlu api (I did not have a "Glu" this exists - but ChatGPT Sol is a true sunshine and explained exactly how to integrate that for true movie theater and film choices based on real data.

The aim is to make a complex decision feel simple, safe, and even a little fun.

How I built it and how I used ChatGPT and Codex

This was my fourth hackathon.

Two of my previous hackathons were gaming projects created with Meta Horizon Worlds. Another introduced me to AI-assisted building through tools such as Replit.

Those experiences fascinated me because they showed me something I had never really believed before: even as a non-technical person, I can create remarkable things when I combine creativity with persistence.

I am slowly beginning to understand how the overall building process works. I am learning how to “talk to the machine,” how to describe what I want, how to recognize when something is not quite right, and how to keep shaping it until it becomes the result I imagined.

FairChoice took that experience to an entirely new level.

I started with an emotional problem and a rough vision. I did not have a finished technical plan. ChatGPT helped me explore the idea, challenge my assumptions, organize my thoughts, and turn feelings such as “this does not seem fair” into actual product decisions.

Then Codex with GPT-5.6 Sol, inside the ChatGPT desktop app, helped me turn those decisions into a real application.

I was honestly amazed by how well this worked.

Codex was not simply giving me pieces of code and leaving me to work out what to do with them. It could understand the project, work directly with the files, build features, run tests, investigate problems, and help deploy the result.

It created the technical foundation in React and TypeScript, helped design the decision engine, built the different user journeys, added the sharing and QR features, connected Google Maps and Cloudflare, wrote automated tests, and repeatedly checked whether the application still worked after every major change.

But the most valuable part was the ongoing conversation.

I tested the app constantly. I opened it on desktop and mobile. I followed the journey as if I were a real host or participant. When something felt confusing, too technical, too slow, or emotionally wrong, I said so.

Sometimes my feedback was as simple as:

“This feels like too much work.”

“I would not understand what to do here.”

“The choices are unclear and overwhelming.”

Or:

“The quiet person is still not protected.”

Codex then helped me turn that human feedback into concrete changes.

One moment that particularly surprised me was when features worked on my computer but behaved differently on my phone. In the past, that kind of problem would probably have stopped me completely. With Codex, I could simply explain what I was seeing and ask it to investigate. It searched for the cause, changed the implementation, tested it, and helped me understand what had happened.

That took away a great deal of anxiety.

Once I understood that Codex with GPT-5.6 Sol had my back and could do the technical heavy lifting, building the app became genuinely enjoyable. I could concentrate on the idea, the people using it, and the feeling I wanted the experience to create.

The best comparison I can find is working like an artist with clay.

Codex gave me an incredibly powerful way to move and shape the material—but I was still the person deciding what to create. I had to touch it, inspect it, reshape it, remove what did not belong, and keep going until it felt like FairChoice.

Challenges I ran into

The biggest challenge was answering a deceptively difficult question:

What does “fair” actually mean?

A traditional majority vote can make three people happy while making the fourth person completely miserable. But allowing every small preference to block a decision would not work either.

FairChoice therefore needed to understand the difference between something a person would like and something they genuinely need.

Building that distinction into the decision engine was challenging. Explaining it to ordinary users was even harder.

I did not want FairChoice to produce a mysterious answer and expect the group to trust it. If the app recommends an option, people should be able to understand why. If information is missing, FairChoice should say that it is unknown rather than quietly treating it as “no.” If there is no possible compromise, it should be honest about that too.

Another challenge was keeping the experience simple.

Underneath FairChoice, rankings, requirements, missing information, provider data, and different types of regret all interact with one another. But a group deciding where to eat should never feel as if it is filling out a spreadsheet.

Finding the balance between a powerful system and a friendly experience required many iterations.

The real-world integrations brought their own surprises. Google Places behaved differently across browsers and phones. Sharing complete polls could create links that were too long. Cinema locations and cinema schedules came from different providers. API credentials had to remain secure, and some cinema data depended on geographic licensing.

I also had to make honest decisions about what could be completed during the hackathon. FairChoice can already share poll setups through short room codes, but votes in the current prototype remain on the device where they are submitted. Full real-time voting across multiple devices is the next major step.

And then there was my own uncertainty.

When coding is not your profession, technical errors can feel like a closed door. Codex helped turn them into questions I could investigate. Instead of thinking, “I cannot do this,” I learned to ask, “What exactly is happening, and what should we try next?”

That change in mindset may be one of the most important things I gained from this project.

Accomplishments that I’m proud of

I am incredibly proud that FairChoice is not only an idea or a beautiful mock-up.

It works. I drilled my friends and family to test the app with me in the last 48 hours.

It is a deployed application with a real decision engine, automated tests, location search, QR sharing, short room codes, mobile support, explainable results, and 24 different starting points for real-life decisions.

As someone who has only coded casually, seeing everything come together is difficult to describe. At the beginning, FairChoice was simply a problem I cared about. Now it is a working product that people can open on their phones and actually use.

I am especially proud that FairChoice has principles.

It does not treat an unknown fact as a negative fact.

It does not force a winner when every option hurts somebody.

It does not assume that popularity and fairness are the same thing.

And it does not require people to create an account before their voice can be heard.

I am also proud of the visual experience. I wanted the app to feel optimistic, playful, and welcoming without becoming childish. Decision-making can be stressful enough already. FairChoice should feel like the moment when the tension finally disappears and the group realizes: “Yes, that works for all of us.”

Most of all, I am proud that I created something I genuinely wished existed.

What I learned

This project changed how I think about building with AI.

AI does not make the human contribution less important. In my experience, it makes the human contribution more visible.

Codex could implement ideas, write tests, debug integrations, and perform technical work at an incredible speed. But it still needed me to explain what mattered.

It needed me to notice when the experience felt wrong.

It needed me to question a result that was technically valid but emotionally unsatisfying.

It needed me to remember the vegetarian friend, the person watching their budget, the person who has to leave early, and the person who would rather stay silent than cause a problem.

My role was not just to provide prompts. My role was to bring intention, empathy, judgment, creativity, and the “human touch.”

I also learned that I do not need to know every technical term before I begin. I can describe the goal, explain what I am observing, ask questions, test the answer, and continue from there.

The better I became at communicating my intention, the better the result became.

Creativity mattered.

Persistence mattered.

Reviewing the result mattered.

And being willing to say, “This is good, but it is not yet what I mean,” mattered enormously.

What’s next for FairChoice

The next big step is real-time voting across different devices. I want every participant to be able to vote from their own phone while the host watches the group move closer to a decision.

After that, I would love to explore:

  • Optional accounts while keeping the main experience account-free
  • Native mobile apps and useful notifications
  • Live German cinema schedules and additional local providers
  • More templates created together with real communities
  • Deeper accessibility and privacy testing
  • Even clearer ways to explain difficult trade-offs
  • Research into how FairChoice changes real group dynamics

I would also love to test FairChoice in many different settings not only with friends choosing a restaurant, but with families, teams, community groups, and people making important personal decisions.

My hope is that FairChoice becomes the little app people instinctively open when somebody asks:

“So… what should we do?”

Not because every human decision should be handed over to an algorithm.

But because every human being in the group deserves to be heard.

How to test the app? Head over to FairChoice test version It is free! make your choices. The GitHub repository is here: FairChoice on GitHub It is private but if you are genuienly interested, please request access.

Built With

Share this project:

Updates

Submission history