AO3 Assist is a Chrome extension designed to enhance your Archive of Our Own (AO3) reading experience. It provides personalized reading recommendations based on your reading history and allows you to take and organize notes while reading fanfiction.
- Fetches tailored reading recommendations based on your AO3 reading history
- Organizes recommendations by categories
- Provides direct links to recommended works
- Create, edit, and delete notes for fanfiction works
- Organize notes with custom tags
- Color-code notes for better organization
- Filter notes by tags
- Sort notes by date or alphabetically
- Mark notes as completed
- Persistent storage using browser's localStorage
- Clean, modern interface with smooth animations
- Responsive design that works well within the Chrome extension popup
- Intuitive navigation between recommendations and notes
- Quick access to AO3 website
interface FooterProps {
activeTab: string;
onTabClick: (tab: string) => void;
onOpenClick: () => void;
}
AO3 Assist is a Chrome extension designed to enhance your Archive of Our Own (AO3) reading experience. It provides personalized reading recommendations based on your reading history and allows you to take and organize notes while reading fanfiction.
- Fetches tailored reading recommendations based on your AO3 reading history
- Organizes recommendations by categories
- Provides direct links to recommended works
- Create, edit, and delete notes for fanfiction works
- Organize notes with custom tags
- Color-code notes for better organization
- Filter notes by tags
- Sort notes by date or alphabetically
- Mark notes as completed
- Persistent storage using browser's localStorage
- Clean, modern interface with smooth animations
- Responsive design that works well within the Chrome extension popup
- Intuitive navigation between recommendations and notes
- Quick access to AO3 website
interface FooterProps {
activeTab: string;
onTabClick: (tab: string) => void;
onOpenClick: () => void;
}
The Footer component provides navigation between different sections of the extension and quick access to AO3.
Handles:
- Initial user authentication
- Welcome screen
- Token management
- Navigation to main features
Features:
- Fetches recommendations from API
- Displays categorized recommendations
- Loading states with animations
- Error handling
Capabilities:
- Note creation with title, content, and tags
- Color selection for notes
- Tag management system
- Filtering and sorting options
- Completion status tracking
- Clone the repository
- Install dependencies:
npm install
- Build the extension:
npm run build
-
Load the extension in Chrome:
-
Open Chrome Extensions (chrome://extensions/)
-
Enable Developer Mode
-
Click "Load unpacked"
-
Select the built extension directory
- Click the extension icon in Chrome to open the popup
- First-time users will see a welcome screen
- Click "Get Started" to authenticate
- Navigate between recommendations and notes using the footer tabs
- Use the center button to quickly access AO3
The extension integrates with a recommendations API:
- Endpoint:
https://ao3-aiml.onrender.com/recommendations/{username}
- Authentication: Requires valid access and refresh tokens
- Response: JSON object with categorized recommendation links
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
Required environment variables:
NEXT_PUBLIC_API_URL
: API endpoint URLNEXT_PUBLIC_AUTH_URL
: Authentication service URL
- Uses inline styles with consistent color scheme
- Primary color:
#285599
- Background color:
#F3F5F7
- Font family: Arial, sans-serif (with fallbacks)
- Uses React hooks for local state management
- localStorage for persistent data storage
- Token management through Chrome extension storage
This project is licensed under the MIT License - see the LICENSE file for details.