Inspiration

Our inspiration came from wanting to create a centralized platform where users would voluntarily report city issues similar to Waze's mini surveys. Given that this is a trust-based system the targeted demographic would be those who would take initiative.

What it does

It allows for the community to share insights and events happening around the community. It gives a real-time update on the map and the issues/reportings. Using this, information can be extracted from our API realtime for research purposes. Additionally there is a SMS service where users will be able to sms our public phone number to dial their issue/report while be given live feedback on user input.

How we built it

We used NextJS for the frontend with page routing and used FastAPI for the backend. We also have a micro-service that runs on aws lambda making it serverless. The workflow for the micro-service is as follows: sms -> Twilio -> WebHooks -> aws Lambda -> backend (Gemini endpoint) then it either adds to the db or it returns a 402 with feedback on what needs to be added to the prompt.

This prompt will go straight back to the sms and it repeats the cycle again.

To add, the gemini endpoint parses descriptions and formats them to be suitable for the db, however if missing params or items, it will send back and ask for what it needs.

Challenges we ran into

Twilio has a rule of a 15 second webhook call, where if 15 seconds have passed since the initial aws call then it will close. This is problematic as we wanted to have a live conversation with gemini through sms however due to funding and the 15 seconds the webhook will be cancel by then.

Accomplishments that we're proud of

To fix this issue we just state the user to enter the entire prompt again. We are proud of also using aws as our serverless server for the micro-service, as it saves cost especially in the early stages.

What we learned

Asides from learning about technical tools, we learned about workflow's. Specifically, deadlines for workflows and how planning and organization is crucial for projects/hackathons. Things like documentation, code structure practices and communication is vital for a successful project. It truly shown how useful tools like GitHub, Jira, and Confluence are.

What's next for City Watch

Looking for extra funding to seek alternatives and better subscriptions from APIs. Currently, City Watch is ran off of free trials of Amazon aws and Twilio. Additionally, we are looking to have a live gemini chat through sms. As explained earlier, we want to find alternatives to Twilio who do not have the 15 second policy with webhooks. Overall, our growth will just be refining and web client optimization. As for bussiness logistics we look towards partnering and becoming a non-profit organization to help the community and government for data.

Share this project:

Updates