Inspiration
Lots of Hispanic and Latino folks who don't come from
money or are underrepresented in their communities
struggle to find real opportunities — from legal advice
and health clinics to scholarships, English classes, and
social groups where they actually feel at home.
Information exists, but it's scattered across dozens of
sites, buried in English-only PDFs, or locked behind forms
that ask for immigration status up front. We wanted to
build something that meets our community where it is:
bilingual, warm, private by default, and honest about what
it knows. Corazón - Hispanic at Heart - is our love
letter to the parents, students, and neighbors who keep
showing up even when the systems around them don't.
What it does
Corazón is a bilingual (Spanish/English) web app that
brings community, legal, health, scholarship, housing,
food, and job resources into one calm, trustworthy space.
Users can browse or search verified organizations across
Chicago, filter by category, and save the ones they care
about. A privacy-first onboarding lets people optionally
share their country of origin, immigration status, and
interests so the app can surface the most relevant
resources — and that information is never shared, sold, or
shown to anyone else. A built-in AI assistant answers
questions in the user's language, explains unfamiliar
processes, and points to real organizations instead of
generic advice. Profiles, saved resources, and discovery
all work together so returning users pick up exactly where
they left off.
How we built it
The frontend is a React + TypeScript app built with Vite
and Tailwind, using a custom design system grounded in
warm, culturally resonant color tokens and the Belgrano /
Playfair Display type pairing. Global state lives in a
lightweight React Context layer, and routing is handled
with React Router. Supabase powers auth, the Postgres
database of opportunities and organizations, and row-level
security for user profiles and saved resources. We wrote
a data-normalization layer on top of the raw
active_opportunities table that cleans up organization
names, fills in category-aware fallback descriptions in
both languages, and deduplicates near-identical rows by
hostname so users see unique, useful cards instead of
repeats. The AI assistant is wired to the Anthropic Claude
API with prompt caching, and the whole app is deployed on
Vercel.
Challenges we ran into
Real-world community data is messy. Scraped rows came in
with URLs as titles, empty descriptions, duplicate
branches of the same organization, and inconsistent
tagging — so a huge amount of work went into quietly
cleaning that up at the API layer without hiding
legitimate variety. Designing a bilingual UI that feels
native in both Spanish and English (not just
machine-translated) meant writing every string twice and
constantly tuning tone. Getting the onboarding flow to
feel optional and safe — especially around immigration
status — took several passes; we had to make the privacy
promise impossible to miss while still keeping the step
flow fast. And balancing a dark, modern aesthetic with
warmth and accessibility pushed us to rework our color
tokens more than once.
Accomplishments that we're proud of
We're proud that Corazón feels like it was built by the
community it serves, not just for it. The bilingual
experience is real end-to-end — onboarding, discovery, AI
chat, profile, and empty states all speak both languages
naturally. The privacy-first onboarding actually respects
the user: every field is skippable, nothing sensitive
leaks, and the UI says so in plain words. The resource
discovery page finally feels trustworthy thanks to
deduplication, category-aware descriptions, and
Latino-focused sorting. And the AI assistant gives answers
that are specific, kind, and grounded in real local
organizations — which is exactly the kind of help we
wished we'd had growing up.
What we learned
We learned that building for an underserved community is
10% clever code and 90% listening — to language, to fear,
to the unspoken question behind the search bar. We got
much better at data hygiene: when your users can't afford
to waste a click on a broken link or a duplicate card,
your backend has to earn their trust every single query.
We learned how much design tokens, typography, and tone
carry cultural meaning, and how quickly an app can feel
cold if you get that wrong. Working with Supabase RLS
taught us to think about privacy as a schema decision, not
a feature. And integrating the Claude API showed us how
much better AI feels when it's scoped, bilingual, and
anchored to real resources instead of open-ended chat.
What's next for Spanish App
Next, we want to expand beyond Chicago — starting with
other cities with large Latino populations like Houston,
Los Angeles, and New York — and partner directly with
community organizations so listings stay verified and up
to date. We're planning a mobile-first PWA build so
families can access resources from any phone,
offline-friendly. On the AI side, we want the assistant to
help users prepare for appointments, understand legal
documents, and follow up on applications step by step. We
also want to add community features — verified reviews,
neighborhood tips, and volunteer-contributed translations
— so Corazón grows from a directory into a living network.
Long term, our goal is simple: every Latino family in the
U.S. should have one trusted, bilingual place to turn to
when they need help, and we want Corazón to be it.
Built With
- appifex
- claude
Log in or sign up for Devpost to join the conversation.