MCPcopy Index your code
hub / github.com/ammaarreshi/Gemini-Search

github.com/ammaarreshi/Gemini-Search @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
93 symbols 416 edges 73 files 0 documented · 0% updated 18mo ago★ 2,07110 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Gemini Search

A Perplexity-style search engine powered by Google's Gemini 2.0 Flash model with grounding through Google Search. Get AI-powered answers to your questions with real-time web sources and citations.

Created by @ammaar

Kapture 2025-01-04 at 14 35 14

Features

  • 🔍 Real-time web search integration
  • 🤖 Powered by Google's latest Gemini 2.0 Flash model
  • 📚 Source citations and references for answers
  • 💬 Follow-up questions in the same chat session
  • 🎨 Clean, modern UI inspired by Perplexity
  • ⚡ Fast response times

Tech Stack

  • Frontend: React + Vite + TypeScript + Tailwind CSS
  • Backend: Express.js + TypeScript
  • AI: Google Gemini 2.0 Flash API
  • Search: Google Search API integration

Setup

Prerequisites

  • Node.js (v18 or higher recommended)
  • npm or yarn
  • A Google API key with access to Gemini API

Installation

  1. Clone the repository:

bash git clone https://github.com/ammaarreshi/Gemini-Search.git cd Gemini-Search

  1. Install dependencies:

bash npm install

  1. Create a .env file in the root directory:

GOOGLE_API_KEY=your_api_key_here

  1. Start the development server:

bash npm run dev

  1. Open your browser and navigate to: http://localhost:3000

Environment Variables

  • GOOGLE_API_KEY: Your Google API key with access to Gemini API
  • NODE_ENV: Set to "development" by default, use "production" for production builds

Development

  • npm run dev: Start the development server
  • npm run build: Build for production
  • npm run start: Run the production server
  • npm run check: Run TypeScript type checking

Security Notes

  • Never commit your .env file or expose your API keys
  • The .gitignore file is configured to exclude sensitive files
  • If you fork this repository, make sure to use your own API keys

License

MIT License - feel free to use this code for your own projects!

Acknowledgments

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 73
Interface 20

Languages

TypeScript100%

Modules by API surface

client/src/hooks/use-toast.ts9 symbols
server/routes.ts7 symbols
client/src/components/ui/pagination.tsx5 symbols
client/src/pages/Search.tsx4 symbols
client/src/components/SearchInput.tsx4 symbols
client/src/components/FollowUpInput.tsx4 symbols
server/vite.ts3 symbols
client/src/components/ui/sheet.tsx3 symbols
client/src/components/ui/drawer.tsx3 symbols
client/src/components/ui/command.tsx3 symbols
client/src/components/ui/chart.tsx3 symbols
client/src/components/SourcePreviewModal.tsx3 symbols

For agents

$ claude mcp add Gemini-Search \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page