Inspiration
The theme of "Legacy" gave us the idea to create a project dedicated to educating people on fading cultures throughout the world.
What it does
The website displays several "radio stations" around the earth, each corresponding to a fading culture, tradition or story. Upon tuning into a radio station, a presenter will share facts about the country and its culture. While listening, the user can type messages and react in real time which can then be seen by the entire world.
How we built it
We set up a 3-tier architecture (Frontend, Backend, Database). We set up docker for consistency during development DTO implementation which established a schema between frontend and backend (allowed us to work on both frontend and backend seperately without worry of structure conflcits)
The modular nature of the preperation allowed easy delegation of tasks - resulting in a MVP being completed within 4 hours of starting.
This gave us lots of freedom for features as we didn't have to worry about the project being unfinished
Challenges we ran into
As we explored new technologies, we encounter a multitude of challenges. For example
- The use of LLM's resulted in a lot of unexpected behaviour which required lots of fine tuning
- Audio Streaming didn't sync up with other clients - Lots of Byte manipulation in Typescript was required to fix this issue (Very Hacky Solution)
- Message Notifications weren't displaying in the correct locations after subscriptions were trigger as new users weren't being referenced properly (Another Hacky Solution)
Accomplishments that we're proud of
- The Idea, design & intuitive user experience
- Audio Streaming is synchronised between clients
- Volume of features
What we learned
- Lots of new technology (Docker, Talk.js, Openrouter, Elevenlabs, etc...)
- Syncing audio between clients is extremely difficult
- International Culture!!!
What's next for LegacyFM
- More advanced search systems
- Recommend a station of a country when the current day is a cultural day
Built With
- docker
- elevenlabs
- fastify
- openrouter
- postgresql
- react
- redis
- talk.js
- typescript

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