{"id":24311522,"url":"https://github.com/michaelgathara/gemini-rec-search","last_synced_at":"2025-09-26T17:31:24.137Z","repository":{"id":263107134,"uuid":"886375787","full_name":"Michaelgathara/gemini-rec-search","owner":"Michaelgathara","description":"Rediscover the web by browsing the web and get recommendations of new webpages to explore - powered by Gemini Nano","archived":false,"fork":false,"pushed_at":"2025-01-13T22:43:58.000Z","size":4775,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T23:30:20.196Z","etag":null,"topics":["chrome","extensions","gemini","gemini-nano","google","hackathon","on-device-ai"],"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/Michaelgathara.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":"2024-11-10T20:44:29.000Z","updated_at":"2025-01-13T22:44:03.000Z","dependencies_parsed_at":"2024-12-01T10:22:41.492Z","dependency_job_id":"b819b4d5-a61c-498b-b4f7-687770e15809","html_url":"https://github.com/Michaelgathara/gemini-rec-search","commit_stats":null,"previous_names":["michaelgathara/chrome-ext-thon","michaelgathara/gemini-rec-search"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Michaelgathara%2Fgemini-rec-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Michaelgathara%2Fgemini-rec-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Michaelgathara%2Fgemini-rec-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Michaelgathara%2Fgemini-rec-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Michaelgathara","download_url":"https://codeload.github.com/Michaelgathara/gemini-rec-search/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234325223,"owners_count":18814395,"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","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":["chrome","extensions","gemini","gemini-nano","google","hackathon","on-device-ai"],"created_at":"2025-01-17T07:11:16.102Z","updated_at":"2025-09-26T17:31:18.685Z","avatar_url":"https://github.com/Michaelgathara.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![logo](readme_images/banner.png)\n\n# Summary\nA Google AI hackathon project by Michael Gathara and Jayden Pyles. Built on top of the [Chrome Extension Typescript Starter](https://github.com/chibat/chrome-extension-typescript-starter)\n\nAs you browse the web, Gemini Recommended Search scans your content and leverages Gemini's advanced capabilities to generate precise Google search queries. Instantly, you're presented with additional webpages tailored to you—allowing you to find content across the web that helps you.\n\nIn a time where AI aggregators are becoming a popular alternative to search engines, Gemini Recommended Search is a step towards a more personalized and intelligent web experience, which makes the web work for you.\n\n## Demo\n[![Video Demo](https://img.youtube.com/vi/g-iT-Xf_zSE/0.jpg)](https://www.youtube.com/watch?v=g-iT-Xf_zSE)\n\n\n## Features\n\n### Smart Content Discovery and Content Summary\n- Seamlessly discover relevant content as you browse\n- Get intelligent recommendations based on your current page context\n- Save time finding related resources across the web\n- Get content summaries to enhance understanding\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"readme_images/main_use.png\"/\u003e\n\u003c/p\u003e\n\n### Summary Glance\n- Get a summary of a website before visiting\n- Simple and intuitive by clicking the \u003ci\u003eStar\u003c/i\u003e button\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"readme_images/summary_glance.png\" width=\"400px\"/\u003e\n\u003c/p\u003e\n\n### Powered by Gemini AI\n- Advanced content analysis for precise recommendations\n- Real-time query generation tailored to your interests\n- High-quality results powered by Google's latest AI technology\n\n### Simple \u0026 Privacy-Focused\n- No buttons to press, works automatically when you open \n- Full control over the domains the extension can access\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"readme_images/options.png\"/\u003e\n\u003c/p\u003e\n\n### Beta: Bias Rating\n- Automatically detect and display potential political or topical bias ratings for news sites as you browse\n- Helps users make informed decisions about their news sources\n- Provides transparency about content perspective and leanings\n- Uses AI-powered analysis to evaluate article context and presentation\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"readme_images/source_bias.png\" width=\"400px\"/\u003e\n\u003c/p\u003e\n\n## How to run\n### Prerequisites\n\n* [node + npm](https://nodejs.org/) \n* [Docker](https://www.docker.com/)\n* [Make](https://www.gnu.org/software/make/)\n* [Chrome Canary](https://www.google.com/chrome/canary/)\n\n### Gemini Nano Setup\n- Ensure you have Chrome Canary\n- Sign up for the Gemini Nano Early Preview - [here](goo.gle/chrome-ai-dev-preview-join)\n    - Learn more [here](https://developer.chrome.com/docs/ai/built-in)\n- Navigate to `chrome://flags` \n- Search for `gemini` and enable all the flags\n    - Prompt API for Gemini Nano\n    - Summarization API for Gemini Nano\n    - Writer API for Gemini Nano\n    - Rewriter API for Gemini Nano\n- Seach for ` Enables optimization guide on device` and set it to `Enable Bypass...`\n- Disable the text safety flags to stop a bug from falsely flagging Gemini Nano content as non-english\n    - Navigate to `chrome://flags/#text-safety-classifier`\n- Navigate to `chrome://components`\n    - Ensure you have `Optimization Guide On Device Model` with a version that is not `0`\n\nOnce you have enabled all of these and been given access to the early preview of Gemini Nano, you should be able to utilize an on-device Gemini model to use the extension\n\n### Setup\n- Copy the `.env.example` file and rename it to `.env`\n    - You may fill out the env file if you'd like to use a local endpoint for testing, otherwise the extension will use our Google Cloud endpoint for Google Searches and your local on-device Gemini Nano model for AI capabilities\n\n\n- Frontend\n```\nnpm install\n```\n\n- Backend\n```\nmake pull up\n```\n\n### Build frontend assets\n\n\u003e [!TIP]\n\u003e Rebuild the frontend everytime you make changes to the frontend or add a .env file and reload the extension on Chrome\n\n```\nnpm run build\n```\n\nor\n\n```\nmake build-ext\n```\n\n### Create .env file for API calls\n\nThe API is hosted on Google Cloud Run (and requires no extra setup), but only temporarily for testing purposes. If you want to host it locally, create an `.env` file in the root directory with the following:\n\n```env\nAPI_URL=http://localhost:8000\n```\n\n\u003e [!IMPORTANT]\n\u003e This API is used for Google Search, All Gemini calls are utilizing Gemini Nano\n\n### Load extension to chrome\n- Navigate to `chrome://extensions` and enable developer mode\n- Load `dist` directory\n- Reload the extension on `chrome://extensions` whenever you rebuild the frontend\n\n## Troubleshooting Tips\n- If the extension does not showcase any recommendations, there is a chance that Gemini Nano is not loading properly. \n    - Copy the following into your chrome canary console\n    ```\n    await ai.summarizer.create();\n    await ai.languageModel.create();\n    ```\n    - This loads up the models needed\n\n- If no recommendations are found and the earlier tip does not work. Try to use a local docker enabled backend for the backend\n    - In the .env file you created earlier, uncomment the endpoint and `make up` and `make build-ext` again\n\n## Usage Tips\n- Click the extension icon to toggle recommendations on/off\n- Click the star to get webpage summaries\n- Click any recommendation to open in a new tab\n- Use the options menu to customize domains and other settings\n\n## Privacy Policy\n- No personal data is collected or stored\n- Page content is processed locally using Gemini Nano\n- Only approved domains are analyzed (customizable in settings)\n- No browsing history is tracked or shared\n\n## Known Limitations\n- Currently only supports English language content\n- Requires Chrome Canary for Gemini Nano features\n- Beta features may have limited accuracy\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n## Acknowledgments\n- Built with [Chrome Extension Typescript Starter](https://github.com/chibat/chrome-extension-typescript-starter)\n- Powered by Google's Gemini AI technology\n- Special thanks to the Chrome AI team for early access to Gemini Nano\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelgathara%2Fgemini-rec-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelgathara%2Fgemini-rec-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelgathara%2Fgemini-rec-search/lists"}