Inspiration
Our inspiration came from Dr. Ruha Benjamin's concept of UStopia derived from Margaret Atwood. Dr. Benjamin says, "Whereas utopias are the stuff of dreams, dystopias, the stuff of nightmares, ustopias are what we create together when we're wide awake." Additionally, according to the Barbara Bush Foundation, the average literacy rate across counties in the RGV is only 57.5%, which is much lower than the approximate 79% literacy rate of the nation. While we appreciate the RGV and the growth we've witnessed in the past years, mainly accredited to UTRGV thriving, as a community, we need to acknowledge that our dangerously low literacy rates are affecting our community in the RGV in many different ways. Literacy rates here can affect sectors like employment, poverty and even healthcare. Our accessibilty hub hopes to help residents of the Rio Grande Valley, appealing to their personal needs, we want to be able to provide a network of resources that can help build communities, raise literacy rates, and the overall quality of life in the RGV.
What it does
This website brings awareness to an issue that not many residents in the RGV think about nor care about, literacy. It also encourages users to improve their literacy, connect with their community, look for local events by giving recommendations for activities after the user fills out a form based on their needs, for example, if they need help with finding literacy classes, it can suggest websites to look at.
How we built it
We built this is as a Next.js (App Router) web app with a small curated "resources catalog" and an AI-powered recommender on top. Framework/UI: Next.js 16.2.4 + React 19, using Tailwind CSS v4 via src/app/global.css. We styled the whole site with a custom “Frutiger Aero” look (glassy panels, blur, gradients) using reusable CSS classes like aero-panel, aero-bar, aero-btn-primary, etc.
- Pages: App Router routes in src/app/: / (home), /mission, /resources, /find
- Shared layout and nav in src/app/layout.tsx
- Resource data: A curated list of RGV links lives in src/lib/resources.ts (each item has id, title, url, description, and tags like categories, audience, format, region). We added more community/event links there too.
- Recommendations: The “Find for me” form (src/app/find/ui/FindForm.tsx) posts user preferences to POST /api/recommend (src/app/api/recommend/route.ts).
- The API sends the user profile + the curated catalog to OpenAI and requests JSON recommendations.
- It only accepts recommendations that match real ids from RESOURCES (catalog-first).
- If the model returns invalid IDs (or nothing), it fills from the catalog with a simple scoring heuristic and can also append 5 “web” fallback links generated via a second OpenAI call.
- Resources page extras: /resources includes a Google Maps embed showing “public libraries in the Rio Grande Valley”.
Challenges we ran into
Originally, we wanted the recommendations to use an AI search engine to give real, live results and recommendations, but our API key wasn't the SERPAPI key that is needed for live searches. So, we had to limit our resources and links down to only links we have provided.
Accomplishments that we're proud of
We're just proud that we wanted to come together and create something for the betterment of others and our community. Myself, as an older sister, am so proud of my little sister Giselle, this was her first hackathon as a freshman and I can see her growth in programming and determination to make a change in our community.
What we learned
Some of us used certain frameworks for the first time, others learned how to utilize APIs for the first time. We learned git cloning, Git Bash, software application testing, debugging, etc.
What's next for UStopia RGV
We would like to implement more resources in the future like voting resources, more local smaller classes, we want to implement more and more precise recommendations but we would need an API that searches the web like SERPAPI. We would like to make a blog section, so others can post resources and share ideas and comments.
Built With
- css
- html
- next.js
- omnicoode
- rgvaiclass-api
- tailwinds
- typescript
Log in or sign up for Devpost to join the conversation.