Mindmap Generator is a dynamic web application that creates visual mindmaps based on user-input topics. It leverages AI to generate comprehensive, hierarchical representations of ideas, making it an excellent tool for brainstorming, studying, or organizing thoughts.
- AI-Powered Mindmap Generation: Enter any topic, and the app will create a detailed mindmap.
- Interactive UI: Smooth animations and transitions for an engaging user experience.
- Responsive Design: Works well on both desktop and mobile devices.
- Error Handling: Provides clear feedback and troubleshooting steps if issues occur.
- Real-time Loading Indicator: Animated "cooking" state while the mindmap is being generated.
- Frontend: React with Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Icons: Lucide React
- API: Next.js API Routes
- Visualization: D3.js
-
Clone the repository:
git clone https://github.com/satvik314/ai-mindmaps.git
-
Navigate to the project directory:
cd ai-mindmaps
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env.local
file in the root directory and addGROQ_API_KEY
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser to see the application.
- Enter a topic in the input field.
- Click the "Generate" button or press Enter.
- Wait for the mindmap to be generated.
- Explore the generated mindmap.
/api/generate-mindmap
: POST request to generate a mindmap based on the provided topic.
Page
: Main component that handles the UI and state management.MindMap
: Component responsible for rendering the generated mindmap.
The application uses Tailwind CSS for styling, with custom gradients and animations for a modern, engaging look. Special attention has been given to color contrast to ensure readability and accessibility:
- The main content uses dark text on light backgrounds for optimal readability.
- The mindmap component uses a color scheme that ensures sufficient contrast between nodes and connections.
- Interactive elements like buttons have distinct hover and active states for better user feedback.
If you notice any issues with color contrast, please report them in the issues section of this repository.
The app provides detailed error messages and troubleshooting steps if an issue occurs during mindmap generation.
- The app uses React's
useState
for state management. - Framer Motion is used for animations, which are optimized for performance.
- API calls are made only when the user submits a topic, preventing unnecessary server load.
- Add the ability to save and share generated mindmaps.
- Implement user authentication for personalized experiences.
- Add more customization options for mindmap appearance.
- Integrate with note-taking or project management tools.
Contributions are welcome! Please feel free to submit a Pull Request.
Satvik - satvik@buildfastwithai.com