Inspiration
Everyone has a story to tell. Many people want to be heard, and civic-minded people and organizations want these stories to matter and provide an impetus for action.
To share stories on a more prominent platform like an online newspaper, however, either you have to actively put your story out there and find your in with a more prominent person or organization, or you have to be in the right place at the right time to even come across or have these opportunities. But what if opportunities came looking for you and what you have to say?
Local journalists are always on the lookout for the next great story, but it's sometimes challenging to identify growing trends or issues locally to investigate further. How can journalists find out, for example, that gender based exploitation of domestic workers is happening in the community when those workers are busy working to take care of other families in addition to their own? Conversely, what if a local nonprofit wants to raise awareness of the issue through collecting and publishing these worker stories on an elevated platform targeting online visitors who care?
What it does
SpeechFinder brings underheard voices to the center of a stronger public dialogue by allowing users — whether individuals or nonprofits — to contribute stories for civic action. They do so by recording in real-time or by uploading an audio file while specifying location and optionally the speaker name and title. Once submitted, the audio file is run through AssemblyAI's API to extract keywords and phrases, entities, transcribe the audio file, and create chapters to group and summarize content for easy browsing. If users selected the option to tweet what they uploaded, a tweet with hashtagged keywords will be sent to an account notifying journalists of new content of potential interest. Afterwards, all this data gets saved to a SqlLite database.
In turn, journalists can now readily search the stories in the database using keywords and even filter for local stories to recognize patterns over time and in-the-moment trends or discover unmet community needs worth investigating. The results provide keywords and audio transcript excerpts to give an idea of what the story is about. When clicking a result, users can find a full audio transcript with identifying information and search terms highlighted, chapters that make it easier to wade through longer excerpts, and a link to the audio file itself. Journalists and anyone else may use these stories for their own purposes, whether to pull quotes for a newspaper article or school report, use excerpts to make the case for a community need with the goal of fundraising for local nonprofits, or simply learn more about people and issues either within or outside our own communities. The possibilities are endless!
How we built it
We used Figma for design, and React for front-end. For back-end, we used Python (Flask) and SQLite for our database .
Challenges we ran into
One major challenge was our teammate who was the primary back-end developer dropped out of the hackathon after it was halfway through and did not contribute code. This was quite a setback, as our front-end developer had to now take on the back-end as well due to the remaining team members' varying skillsets and goals. What's more, said teammate had to learn to use AssemblyAI for the first time - so there was not only more work but also a learning curve to overcome.
We also had a hard time brainstorming ideas. We had many ideas, but we had to consider the skillset, goals, and schedules of a motley crew of people with varying hackathon experiences. The idea and project scope changed over time depending on challenges encountered and coding towards an MVP.
Accomplishments that we're proud of
We are proud that we were able to collaborate as a team, pivot ideas, re-evaluated project scope, and complete a project that we fully believe can have wide-ranging impact for amplifying stories and supporting local journalism, within the given timeframe. Even though there were some setbacks, we were able to make a fully functional website and implement AssemblyAI. We also purchased a domain from domain.com - letsfindwhatweneed.tech
What we learned
We learned quite a lot during this project. We learned how to effectively collaborate with other developers, outlining user/product requirements, pivoting ideas as challenges arose with initial ideas, as well as learning how to implement AssemblyAI. We also learnt how to make an easy-to-use website, with minimalistic design.
What's next for SpeechFinder
SpeechFinder can have additional features, including:
- mobile version / progressive web app
- user logins so that people can get in touch with user about story
- offer video version and sleeker user interface to navigate text transcript


Log in or sign up for Devpost to join the conversation.