Inspiration
I lived in Madrid for five months and I studied Spanish for a few months via Duolingo before I arrived. The only thing that I could say was: "Yo soy un hombre" which was pretty useless since everyone could see I am a man.
Shortly after settling in I learnt about language exchanges and I learnt most of my Spanish by simply talking with native speakers.
I was inspired to bring this to the digital world by allowing strangers all over the world to connect and practice each other's native languags.
What it does
Chattify turns an ordinary video call into a structured language exchange where both participants receive equal speaking practice.
Each user creates an account and selects their native language and the language they want to practice.
They can then create a private, invite-only room and share its link with a language partner. Both participants must have accounts with a matching language pair.
The session begins automatically when the second participant joins:
- 30 seconds to introduce themselves
- 10 minutes speaking the first language
- 10 seconds to switch languages
- 10 minutes speaking the second language
- 20 seconds to congratulate each other and say goodbye
The language order is selected automatically from the room creator’s profile. Each round also receives a randomly selected conversation topic, such as hobbies, food, family, work, or travel.
Chattify includes real-time video and audio, a private text chat for resolving technical difficulties, responsive desktop and mobile layouts, and an option to begin another round when both participants agree. Calls are not recorded, and no audio, video, transcription, or chat content is sent to OpenAI.
How I built it
I began by describing the product idea, target users, timer behavior, privacy requirements, and visual direction. I then collaborated with Codex powered by GPT‑5.6 Sol throughout planning, architecture, implementation, debugging, testing, and deployment. I made the core product and design decisions while Codex translated them into a working Next.js application.
Chattify uses Next.js and TypeScript for the application, Supabase for authentication, profiles, database security, and real-time events, Agora for video conferencing, and Vercel for hosting. I connected my existing domain through Namecheap DNS at chattify.neven.one.
Challenges we ran into
The biggest challenge was turning a simple video call into a synchronized experience for two people using different devices and Internet connections. The timer needed to start only after the second authenticated participant joined, and both users needed to see the same language, topic, phase, and remaining time, even after refreshing or reconnecting. We solved this by storing a canonical session start time and deriving the visible timer state from it on both devices.
Creating private rooms also required more than generating a link. We used Supabase authentication, database policies, room membership validation, and private real-time events to restrict each room to two authorized accounts. Agora access tokens are generated on the server only after confirming that the signed-in user belongs to the requested room.
The mobile call interface presented another challenge. Camera, microphone, chat, and leave controls all needed to remain large and visible without hiding anything behind a hamburger menu. We also worked through browser camera and microphone permissions, responsive video layouts, message notification behavior, and consistent language flags throughout the interface.
Deployment was unfamiliar territory for me. Codex guided me through connecting the Namecheap DNS record for chattify.neven.one to Vercel and configuring Supabase and Agora for the production environment. Iterative testing also uncovered smaller interface problems, such as chat notifications remaining visible after messages had been read. Those issues were diagnosed, fixed, tested, and deployed with Codex powered by GPT‑5.6.
Accomplishments that I am proud of
In one day, I built a working video conferencing tool that has a backend database, as well as front end functionality. This is something that would take me months of studying to otherwise achieve.
What we learned
I learned that agentic development can make sophisticated software development accessible to people with strong product knowledge but limited implementation experience. It did not eliminate decision-making; it allowed me to spend my time defining behavior, testing outcomes, and refining the user experience.
What's next for Chattify
Showing the app to other language learners and building an Omegle or Tinder-like platform where language learners can match with other native speakers to help each other practice their respective native languages.
Built With
- agora
- agora.io
- chatgpt
- codex
- cpanel
- next.js
- supabase
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.