https://github.com/bniladridas/path
Intelligent discovery tool with Flask
https://github.com/bniladridas/path
flask html web
Last synced: 4 months ago
JSON representation
Intelligent discovery tool with Flask
- Host: GitHub
- URL: https://github.com/bniladridas/path
- Owner: bniladridas
- License: mit
- Created: 2025-05-28T04:17:47.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-08T11:34:13.000Z (9 months ago)
- Last Synced: 2025-10-08T13:26:38.442Z (9 months ago)
- Topics: flask, html, web
- Language: HTML
- Homepage: https://path-harper.vercel.app
- Size: 1.81 MB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
> [!NOTE]
>
> Need help? Join the [Discord Server](https://discord.gg/J8DetsWcqU) and get help with setup and usage.
An AI-powered media exploration application using Flask and Google Gemini.
## Why did I make this?
I wanted to create a media exploration tool that combines the power of Google's Gemini AI with an intuitive interface. Existing solutions were either too complex or lacked the features I needed.
The main goal was to provide two ways to interact with Gemini AI:
1. A web application for browser-based exploration
2. A CLI for terminal-based workflows
Harper brings both together in a single, easy-to-use package.
## Features
- AI-powered search using Google Gemini models
- Image generation with Gemini 2.5 Flash Image
- Interactive TUI for terminal-based workflows
- Email verification flow
- Responsive design with theme support
- OpenAI compatible API endpoints
- Dual interfaces: Web (Flask) and CLI (Rust)
## Getting Started
### Prerequisites
- Python 3.8+
- Node.js 16+
- npm
- Rust 1.75+ (for CLI)
### Web Application
```bash
# Clone the repository
git clone https://github.com/bniladridas/path.git
cd path
# Install dependencies
pip install -r requirements.txt
npm install
# Set up environment
cp .env.example .env
# Edit .env with your GEMINI_API_KEY
# Run the app
python run.py
```
Open your browser and navigate to `http://localhost:8000`
### CLI
```bash
# Build the Rust CLI
cd rust
cargo build --release
cp target/release/harper ~/.local/bin/harper
# Set up environment
cp .env.example .env
# Edit .env with your GEMINI_API_KEY
```
### Usage
```bash
# Web app - open http://localhost:8000
# CLI
harper tui # Interactive TUI
harper search "query" # Command line search
harper image --prompt "a sunset" # Generate image
```
### Demo
https://github.com/user-attachments/assets/6e577b8c-4902-4c47-a161-e44ed56fc1e2
### TUI Controls
| Key | Action |
|:---|:---|
| Type | Start searching |
| Enter | Submit query |
| Esc | Clear or quit |
## API Reference
### Google Gemini
General: [Overview](https://ai.google.dev/docs) | [API Docs](https://ai.google.dev/api) | [Pricing](https://ai.google.dev/pricing)
Python: [PyPI](https://pypi.org/project/google-genai/) | [SDK Docs](https://googleapis.github.io/python-genai/)
JavaScript: [NPM](https://www.npmjs.com/package/@google/genai) | [Node](https://github.com/googleapis/js-genai)
### Supported Models
- Gemini 2.5 Flash
- Gemini 2.5 Flash Image
## Tech Stack
### Web Application
- Flask 3.1.2 - Web framework
- Google GenAI SDK - AI integration
- Gunicorn - WSGI server
- Playwright - E2E testing
- Vercel - Deployment
### CLI
- Rust - Programming language
- Crossterm - Terminal UI
- Ratatui - TUI library
- Reqwest - HTTP client
## API Key Setup
Get your API key from [Google AI Studio](https://aistudio.google.com/app/apikey):
```bash
curl "https://generativelanguage.googleapis.com/v1beta/models?key=YOUR_API_KEY"
```
## License
This work is licensed under a [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
---
Contributions are welcome! Please feel free to submit a Pull Request.