{"id":15136440,"url":"https://github.com/patbqc/thoughtforgeai","last_synced_at":"2025-04-13T04:35:10.780Z","repository":{"id":255540048,"uuid":"850825807","full_name":"PatBQc/ThoughtForgeAI","owner":"PatBQc","description":"Forge your thoughts through an AI powered brainstorming session !","archived":false,"fork":false,"pushed_at":"2024-09-16T01:31:11.000Z","size":12963,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-16T22:47:17.553Z","etag":null,"topics":["ai","anthropic","brainstorm","brainstorming","brainstorms","mobile","openai","reactnative","whisper"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PatBQc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-01T22:04:53.000Z","updated_at":"2024-09-30T15:58:02.000Z","dependencies_parsed_at":"2024-09-06T01:00:48.364Z","dependency_job_id":"229cc9fa-3b67-4bff-9672-8b55a13d87c5","html_url":"https://github.com/PatBQc/ThoughtForgeAI","commit_stats":null,"previous_names":["patbqc/thoughtforgeai"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PatBQc%2FThoughtForgeAI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PatBQc%2FThoughtForgeAI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PatBQc%2FThoughtForgeAI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PatBQc%2FThoughtForgeAI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PatBQc","download_url":"https://codeload.github.com/PatBQc/ThoughtForgeAI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222459310,"owners_count":16987946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","anthropic","brainstorm","brainstorming","brainstorms","mobile","openai","reactnative","whisper"],"created_at":"2024-09-26T06:21:47.239Z","updated_at":"2024-10-31T17:42:10.146Z","avatar_url":"https://github.com/PatBQc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![ThoughtForgeAI Banner](https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/new%20logo/banner.png)\n\n# ThoughtForgeAI\n\nThoughtForgeAI is a cutting-edge React Native application designed to revolutionize brainstorming sessions through AI assistance. It enables users to engage in voice conversations with advanced AI models (such as OpenAI's GPT or Anthropic's Claude), record these sessions, and efficiently manage the resulting knowledge base.\n\n## Features\n\n- Voice-based interaction with AI for dynamic brainstorming sessions\n- Automatic transcription of voice recordings using OpenAI's Whisper API\n- Comprehensive conversation history management\n- High-quality audio playback of recorded sessions\n- Cross-platform support \n  - Developed on Android\n  - Windows work with react-native-windows and Electron but no release yet\n  - iOS not addressed yet\n- Data synchronization with OneDrive\n- Integration with OneNote for structured knowledge base management\n- Dark/Light theme support with system preference detection\n- Automatic subject summarization for easy conversation categorization\n- Individual message audio playback with Text-to-Speech fallback\n\n## Technologies Used\n\n- [React Native](https://reactnative.dev/) for cross-platform mobile development\n- [TypeScript](https://www.typescriptlang.org/) for type-safe code\n- [OpenAI Whisper API](https://openai.com/research/whisper) for accurate voice transcription\n- [Anthropic Claude API](https://www.anthropic.com/) for advanced AI interactions\n- [React Navigation](https://reactnavigation.org/) for seamless app navigation\n- [react-native-sound](https://www.npmjs.com/package/react-native-sound/) for advanced audio management\n- [Microsoft Graph API](https://developer.microsoft.com/en-us/graph) for OneNote integration\n- [AsyncStorage](https://react-native-async-storage.github.io/async-storage/) for local data persistence\n\n## Getting Started\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) (v14 or later)\n- [npm](https://www.npmjs.com/) (comes with Node.js) or [yarn](https://yarnpkg.com/)\n- [React Native development environment](https://reactnative.dev/docs/environment-setup) set up\n- [Android Studio](https://developer.android.com/studio) (for Android development)\n- [Xcode](https://developer.apple.com/xcode/) (for iOS development, macOS only)\n- [Visual Studio Code](https://code.visualstudio.com/) (recommended IDE)\n\n### Installation\n\n1. Clone the repository:\n   ```\n   git clone https://github.com/PatBQc/ThoughtForgeAI.git\n   ```\n\n2. Navigate to the project directory:\n   ```\n   cd ThoughtForgeAI/ThoughtForgeAI\n   ```\n\n3. Install dependencies:\n   ```\n   npm install\n   ```\n   or\n   ```\n   yarn install\n   ```\n\n4. Set up environment variables:\n   Create a `.env` file in the root directory and add your API keys:\n   ```\n   OPENAI_API_KEY=your_openai_api_key\n   ANTHROPIC_API_KEY=your_anthropic_api_key\n   MICROSOFT_CLIENT_ID=your_microsoft_graph_client_id\n   ```\n\n5. Run the application:\n   - For Android:\n     ```\n     npx react-native run-android\n     ```\n   - For iOS:\n     ```\n     npx react-native run-ios\n     ```\n\n## Project Structure\n\n- `/screens`: Main screen components (BrainstormScreen, ConversationFilesScreen, SettingsScreen)\n- `/components`: Reusable React components (MessageBubble, AudioPlayer)\n- `/services`: API and service integrations (apiService, claudeService, openAIService, oneNoteService)\n- `/utils`: Utility functions and helpers (formatConversation, systemPrompt)\n- `/theme`: Theme configuration and context provider\n- `/types`: TypeScript type definitions\n\n## Key Components\n\n### BrainstormScreen\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/light-brainstorm.png\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/light-brainstorm.png\" width=\"25%\" style=\"margin: 20px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/dark-brainstorm.png\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/dark-brainstorm.png\" width=\"25%\" style=\"margin: 20px;\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nThe core of the application where users interact with the AI, record voice inputs, and view conversation history.\n\n### ConversationFilesScreen\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/light-conversations.png\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/light-conversations.png\" width=\"25%\" style=\"margin: 20px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/dark-conversations.png\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/dark-conversations.png\" width=\"25%\" style=\"margin: 20px;\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nDisplays all recorded conversations with options to view details, play audio, and export to OneNote.\n\n### SettingsScreen\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/light-settings.png\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/light-settings.png\" width=\"25%\" style=\"margin: 20px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/dark-settings.png\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/PatBQc/ThoughtForgeAI/main/metadata/screenshots/dark-settings.png\" width=\"25%\" style=\"margin: 20px;\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nAllows users to configure API keys, toggle themes, and manage OneNote integration.\n\n### MessageBubble\nA versatile component for displaying conversation messages with integrated audio playback.\n\n## Features in Detail\n\n### AI Integration\nUtilizes Anthropic's Claude API for generating contextually relevant responses in brainstorming sessions.\n\n### Voice Recording and Transcription\nImplements voice recording functionality with automatic transcription using OpenAI's Whisper API.\n\n### OneNote Integration\nEnables exporting conversations to OneNote for persistent knowledge management.\n\n### Theme Support\nOffers dark and light themes with automatic system preference detection for optimal user experience.\n\n### Audio Playback\nAdvanced audio management using react-native-track-player for high-quality playback of recorded sessions.\n\n## Roadmap\n\n- [x] Basic app structure and navigation\n- [x] Voice recording and playback\n- [x] Integration with OpenAI Whisper for transcription\n- [x] Integration with Anthropic Claude for AI interactions\n- [x] Conversation history management\n- [x] OneNote integration for knowledge base management\n- [x] Dark/Light theme support\n- [x] Automatic subject summarization\n- [ ] OneDrive integration for data synchronization\n- [ ] iOS compatibility testing and fixes\n- [ ] Performance optimizations for large conversation histories\n- [ ] Electron-based desktop version\n\n## Contributing\n\nContributions are welcome and greatly appreciated! Please feel free to submit a Pull Request.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## Development Notes\n\n- 95% of the coding was done through Anthropic Claude 3.5 Sonnet Copy / Pasting\n- Current development and testing have been primarily done with Android emulators\n- iOS compatibility is a work in progress\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- [OpenAI](https://openai.com/) for the Whisper API\n- [Anthropic](https://www.anthropic.com/) for the Claude API\n- [Microsoft](https://www.microsoft.com/) for the Graph API and OneNote integration\n- The React Native community for their excellent documentation and support\n\n## Contact\n\nPatrick Bélanger - [@PatBQc](https://github.com/PatBQc)\n\nProject Link: [https://github.com/PatBQc/ThoughtForgeAI](https://github.com/PatBQc/ThoughtForgeAI)\n\nTo learn more about the developer, visit:\n- Website: https://www.patb.ca\n- GitHub profile: https://github.com/PatBQc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatbqc%2Fthoughtforgeai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatbqc%2Fthoughtforgeai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatbqc%2Fthoughtforgeai/lists"}