https://github.com/fanyicharllson/whichemail-web
π WhichEmail Web - AI-powered email credential manager built with Next.js. Never forget which email you used for any service. Features smart search, biometric security, and analytics. Cross-platform companion to the mobile app.
https://github.com/fanyicharllson/whichemail-web
api appwrite nextjs pnpm react react-query tailwindcss typescript vercel
Last synced: 2 months ago
JSON representation
π WhichEmail Web - AI-powered email credential manager built with Next.js. Never forget which email you used for any service. Features smart search, biometric security, and analytics. Cross-platform companion to the mobile app.
- Host: GitHub
- URL: https://github.com/fanyicharllson/whichemail-web
- Owner: fanyicharllson
- Created: 2025-11-03T00:08:00.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-11-03T01:04:07.000Z (8 months ago)
- Last Synced: 2025-11-03T03:07:15.707Z (8 months ago)
- Topics: api, appwrite, nextjs, pnpm, react, react-query, tailwindcss, typescript, vercel
- Language: TypeScript
- Homepage:
- Size: 125 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π WhichEmail Web
> AI-powered email credential manager - Never forget which email you used for any service.
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://tailwindcss.com/)
[](https://opensource.org/licenses/MIT)
**Live Demo:** [whichemail.app](https://whichemail.charlseempire.tech) _(coming soon)_
---
## β¨ Features
- π **Secure Authentication** - Email/password & Google OAuth
- π§ **Service Management** - Track which email you used for each service
- π€ **AI Assistant** - Natural language search powered by Google Gemini
- π **Analytics Dashboard** - Insights into your digital footprint
- β **Favorites** - Quick access to frequently used services
- π **Dark Mode** - Beautiful UI in light and dark themes
- π€ **Export Data** - Backup your data in JSON/CSV formats
- π **Smart Search** - Find services instantly
- π± **Responsive Design** - Works on mobile, tablet, and desktop
- π **Progressive Web App** - Install to home screen
---
## π― Why WhichEmail?
Ever tried logging into a service and couldn't remember which email you used? Gmail? Yahoo? Work email?
**WhichEmail solves this problem** by organizing all your login credentials in one secure place, with AI-powered search to find them instantly.
---
## π οΈ Tech Stack
- **Framework:** [Next.js 14](https://nextjs.org/) (App Router)
- **Language:** [TypeScript](https://www.typescriptlang.org/)
- **Styling:** [Tailwind CSS](https://tailwindcss.com/)
- **UI Components:** [shadcn/ui](https://ui.shadcn.com/)
- **Backend:** [Appwrite](https://appwrite.io/)
- **State Management:** [TanStack Query (React Query)](https://tanstack.com/query)
- **AI:** [Google Gemini](https://ai.google.dev/)
- **Icons:** [Lucide Icons](https://lucide.dev/)
- **Deployment:** [Vercel](https://vercel.com/)
---
## π Quick Start
### Prerequisites
- Node.js 18+
- npm/yarn/pnpm
- Appwrite account ([cloud.appwrite.io](https://cloud.appwrite.io))
- Google Gemini API key ([ai.google.dev](https://ai.google.dev))
### Installation
```bash
# Clone the repository
git clone https://github.com/fanyicharllson/whichemail-web.git
cd whichemail-web
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your credentials
# Run development server
npm run dev
```
Open [http://localhost:3000](http://localhost:3000) in your browser.
---
## π§ Environment Variables
Create a `.env.local` file in the root directory:
```env
# Appwrite Configuration
NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
NEXT_PUBLIC_APPWRITE_PROJECT_ID=your_project_id
NEXT_PUBLIC_APPWRITE_DATABASE_ID=your_database_id
NEXT_PUBLIC_APPWRITE_COLLECTION_SERVICES_ID=your_collection_id
NEXT_PUBLIC_APPWRITE_COLLECTION_USERS_ID=your_users_collection_id
# Google Gemini AI
NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key
# App Configuration
NEXT_PUBLIC_APP_URL=http://localhost:3000
```
---
## π Project Structure
```
whichemail-web/
βββ app/ # Next.js App Router
β βββ (auth)/ # Authentication pages
β β βββ login/
β β βββ register/
β β βββ forgot-password/
β βββ (dashboard)/ # Protected dashboard pages
β β βββ layout.tsx # Dashboard layout with sidebar
β β βββ page.tsx # Home/Overview
β β βββ services/ # Services management
β β βββ ai-assistant/ # AI chat interface
β β βββ analytics/ # Analytics dashboard
β β βββ settings/ # User settings
β βββ layout.tsx # Root layout
β βββ page.tsx # Landing page
βββ components/
β βββ ui/ # shadcn/ui components
β βββ layout/ # Layout components (Header, Sidebar)
β βββ features/ # Feature-specific components
β βββ shared/ # Reusable components
βββ lib/
β βββ appwrite.ts # Appwrite client setup
β βββ queries/ # React Query hooks
β βββ utils.ts # Utility functions
βββ hooks/ # Custom React hooks
βββ types/ # TypeScript type definitions
βββ public/ # Static assets
```
---
## π¨ Key Features Explained
### AI Assistant
Ask questions in natural language:
- "Which email did I use for Netflix?"
- "Show me all my shopping services"
- "I created an account in 2023 for gaming"
### Security
- All passwords encrypted on the server
- Appwrite handles authentication & authorization
- No passwords stored in plain text
- Secure session management
### Analytics
- Track total services
- Monitor unique emails used
- Security score based on password coverage
- Activity trends and insights
---
## π± Mobile App
Looking for the mobile version?
π **Android:** [WhichEmail on Google Play](#) _(link when published)_
π **React Native Repo:** [whichemail-mobile](https://github.com/fanyicharllson/whichemail-mobile-app)
---
## π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
---
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
## π¨βπ» Author
**Fanyi Charllson**
- GitHub: [@fanyicharllson](https://github.com/fanyicharllson)
- LinkedIn: [Fanyi Charllson](https://linkedin.com/in/fanyicharllson)
- Twitter: [@fanyicharllson](https://twitter.com/fanyicharllson)
---
## π Acknowledgments
- Built as a university project for Mobile App Development course
- Inspired by personal frustration with forgetting login emails
- Special thanks to the open-source community
---
## πΊοΈ Roadmap
- [x] Core CRUD functionality
- [x] AI-powered search
- [x] Analytics dashboard
- [x] Dark mode
- [ ] iOS native app
- [ ] Browser extension
- [ ] Password strength analyzer
- [ ] Two-factor authentication
- [ ] Team/family sharing
- [ ] Import from other password managers
---
## π Stats



---
## π¬ Support
If you have any questions or need help, feel free to:
- Open an [issue](https://github.com/fanyicharllson/whichemail-web/issues)
- Reach out on [Twitter](https://twitter.com/fanyicharllson)
- Email: your.email@example.com
---
**[β¬ Back to Top](#-whichemail-web)**
Made with β€οΈ by [Fanyi Charllson](https://github.com/fanyicharllson)
If you found this project helpful, please consider giving it a β!