{"id":24916904,"url":"https://github.com/shane-reaume/talktodev","last_synced_at":"2026-04-12T17:13:03.930Z","repository":{"id":272482166,"uuid":"915850815","full_name":"shane-reaume/TalkToDev","owner":"shane-reaume","description":"POC project for learning Expo mobile development, along with an AI coding assistant backend.","archived":false,"fork":false,"pushed_at":"2025-01-14T17:27:52.000Z","size":424,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-18T13:48:07.837Z","etag":null,"topics":["ai","android","anthropic-ai","expo","ios","mobile","openai","react-native","web"],"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/shane-reaume.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":"2025-01-13T00:33:04.000Z","updated_at":"2025-01-14T17:32:00.000Z","dependencies_parsed_at":"2025-01-14T19:12:33.070Z","dependency_job_id":"8071c50d-f650-4d1d-9977-dfb9207145bc","html_url":"https://github.com/shane-reaume/TalkToDev","commit_stats":null,"previous_names":["shane-reaume/talktodev"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shane-reaume/TalkToDev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shane-reaume%2FTalkToDev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shane-reaume%2FTalkToDev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shane-reaume%2FTalkToDev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shane-reaume%2FTalkToDev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shane-reaume","download_url":"https://codeload.github.com/shane-reaume/TalkToDev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shane-reaume%2FTalkToDev/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269941101,"owners_count":24500625,"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","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","android","anthropic-ai","expo","ios","mobile","openai","react-native","web"],"created_at":"2025-02-02T08:19:22.611Z","updated_at":"2025-10-18T05:15:28.049Z","avatar_url":"https://github.com/shane-reaume.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TalkToDev\n\nThis is a POC project for learning Expo mobile development, along with an AI coding assistant backend. The concept is an AI coding assistant that helps you learn programming through natural conversation. Supports both OpenAI's GPT and Anthropic's Claude models.\n\n## Features\n\n### Currently Implemented\n- ✅ Cross-platform support\n  - Web (fully functional)\n  - iOS (fully functional)\n  - Android (in progress)\n- ✅ AI Integration\n  - OpenAI GPT-4 and GPT-3.5 support\n  - Anthropic Claude 3 support\n  - Language-specific conversations (Python, JavaScript, TypeScript)\n  - Clear separation of explanations and code examples\n  - Syntax highlighting for code blocks\n- ✅ Basic UI\n  - Programming language selection\n  - AI provider configuration\n  - Chat interface with code highlighting\n  - Voice input support (Web/iOS/Android)\n  - Auto-send messages after typing\n\n### In Progress\n- 🚧 Error Handling \u0026 Loading States\n  - Frontend loading indicators\n  - Error boundaries\n  - Graceful error recovery\n  - Network status handling\n\n### Planned Features\n- 📝 Conversation Management\n  - Chat history persistence\n  - Session management\n  - Context-aware conversations\n  - Export conversations\n\n- 🎤 Voice Input/Output\n  - Speech-to-text for questions\n  - Voice commands\n  - Accessibility support\n\n- 🔄 State Management\n  - Global state using Context/Redux\n  - Persistent settings\n  - User preferences\n\n- 🔒 User Authentication (Optional)\n  - User accounts\n  - Saved conversations\n  - API key management\n\n- ✨ Advanced Features\n  - Code execution playground\n  - Multiple language support in single chat\n  - GitHub integration\n  - Code snippet sharing\n\n## Project Structure\n\n```\nTalkToDev/\n├── frontend/         # React Native + Expo frontend\n│   ├── src/\n│   │   ├── components/    # Reusable UI components\n│   │   ├── screens/      # Screen components\n│   │   ├── services/     # API and utility services\n│   │   ├── context/      # React Context/State management\n│   │   └── hooks/        # Custom React hooks\n│   └── App.tsx          # Main application component\n│\n└── backend/          # Node.js + Express backend\n    ├── src/\n    │   ├── controllers/  # Request handlers\n    │   ├── services/     # Business logic\n    │   │   └── ai/      # AI service implementations\n    │   ├── routes/      # API routes\n    │   └── types/       # TypeScript type definitions\n    └── server.ts       # Main server file\n```\n\n## Setup\n\n### Prerequisites\n\n- Node.js 18+ and npm\n- Expo CLI (`npm install -g expo-cli`)\n- OpenAI API key and/or Anthropic API key\n- For iOS development:\n  - macOS\n  - Xcode 15+\n  - iOS Simulator or physical device\n- For Android development:\n  - Android Studio\n  - Android SDK\n  - Android Emulator or physical device\n\n### Quick Start\n\n1. Start the backend:\n   ```bash\n   cd backend\n   npm install\n   # Create .env file with your API keys (see Backend Setup section)\n   npm run dev\n   ```\n\n2. Start the frontend:\n   ```bash\n   cd frontend\n   npm install\n   # Create .env with EXPO_PUBLIC_API_URL=http://localhost:3000/api\n   ```\n\n3. Choose your platform:\n\n   For Web (recommended for development):\n   ```bash\n   npx expo start --web --clear\n   ```\n\n   For iOS:\n   ```bash\n   # Create development build for iOS\n   npx expo prebuild -p ios\n   npx expo run:ios\n   ```\n\n   After initial build, you can start the development server:\n   ```bash\n   npx expo start\n   ```\n   Then press:\n   - `w` for web\n   - `i` for iOS simulator\n\nNote: Android support is currently in development. We recommend using the web or iOS versions for now.\n\nNote: If you encounter build issues, you can clean the builds and try again:\n```bash\n# Clean builds (these are generated files)\nrm -rf frontend/ios/ frontend/android/ frontend/.expo/\ncd frontend\nnpm install\n```\n\n### Backend Setup\n\n1. Navigate to the backend directory:\n   ```bash\n   cd backend\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Create a `.env` file with your configuration:\n   ```\n   PORT=3000\n   NODE_ENV=development\n   OPENAI_API_KEY=your_openai_api_key_here\n   ANTHROPIC_API_KEY=your_anthropic_api_key_here\n   CORS_ORIGIN=http://localhost:19006\n   ```\n\n4. Start the development server:\n   ```bash\n   npm run dev\n   ```\n\n### Frontend Setup\n\n1. Navigate to the frontend directory:\n   ```bash\n   cd frontend\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Create a `.env` file:\n   ```\n   EXPO_PUBLIC_API_URL=http://localhost:3000/api\n   ```\n\n4. Start the application:\n   ```bash\n   # For web development:\n   npx expo start --web --clear\n   \n   # For iOS development:\n   npx expo run:ios\n   \n   # For Android development:\n   npx expo run:android\n   ```\n\nNote: When switching between platforms or after significant changes, you may need to clean the build:\n```bash\n# Clean builds\nrm -rf ios/ android/ web-build/ node_modules/ .expo/\nnpm install\n\n# Rebuild for your target platform\nnpx expo prebuild --clean\n```\n\n### Configuration\n\nAfter starting the app:\n1. Click the settings icon in the top right\n2. Select your AI provider (OpenAI or Anthropic)\n3. Enter your API key\n4. Enter the model name:\n   - For OpenAI: e.g., \"gpt-4\", \"gpt-3.5-turbo\"\n   - For Anthropic: e.g., \"claude-3-opus-20240229\", \"claude-3-sonnet-20240229\"\n5. Click Save\n\n### Usage\n\n1. Select your programming language (Python, JavaScript, or TypeScript)\n2. Type your question or click the microphone icon for voice input\n3. The app will automatically send your message after you stop typing\n4. View the AI's response with syntax-highlighted code examples\n\n## Development Roadmap\n\n### Phase 1 (Current)\n- ✅ Basic application structure\n- ✅ AI service integration\n- 🚧 Error handling \u0026 loading states\n\n### Phase 2\n- Conversation history management\n- Voice input implementation\n- State management setup\n\n### Phase 3\n- User authentication\n- Advanced features\n- Testing \u0026 optimization\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create a new Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshane-reaume%2Ftalktodev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshane-reaume%2Ftalktodev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshane-reaume%2Ftalktodev/lists"}