Inspiration

This summer, Miguel spent his days knocking on doors in Seat 3 of Miami Gardens with his professor, now elected to the City Council. Behind almost every door, he heard the same thing. People knew the city could help them. They just could not find how. In Miami-Dade, three out of four people speak a language other than English at home, yet the city website gave them ten thousand links to ten thousand places, and the documents that mattered most were written in legal English.

Lyan had seen the same problem in the numbers. In his summer research, he studied why 311 takes longer to respond in some districts than others. But the request that takes the longest is the one that never gets made, because the resident never knew 311 existed.

Ronald did not need research to see it. He grew up watching it. Older neighbors with real complaints and nowhere to take them. Immigrant families, new to the country and its laws, too unsure to show up to a meeting or ask for help that was already theirs. They wanted to be part of their city. Nobody showed them the door.

So we built one.

What it does

AskMyCity is one box. A resident of the City of Miami or Miami Gardens picks Spanish, English or Haitian Creole, chooses their city, and says what is happening in their own words. "My street floods every time it rains." "I cannot pay rent."

They get back one official card. What it means in plain words, one next step, the official link, the phone number, and a button to hear it out loud. It works on any phone, with no account. A few simple questions help them find programs they never knew existed, and a meetings page shows when their city meets and how to be heard.

We follow one rule: nothing is invented. Every card comes from miami.gov or miamigardens-fl.gov. When AskMyCity does not know, it does not guess. It gives the city's own number.

How we built it

We built the whole product in Base44. The screens, the questions, the official catalog and the function that answers each resident all live there, and every API key stays in Base44 Secrets, never in the code.

Behind each question, Swarms runs two agents, one after the other. The first one reads the question and picks the official card that answers it. The second one checks that choice again. Neither can write an answer. They can only point to a card that already exists.

Then Prune sends one last check through OpenRouter. It confirms the card fits the question, gives us a signed receipt for the call, and remembers repeated questions so the city does not pay for them twice.

Finally, the Web Speech API reads every card out loud and lets people speak instead of type. For now, the Swarms and Prune path runs in an admin demo, so no resident depends on a model to get the right phone number.

Challenges we ran into

The hardest part was making the APIs talk to each other. Our first Swarms design used GraphWorkflow, and it came back with a 403 because it needs premium access. So we rebuilt the same two agents as a sequential workflow. Then every call failed instantly, with no error at all. After hours of digging, we found that Base44 rejects one small setting in our requests. We changed one word and both Swarms and Prune started working. Prune taught us patience too: a model name it refused, a free model that needed more time, and limits we learned to respect with caching.

The bigger challenge was the people we built it for. Many are older, many are new to this country, and a confusing screen is the same as a closed door. So we kept it to one question at a time, big buttons, plain words and audio. Explaining a city program in Haitian Creole without changing what the official page says was harder than any API.

Accomplishments that we're proud of

We are proud that AskMyCity is live, public, and works in three languages without ever making up an answer. Anyone in Miami or Miami Gardens can open it on their phone today.

We are proud that both sponsors work end to end from our own app. Swarms picked and confirmed the right official card in about 2.5 seconds for around $0.02, and Prune verified it and gave us a signed receipt.

But what we are most proud of is that we built it to grow. Every card comes from an official city page, so bringing AskMyCity to a new city does not mean rewriting the app. It means adding that city's official pages. Miami-Dade alone has 34 municipalities, and after them come the other counties of Florida. Each new city reaches more of the three in four residents who speak another language at home, the people who today get no help simply because they never found it. When they find it, they do not just benefit. They show up, they speak at meetings, and they become part of their community.

What we learned

Base44 let three students ship a full public app in one night, so we could spend our time on residents instead of servers. Swarms showed us that AI is safer when it checks itself, with two agents reviewing every answer. Prune and OpenRouter taught us that a city can only use AI it can audit and afford, and that a signed receipt and cached answers make both possible. The Web Speech API reminded us that an app must work for people that might not understand it.

What's next for AskMyCity

Next, we want AskMyCity to explain any official document or PDF in your language, turn big city decisions like bonds and budgets into plain words, help people follow meetings after work, and show what happened to their 311 report.

Then we want to bring it to the other 32 municipalities of Miami-Dade and beyond, so more people can find the help that was already theirs.

Built With

Share this project:

Updates

posted an update —

I worked on the data and testing: every card links to an official City of Miami or Miami Gardens page, and we tested it with real questions in Spanish, English and Haitian Creole. Our goal is simple: no one should need to know which department to call to get help from their city.

posted an update —

Thanks for checking out AskMyCity! We built it to make it easier for our neighbors to find city services in their own language. We hope to grow it so more people in our community can find the help they need.

Submission history