An elite autonomous AI Research Agent specialized in transforming journals, academic papers, and PDFs into fully structured thesis-quality academic documents.
- Automated Structure Generation: Generate comprehensive academic thesis structures based on your research topic.
- Content Drafting: Leverage Gemini AI to draft content for specific chapters.
- Research Source Persistence: Manage and track research sources directly within the dashboard.
- Real-time Metrics: Track platform usage with a real-time visitor counter.
- Easy Export/Share: Share your thesis projects effortlessly.
- Frontend: React, Vite, Tailwind CSS
- Backend/Services: Node.js, Express (proxy/server)
- Database/Auth: Firebase Firestore & Authentication
- AI: Google Gemini API
- Web3: Celo, MiniPay, Wagmi & Viem
ThesisAI is integrated with the Celo blockchain and optimized for MiniPay (Opera Mini's built-in wallet).
- MiniPay Optimized: Automatic detection and seamless connection when used inside the MiniPay browser.
- Support Feature: Users can support development by sending CELO directly to the developer's wallet.
- WalletConnect Integration: Utilizes WalletConnect for secure and reliable connection handling.
- Node.js (v18+)
- npm
- WalletConnect Project ID: Required for Web3 functionality (get one at cloud.walletconnect.com).
- Clone the repository.
- Install dependencies:
npm install
Create a .env file based on .env.example and populate the required keys:
GEMINI_API_KEY: Google Gemini API key.VITE_WALLET_CONNECT_PROJECT_ID: Your WalletConnect Project ID.VITE_CELO_WALLET_ADDRESS: Target CELO wallet address for support payments.
Since firebase-applet-config.json contains public API keys (which GitHub's scanner may flag), it is excluded from the repository.
To run this project locally, you must create a firebase-applet-config.json file in the root directory with the following structure:
{
"projectId": "your-project-id",
"appId": "your-app-id",
"apiKey": "AIza...",
"authDomain": "your-project.firebaseapp.com",
"firestoreDatabaseId": "your-db-id",
"storageBucket": "your-project.firebasestorage.app",
"messagingSenderId": "your-sender-id",
"measurementId": ""
}Start the development server:
npm run devContributions are welcome! Please open an issue to discuss proposed changes.
MIT