Stats

1
Projects
11
Devlogs
40
Votes
1
Ships

Coding Time

All Time: 12h 44m
Today: 0h 0m

Member Since

June 16, 2025

Badges

1
🚢
Maiden Voyage
you shipped your first project! the journey begins...

Projects

1
MindPilot

MindPilot

Shipped
11 devlogs about 2 months ago

Activity

Devlog: Bringing “Notes → Explanation” to MindPilot

Date: August 14, 2025
Project: MindPilot – Your AI Learning Companion
Feature: Notes → Explanation

What I built

Over the last session, I implemented a brand-new Notes → Explanation feature in MindPilot.
This allows users to either paste their study notes or upload a .txt file and have the AI turn those raw notes into a well-structured, easy-to-understand explanation.

It supports:
• Selecting a subject (Math, Programming, History, etc.)
• Choosing a detail level (Simple / Normal / Detailed)
• Markdown-based output with headings, bullet points, and examples
• AI-powered restructuring of content for better clarity

Why I built it

One of my goals with MindPilot is to make it a true companion for learning, not just a Q&A tool.
Many students already take their own notes, but those notes might be messy, incomplete, or hard to study from later.
With this feature:
• You can transform raw, unstructured notes into clear, organized study material.
• You can control the level of complexity based on your understanding.
• It helps with revision before exams by breaking down information into digestible chunks.

How it works
1. Frontend (NotesAssistant.jsx)
• Lets the user choose a subject and detail level.
• Accepts either pasted notes (textarea) or a .txt file upload.
• Sends this data as a multipart form to the backend.
• Renders AI output as clean, safe HTML using marked + DOMPurify.
2. Backend (main.py)
• Receives the notes text or file.
• Builds a tailored AI prompt based on the chosen detail level.
• Uses the current AI model (Cohere) to generate a structured explanation in Markdown.
• Returns the result to be displayed on the frontend.

Challenges & Learnings
• File Handling: Needed to handle both pasted text and file uploads in one endpoint.
• Prompt Design: Carefully designed prompts for Simple, Normal, and Detailed modes to ensure the AI adapts its tone and depth.
• Markdown Rendering: Sanitized all AI output to prevent HTML injection while keeping the formatting intact.

Next Steps

For future versions:
• Support for PDF, DOCX, and PPTX uploads (planned for V3).
• Allow multi-language explanations (Hungarian, German, etc.).
• Save all processed explanations to the user’s learning history for later review.

Reflection

This feature pushes MindPilot one step closer to being the ultimate AI-powered learning partner.
It not only answers questions but also transforms messy input into structured, clear study material — exactly the kind of smart support I envisioned when starting this project.

📝 MindPilot Change Log - Today's Updates
🚀 New Features Added

✨ Learning Tips System
- Added AI-powered learning tips to both MainPage and Milestones pages
- Smart tip generation using Cohere AI API with fallback tips
- Real-time loading states with spinner indicators
- Responsive design that adapts to different screen sizes

📅 Enhanced Milestones Page
- Learning tips integration - Users now see helpful study advice alongside their milestones
- Improved progress tracking with visual progress bars
- Overdue milestone warnings with clear visual indicators
- Better milestone management with complete/undo functionality

Enhanced MainPage
- Learning tips section added below the explanation area
- Consistent theming with the rest of the application
- Seamless integration with existing explanation features

🐛 Bugs Fixed

Backend Issues
- Fixed import error - generate_learning_tips function was nested incorrectly
- Fixed API endpoint mismatch - Changed from POST to GET to match frontend calls
- Added proper error handling with fallback tips if AI service fails
- Fixed deployment issues on Render platform

Frontend Issues
- Fixed infinite re-render bug in Milestones page useEffect
- Fixed API URL configuration - Updated from localhost:8000 to 0.0.0.0:10000
- Improved error handling for API calls

🔧 Technical Improvements

Backend (backend/ai_service.py)
- Restructured function organization - Moved generate_learning_tips to module level
- Enhanced error handling - Added try-catch blocks with meaningful fallbacks
- Improved API response format - Consistent JSON structure

Backend (backend/main.py)
- Updated API endpoint - /api/generate-tips now uses GET method
- Simplified request handling - Removed unnecessary request body parsing
- Better response formatting - Returns {"tips": [...]} structure

Frontend (frontend/src/pages/Milestones.jsx)
- Added tips state management - tips and loadingTips state variables
- Fixed useEffect dependencies - Prevents infinite re-renders
- Enhanced UI components - Tips section with proper styling

Frontend (frontend/src/pages/MainPage.jsx)
- Added learning tips integration - New tips section with modern design
- Consistent styling - Uses CSS variables for theme consistency
- Improved user experience - Loading states and error handling

🎨 UI/UX Enhancements

Visual Design
- Modern tip cards with subtle borders and shadows
- Consistent color scheme using CSS variables
- Responsive layout that works on all screen sizes
- Loading animations with spinner icons

Update attachment

Some UI improvements and bug fixes on the go!!! And also enhanced Dark/Light mode capability!!!

📌 Since Last Devlog…
Since our initial build and deployment, we’ve added essential groundwork for personalized learning through a Learning Style Quiz and integrated a simple user memory system via localStorage.
✅ New Features & Progress
🧩 Learning Style Quiz
• Built and integrated a 10-question learning style quiz
• Questions cover preferences like visual vs verbal, solo vs group, structured vs flexible learning
• On completion, the result is:
• Stored in localStorage (shown only once)
• Passed as learningProfile prop to the MainPage
• Displayed to the user as their profile
• Quiz is dynamically rendered with radio inputs and state-managed answers
🔁 State & Routing Improvements
• Quiz appears only on first app load
• React routing logic added: user is redirected to /quiz if no profile is found
• Profile presence is tracked via localStorage.getItem(learningProfile)
🧠 Profile Integration in MainPage
• MainPage.jsx now adapts based on learningProfile
(currently displayed, later will affect AI prompt behavior)
• Future AI prompt generation can use this profile to tailor tone, style, and depth
🔧 Technical Notes
• Cohere is still our AI backend (via /api/explain)
• App structure remains clean and modular:
• /components/LearningStyleQuiz.jsx
• /pages/MainPage.jsx updated with prop-based profile integration
• Routing handled via App-level state check (React Router planned for v2+)
🧪 Next Up
We’re focusing on features that can still be handled by the Cohere API:
• 🎯 Saving and retrieving full quiz results for future tailoring
• 📝 Basic study history log (session-based or saved explanations)
• 📆 Early calendar placeholder (non-synced)
🌟 Reflections
We now have the foundation to personalize learning experiences. Once we switch to a more advanced AI (likely OpenAI GPT-4o), we’ll unlock the ability to deeply adapt explanations, build schedules, analyze study patterns, and more.

Update attachment

📘 Devlog — July 20, 2025
✅ Milestone: First Public Deployment Complete!

Today marks a huge step forward for the MindPilot project — we successfully deployed the app publicly using Render! After solving a series of frontend and backend integration issues, the app now works flawlessly in production.

🚀 What was accomplished today:

🔧 Fixed all production build issues (e.g. vite build failures, StaticFiles directory, missing modules)
⚙️ Finalized build.sh script to automate frontend & backend integration
🧠 Verified the full explain flow works end-to-end with Cohere's API
✅ Functional features working in public:
Topic input
Subject selection dropdown
Detail level selection (simple / normal / detailed)
AI explanation generation
Save explanation to localStorage
Download explanation as .txt
🧪 Testing Outcome:

The live site correctly loads the React app.
Explanations are generated and displayed with Markdown rendering.
Saving and downloading works seamlessly.
No frontend or backend errors observed post-deployment.
📦 Deployment stack:

Frontend: React + Vite
Backend: FastAPI + Cohere API
Deployment: Render (build & runtime), build script included
Static hosting: Vite build output served via FastAPI with StaticFiles
🗒️ Next Steps:

Launch public testing (gather user feedback)
Begin implementing MindPilot v2 roadmap:
🔍 Search result highlighting
🧠 Learning profile features
📅 Smart calendar and study planner
📈 Visual progress tracking
💡 Topic relationship visualizer

Update attachment

🛠️ Devlog – June 24, 2025
📌 Summary:
Today, we focused on making previously saved explanations easier to navigate by implementing a search feature on the History page of MindPilot. This significantly improves usability, especially as the list of saved explanations grows.
✅ What Got Done:
🔍 Search Functionality for History Page:
Users can now search their saved explanations by topic keyword.
The search is real-time and filters the list instantly based on input.
Ensures better access to relevant explanations without having to scroll through the entire list.
🧠 Planning and Vision Refinement:
Reconfirmed the direction of MindPilot as a smart learning assistant.
Prioritized features for the upcoming 2.0 roadmap (e.g., smart calendar, learning style profiling).
Discussed positioning the app as a year-end exam project, portfolio piece, and possible thesis foundation.
🧩 What’s Next:
Start implementing filters by subject and sorting by date on the History page.
Begin groundwork for the Study Planner module powered by AI and integrated with a user-managed calendar.

Update attachment

🛠️ Devlog – June 23, 2025
Today's focus: UX improvements, dark mode support, and a new History page
Today’s session was all about polishing the user experience and adding more structure to the app. Here's a summary of the progress I made:
✅ Key Improvements
🌗 Automatic dark mode support
MindPilot now adapts to the user’s system theme. If your OS/browser is in dark mode (like Safari on macOS), the interface adjusts accordingly — ensuring proper contrast, readable text, and overall visual consistency.
📂 New History Page
I created a dedicated History page that shows all previously saved explanations. This marks a big step toward treating MindPilot as more than just a one-time assistant — it’s becoming a true personal knowledge companion.
🛠️ Component refactoring
I started organizing the app structure by creating a pages/ directory and splitting components like the main interface and the history view into separate route-driven pages using React Router. It’s cleaner, easier to manage, and future-proof.
🎨 Minor UI polish
I fine-tuned contrast and layout spacing so that elements like the prompt, dropdowns, and output text don’t clash in either dark or light modes.
💡 Reflections
While the changes today were mostly visual and structural, they add up to something important: comfort. Users will now feel more at home using the app — whether it’s at night on a dark screen or when reviewing past learning moments.
🔜 Next Steps
Add advanced filtering and search in the History page
Optionally allow editing or deleting saved explanations
Add animations or loading transitions
Begin working on subject-based progress tracking

Update attachment

Devlog – 2025.06.21

Today I worked on enhancing the MindPilot app by adding a detail level selection feature for AI explanations. This allows users to choose how simple or detailed they want their explanations to be, making the app more flexible and user-friendly for different learning needs.

The detail level selector was successfully implemented as a dropdown, and I connected it to the backend so the AI can tailor responses accordingly. This involved updating the frontend state management and adjusting the API calls to include the chosen detail level.

Additionally, I considered the idea of creating a separate page for this new functionality to keep the UI clean and organized. However, I decided to postpone this to tomorrow to maintain focus and avoid overcomplicating the current workflow.

Overall, today's work improved the app's usability and set the stage for further AI-powered customization options. Tomorrow, I plan to revisit the multi-page structure and start implementing additional AI features.

Update attachment

📅 Devlog — June 20, 2025
Today we added two key features that make MindPilot even more useful and flexible for learning.
✅ What’s New
📚 Multiple Subject Support
Users can now select the subject area (e.g., Physics, History, Programming, etc.) for their explanation. This allows the AI to generate more relevant and accurate responses tailored to the context of the topic.
💾 Save Explanation Feature
Added a “Save Explanation” button that allows users to download the generated answer as a .txt file. This makes it easy to save useful explanations for later review or offline study.
🚀 Why It Matters
These two features take MindPilot a step closer to becoming a versatile AI learning assistant. The subject selector improves the quality of explanations, while the ability to save results helps students stay organized and build their own personal knowledge base.

Update attachment

🛠️ Devlog – June 19, 2025
Today’s progress on MindPilot
✅ Backend successfully integrated with Cohere API:
We switched from OpenAI to Cohere due to API quota issues and integrated it smoothly into the FastAPI backend. The .env setup now safely handles API keys.
✅ Frontend-Backend Communication Established:
Our React frontend now successfully sends requests to the FastAPI backend and receives real-time topic explanations.
✅ Full UX cycle working end-to-end:
Users can now enter any topic, click “Explain,” and get a detailed explanation powered by AI, displayed directly in the interface.
✅ Stylish UI Enhancements:
Replaced text emojis with React Icons for a cleaner, more modern design. Added dynamic loading feedback and polished input/output layout to improve clarity and engagement.
🧠 What I learned:
How to debug CORS and API key issues in FastAPI
Connecting React frontend with a real-time backend
Using environment variables securely
UI/UX improvements with React Icons
🔜 Next steps:
Add explanation history
Personal session dashboard
Prepare mobile-responsiveness
Continue devlogs and start documenting feature roadmap

Update attachment

Dev Log – MindPilot – 2025.06.18
Today, significant progress was made on the backend of the MindPilot project. I successfully set up a FastAPI server that handles API requests for AI-powered topic explanations. I integrated the Cohere API using their Command R+ model to generate clear, simple explanations suitable for learners.
Key tasks completed:
Configured environment variables securely with a .env file for API key management.
Built the /api/explain POST endpoint that receives a topic and returns an AI-generated explanation.
Ensured proper CORS middleware settings to allow smooth communication with the React frontend running on localhost.
Tested the backend thoroughly using curl, Postman, and FastAPI’s interactive docs, confirming error-free responses.
Resolved common errors related to API key handling and Cohere client usage, improving the stability of the backend.
Next steps:
Connect the backend with the React frontend to create a seamless user experience.
Expand the AI capabilities by adding new features such as personalized progress tracking.
Begin planning for additional languages and multi-subject support.
Overall, today laid a solid foundation for the core AI functionality of MindPilot and set up a stable backend infrastructure for future development.

Update attachment
Zsombor Kukucska
Zsombor Kukucska created a project
58d ago

MindPilot

MindPilot is an AI-powered productivity and learning assistant designed to help users stay focused and understand any topic more effectively. As a technical high school student preparing for final exams, I often face two major problems: it's hard to stay concentrated for long periods, and it's even harder to understand difficult topics quickly and deeply. MindPilot was born from this personal frustration, a tool that combines a smart focus assistant with an intelligent tutor, all in a lightweight and accessible web app. MindPilot allows you to start distraction-free focus sessions using a timer-based system while keeping track of your progress. But what makes it unique is the ability to ask any question or type any topic, and the built-in AI (powered by Cohere’s Command R+ model) explains it in a clear and understandable way. Whether you're struggling with a math concept, a programming topic, or even a piece of history, MindPilot is here to help. The project is built using React for the frontend and FastAPI for the backend. It connects to the Cohere API to generate explanations in real time. A .env system is used to keep API keys safe, and the frontend and backend communicate through REST endpoints. Throughout the Summer of Making, I plan to extend MindPilot with new features such as: A personal progress dashboard Support for multiple subjects and languages Enhanced session analytics And eventually, a mobile app version The goal is to turn MindPilot into something that doesn't just help me but could help any student, self-learner, or curious mind around the world. It’s more than a study tool. It’s a digital co-pilot for your brain.

MindPilot
11 devlogs 0 followers Shipped
Zsombor Kukucska
Zsombor Kukucska joined Summer of Making
60d ago

This was widely regarded as a great move by everyone.