Here’s an updated version of the README that includes insights about key dependencies:
In today's digital age, students face the challenge of managing vast amounts of educational content spread across devices. According to FileMaker Inc., 50% of students lack a unified system to manage academic materials, and 87% believe better organization would improve their grades. Srtd was created to solve this problem, leveraging AI to intelligently organize and locate relevant files, allowing students to focus on learning and achieving academic success.
Selecting files from home screen
Srtd is an intelligent file management solution that simplifies and optimizes file organization:
- AI-Driven Contextual Understanding: Analyzes content relationships to cluster files intelligently.
- Pattern Matching: Uses fuzzy matching for identifying similar filenames and content.
- Efficient Summarization: Automatically summarizes files, making it easy to find relevant information.
- Bulk Processing: Organizes and categorizes multiple files simultaneously, saving time and effort.
Srtd automates tedious organizational tasks, empowering students and educators to focus on learning and discovery.
- PySide6: Provides a cross-platform graphical user interface for seamless user interaction.
- RapidFuzz/TheFuzz: Enables fast and accurate fuzzy string matching for finding similar filenames and content.
- OpenAI API: Powers advanced AI-based file analysis, including summarization and contextual understanding.
- PyPDF2: Handles PDF processing for extracting text and metadata from educational documents.
- Weaviate: A vector database that facilitates semantic search and efficient embedding storage for AI analysis.
- File Analysis: Srtd accesses the file system and processes files into structured objects.
- AI Integration: Files are analyzed using OpenAI's API to generate summaries, extract key information, and create embeddings.
- Organization Logic:
- Fuzzy matching identifies similarities between files.
- AI embeddings group files based on content context.
- User Interface: A GUI displays:
- Original and suggested file locations.
- Confidence scores for organizational decisions.
- File summaries for easy understanding.
- User Confirmation: After user review, Srtd organizes files based on approved suggestions.
UML diagram of the business logic
- Purpose: A vector database designed for semantic search and similarity-based queries.
- Why We Use It:
- Efficiently stores embeddings generated by the OpenAI API.
- Enables semantic similarity matching, allowing Srtd to cluster files based on contextual relationships.
- Benefits: Scalability, fast retrieval, and AI-native design, making it ideal for projects involving large datasets.
- Purpose: Provides AI capabilities, including text summarization, key information extraction, and embedding generation.
- Why We Use It:
- Generates rich embeddings for semantic analysis.
- Summarizes and analyzes file content, reducing the need for manual review.
- Benefits: State-of-the-art NLP capabilities that enhance contextual understanding of file content.
- Purpose: A Qt-based framework for building cross-platform graphical user interfaces.
- Why We Use It:
- Allows the creation of an interactive, user-friendly interface.
- Provides extensive customization options to display file organization suggestions effectively.
- Benefits: Cross-platform compatibility and comprehensive GUI tools, essential for user interaction.
- Purpose: A high-performance library for string similarity calculations.
- Why We Use It:
- Identifies and matches similar filenames or content based on fuzzy logic.
- Handles typos, partial matches, and variations effectively.
- Benefits: Lightweight, fast, and highly accurate for real-time similarity calculations.
- Merge Conflicts: Coordinating team contributions resulted in conflicts, delaying progress.
- GUI Development: Limited experience with PySide6 made GUI implementation challenging and time-intensive.
- Python-Specific Challenges: Lack of static typing led to runtime errors that were difficult to debug.
- Fully Functional GUI: Despite limited experience, we successfully implemented a cross-platform interface.
- Seamless Integration: Combined multiple technologies (AI, fuzzy matching, PDF processing, and a vector database) into a cohesive system.
- Strong Team Collaboration: Leveraged individual expertise while fostering knowledge sharing, ensuring efficient task completion.
- Scope Management: Breaking down features into smaller, manageable components is critical.
- GUI Complexity: GUI development requires more time and preparation than initially expected.
- Language Constraints: Python's simplicity can mask challenges like debugging runtime errors due to lack of static typing.
- Enhanced Search:
- Implement advanced fuzzy matching algorithms like Levenshtein distance.
- Integrate contextual search using neural information retrieval models.
- Improved Keyboard Navigation:
- Introduce a consistent shortcut system for faster navigation.
- AI Enhancements:
- Utilize advanced NLP for improved document understanding.
- Implement multi-layer learning models for smarter document classification.
Srtd redefines file organization with intelligence and simplicity, empowering students and educators to achieve their goals. 🚀



