ai-citation-checker
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.9%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: ShreyasDasari
- License: mit
- Language: Python
- Default Branch: main
- Size: 43 KB
Statistics
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Psyte - Professional Citation Analysis Tool
A clean, professional web application for analyzing and improving academic citations using Google's Gemini AI. Built with Python and Streamlit with a Google-inspired minimalist interface.
Live Demo and Trailer
Experience Psyte in action:
- 🔗 Try the App: https://psytee.streamlit.app/
- 🎥 Watch the App Trailer: https://youtu.be/cs_QpzKBQ-E
Key Features
- Clean Interface: Google-inspired minimalist design with excellent dark mode support
- Multiple Input Methods: Paste text directly or upload files (PDF, DOCX, TXT, Markdown)
- AI-Powered Analysis: Uses Google Gemini AI for intelligent citation checking
- Multi-Model Support: 8 different AI models with automatic fallback when rate limits are reached
- Model Selection: Choose between speed, quality, or cost-optimized presets
- Web Search Integration: Automatically searches academic databases to verify and enhance citations
- Missing Citation Detection: Identifies statements that may need citations
- Style Detection: Automatically detects citation styles (APA, MLA, Chicago, Harvard)
- Comprehensive Validation: Checks format, completeness, and consistency
- Citation Discovery: Searches CrossRef, arXiv, and Semantic Scholar for matching sources
- Detailed Reports: Get actionable insights and improvement suggestions
- Professional UI: Clean, focused experience with colorful accents
Quick Start
Prerequisites
- Python 3.8 or higher
- Google Gemini API key (free tier available)
Installation
Clone the repository
bash git clone https://github.com/yourusername/psyte.git cd psyteCreate a virtual environment ```bash python -m venv venv
# On Windows venv\Scripts\activate
# On macOS/Linux source venv/bin/activate ```
Install dependencies
bash pip install -r requirements.txtSet up environment variables
bash cp .env.example .env
Edit .env and add your API key:
GEMINI_API_KEY=your_gemini_api_key_here
- Run the application
bash streamlit run app.py
The app will open in your browser at http://localhost:8501
Usage
Basic Workflow
- Start the App: Launch Psyte and you'll see a clean homepage
- Enter API Key: On first use, enter your Gemini API key (stored locally in session)
- Enable Web Search (Optional): Check "Enable citation discovery" for enhanced analysis
- Input Text: Either:
- Paste text with citations in the search-style input box
- Upload a document (PDF, DOCX, TXT, or Markdown)
- Analyze: Click "Analyze Citations" to start the analysis
- Review Results: View detailed analysis with:
- Validity scores and confidence levels
- Specific issues found in each citation
- Web-verified sources and suggestions
- Missing citation detection
- Visual charts showing citation distribution
Supported Citation Styles
- APA: (Author, Year) format with reference list
- MLA: (Author Page) format with Works Cited
- Chicago: Footnotes/endnotes with bibliography
- Harvard: (Author Year) format with reference list
- IEEE: [Number] format with numbered references
Configuration
Environment Variables
Create a .env file with:
```bash
Required
GEMINIAPIKEY=yourkeyhere # Get from https://makersuite.google.com/app/apikey
Optional
DEFAULTPROVIDER=gemini DEBUG=False LOGLEVEL=INFO ```
Getting a Gemini API Key
- Visit Google AI Studio
- Sign in with your Google account
- Click "Create API Key"
- Copy the key and add it to your
.envfile
Project Structure
psyte/
├── app.py # Main Streamlit application
├── src/
│ ├── citation_analyzer.py # Core analysis logic
│ ├── ai_providers.py # Gemini AI integration
│ ├── web_searcher.py # Web search for citations
│ ├── file_handlers.py # File processing
│ └── utils.py # Utility functions
├── ui/
│ ├── components.py # UI components
│ └── styles.py # Custom CSS with dark mode support
├── config/
│ └── settings.py # Configuration
└── tests/ # Test suite
UI Features
Design Philosophy
- Minimalist: Clean interface inspired by Google's design language
- Colorful Accents: Multi-colored logo with Google's signature colors
- Focused: No sidebar or distractions - just the task at hand
- Responsive: Works perfectly on desktop and mobile
- Dark Mode: Full support for system dark mode preferences
- Professional: Clean typography and subtle animations
Key Interface Elements
- Multi-colored "Psyte" logo with letter-by-letter color scheme
- Search-box style text input with smooth hover effects
- Gradient primary buttons with depth and shadow
- Clean metric cards with colorful top borders on hover
- Professional status indicators (no emojis)
- Smooth animations and micro-interactions
- Web search integration badge
Web Search Integration
Psyte automatically searches multiple academic databases to enhance your citations:
Supported Databases
- CrossRef: Comprehensive database of scholarly publications
- arXiv: Repository for scientific preprints
- Semantic Scholar: AI-powered research tool
Features
- Citation Verification: Validates citations against real academic sources
- Missing Reference Detection: Identifies statements that likely need citations
- Format Suggestions: Provides properly formatted citations based on found sources
- No API Keys Required: Uses free, public APIs for accessibility
How It Works
- Enable "Citation discovery" checkbox on the homepage
- The system automatically:
- Searches for each citation in academic databases
- Identifies potential missing citations in your text
- Suggests properly formatted citations
- Provides links to original sources
Development
Running Tests
bash
pytest tests/
Code Formatting
bash
black .
flake8 .
Adding New Citation Styles
- Add patterns to
CITATION_PATTERNSincitation_analyzer.py - Add style configuration to
CITATION_STYLESinsettings.py - The AI will automatically adapt to analyze the new style
API Details
Google Gemini API
- Models Available:
gemini-2.5-flash-lite- Fastest, most cost-effective (default)gemini-2.5-flash- Balanced speed and qualitygemini-2.5-pro- Highest qualitygemini-2.0-flash-lite- Legacy lightweight modelgemini-2.0-flash- Legacy balanced modelgemma-3-1b-it- Open model variantgemma-3n-e2b-it- Efficient Gemma variantgemma-3n-e4b-it- Larger Gemma variant
- Automatic fallback between models when rate limits are reached
- Free tier includes 60 requests per minute
- Get your API key: https://makersuite.google.com/app/apikey
Model Selection Presets
- Speed Priority: Fastest response times
- Balanced: Good balance of speed and quality
- Quality Priority: Most accurate results
- Cost Effective: Minimize API costs
Troubleshooting
Common Issues
- API Key Error: Ensure your Gemini API key is valid and has not exceeded quota
- Rate Limit Errors: The app automatically switches to backup models when rate limits are hit
- Dark Mode Issues: The app automatically adapts to your system theme
- File Upload Errors: Ensure files are under 10MB and in supported formats
- Analysis Errors: Check that your text contains recognizable citations
- Model Status: Check the Advanced Options to see which models are available
Performance Tips
- For best results, include complete citations (not just in-text references)
- The AI works best with English-language citations
- Upload files in UTF-8 encoding when possible
- Use the Speed Priority preset for quick checks
- Use the Quality Priority preset for important documents
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Google for the Gemini AI API
- Streamlit for the excellent web framework
- The academic community for citation standards
Support
For issues, questions, or suggestions: - Open an issue on GitHub - Contact: support@psyte.io
Owner
- Name: Shreyas Dasari
- Login: ShreyasDasari
- Kind: user
- Repositories: 9
- Profile: https://github.com/ShreyasDasari
Citation (citation-checker-structure.md)
# AI Citation Checker - Project Structure
```
citation-checker/
│
├── app.py # Main Streamlit application
├── requirements.txt # Python dependencies
├── .env.example # Example environment variables
├── README.md # Project documentation
│
├── src/
│ ├── __init__.py
│ ├── citation_analyzer.py # Core citation analysis logic
│ ├── ai_providers.py # Gemini AI integration
│ ├── web_searcher.py # Web search for citation verification
│ ├── file_handlers.py # File upload and processing
│ └── utils.py # Utility functions
│
├── ui/
│ ├── __init__.py
│ ├── components.py # Reusable UI components
│ └── styles.py # Custom CSS styles
│
├── config/
│ ├── __init__.py
│ └── settings.py # Configuration settings
│
└── tests/
├── __init__.py
└── test_citation_analyzer.py
```
GitHub Events
Total
- Watch event: 1
- Push event: 6
Last Year
- Watch event: 1
- Push event: 6
Dependencies
- PyPDF2 ==3.0.1
- black ==23.12.1
- chardet ==5.2.0
- dataclasses-json ==0.6.3
- flake8 ==7.0.0
- google-generativeai ==0.8.3
- markdown ==3.5.1
- numpy ==1.26.2
- pandas >=2.2.2
- plotly ==5.18.0
- pytest ==7.4.3
- python-docx ==1.1.0
- python-dotenv ==1.0.0
- python-json-logger ==2.0.7
- requests ==2.31.0
- streamlit ==1.29.0