Maximin: An AI-Powered Platform: The Google Flights for Sending Money Abroad

Inspiration

Every year, diaspora communities send over $800 billion in remittances to their home countries. Haitian Americans alone send hundreds of millions of dollars back to Haiti annually, often through whichever app they heard about first, not the one that gives their family the most money.

I knew there had to be a better way. Just like Google Flights taught people to stop buying the first plane ticket they saw, I wanted to build an AI-powered platform that shows you instantly which service puts the most money in your family's hands — and explains why in plain language anyone can understand.

That's how Maximin was born: an AI platform that turns a confusing, multi-tab, mental-math nightmare into a single search with a clear, intelligent answer.

What I Learned

  • How remittance providers structure their fees and exchange rates
  • That the "true cost" of a transfer is not just the fee — it's the spread on the exchange rate too
  • How to reverse-engineer a GraphQL API from browser DevTools
  • How to use Google Gemini AI to translate raw numbers into real-world purchasing power context
  • That a $200 transfer can result in anywhere from 25,769 HTG to 24,428 HTG depending on the provider — a difference of over 1,300 HTG (~$10), which matters enormously at scale

If someone sends $200/month to Haiti, choosing the best provider every time saves:

$$ \Delta = (131.00 - 130.63) \times 200 \times 12 = \$88.80 \text{ per year} $$

That's real money for real families — and AI helps them see it clearly.

How I Built It

I built Maximin as a full-stack AI-powered web application in under 12 hours:

Frontend: React + Vite

  • Clean, mobile-friendly UI inspired by Google Flights
  • Real-time loading states and animated results
  • Sorted by recipient amount so the best deal is always on top

Backend: Python + Flask

  • Discovered that Monito.com loads rates via a GraphQL API (POST /api/v2)
  • Reverse-engineered the API payload using Chrome DevTools → Network tab → Fetch/XHR
  • Flask server calls this API in real time, parses the provider quotes, and returns the best rate per provider
  • Falls back to cached data if the live fetch fails, ensuring the app never breaks

AI Layer: Google Gemini 2.5 Flash

  • After ranking providers, Gemini AI explains the winning result in plain language
  • Translates the rate difference into local purchasing power context — e.g. "That extra 285 HTG buys a week of rice and beans in Port-au-Prince"
  • Makes the data meaningful, not just mathematical

Data Pipeline

$$ \text{Recipient Gets} = (\text{Amount Sent} \times \text{Exchange Rate}) - \text{Total Fee} $$

I sort all providers by this formula so users always see the best deal first, then AI explains what that difference means in the real world.

Challenges

CORS blocking — The browser blocked direct API calls from React to Flask due to cross-origin restrictions. I solved this using Vite's built-in proxy, routing all API calls through the dev server.

Dynamic data — Most remittance sites render their rates with JavaScript, making traditional scraping impossible. I solved this by inspecting network traffic to find the underlying API calls the browser was making.

Multiple quotes per provider — Each provider returns dozens of quotes for different payment methods (debit card, bank transfer, credit card) and payout types (cash, bank, mobile wallet). I select the best quote per provider by maximizing recipient amount:

$$ \text{Best Quote} = \arg\max_{q \in Q_p} \left( \text{Amount} \times r_q - f_q \right) $$

where \( r_q \) is the exchange rate and \( f_q \) is the total fee for quote \( q \).

Integrating AI meaningfully — The challenge wasn't just adding AI — it was making it genuinely useful. Rather than summarizing numbers the user can already see, Gemini adds context: local prices, cultural relevance, and a human explanation of why one provider is the clear winner.

Time pressure — I built this entire project in under 12 hours, from idea to working product with live data and AI insights.

Share this project:

Updates