Inspiration
Computer science imposter syndrome inspired Week by Week. Progress can feel blurry when you are living through it, especially when you are focused on what you still do not know. We wanted a journal that lets you revisit earlier versions of yourself and clearly see how far you have come.
What it does
Users can record a video journal or write a text entry. The app captures browser speech-to-text while recording, asks optional live reflection or learning-baseline questions, and saves the video with its transcript. After recording, Gemini creates a final analysis with a detailed summary, quick recap, takeaways, emotions, important events, growth signals, and future revisit cues. The app can later compare a new journal entry with older entries to suggest meaningful revisits, such as looking back at a first day in a new program, job, or skill.
How we built it
We built the frontend with React and Vite, and the backend with Flask. Browser APIs handle webcam recording, microphone access, WebM video creation, and live speech recognition. Flask receives the completed recording and transcript. Videos are stored in TiDB as database chunks, while structured journal data is stored in related TiDB tables. Gemini analyzes the transcript, generates embeddings for future similarity matching, and creates optional live questions. Final analysis runs through a persistent TiDB-backed queue so video saving stays responsive and temporary Gemini failures retry automatically.
Challenges we ran into
One challenge was making recorded WebM videos play correctly after being stored as database chunks and streamed back through Flask. We also had to handle Gemini rate limits, temporary model availability errors, and a retired embedding endpoint. We solved this with model fallback, automatic retries with backoff, and a durable queue stored in TiDB. Another challenge was preventing generic AI questions. We refined the prompting so questions respond to the actual conversation and can ask useful baseline questions when someone starts a new course, role, or skill.
Accomplishments that we're proud of
We built a complete flow from webcam recording to database storage, transcription, AI analysis, and playback.
What we learned
We learned how to work with browser media APIs, speech recognition, React and Flask integration, TiDB storage, Gemini prompting, embeddings, and asynchronous job processing. We also learned that reliable AI features need good failure handling. A useful app has to handle unavailable APIs, retries, missing transcripts, and playback issues without losing the user’s recording.
What's next for app log
Next, we want to finish the revisit system so users automatically receive relevant past recordings when they hit milestones or discuss related goals.
Log in or sign up for Devpost to join the conversation.