MVP Stage - Core Functionality Active
- Frontend: React (Vite) with Tailwind CSS.
- AI Integration: Direct Gemini API calls from the client.
- Content Import: Firecrawl API for scraping Markdown from URLs.
- Style Guide: Hybrid model (Static Markdown Asset).
Currently: Not Implemented
- Requirement:
authservice. - Providers: Google, Email/Pass, Anonymous.
Currently: In-memory state only
{
"uid": "string",
"email": "string",
"preferences": {
"defaultMode": "FAST | DEEP"
},
"createdAt": "timestamp"
}{
"id": "auto-generated",
"originalText": "string",
"summary": "string",
"score": 85,
"recommendations": [],
"modelUsed": "gemini-3-pro-preview",
"timestamp": "timestamp"
}To log scraping history or cache results.
{
"url": "string",
"content": "string (Markdown)",
"fetchedAt": "timestamp",
"userId": "string"
}- Use Case: User avatars or analyzing document files.
Currently: Client-side only
- Endpoint:
POST /api/analyze(Gemini) - Endpoint:
POST /api/scrape(Firecrawl Proxy)- Purpose: Hide the Firecrawl API Key (
fc-...) from the client. - Input:
{ url: string } - Output:
{ markdown: string }
- Purpose: Hide the Firecrawl API Key (
- Gemini API: Text Analysis (Pro/Flash).
- Firecrawl API: Content Scraping.
- Key: Managed via Secret Manager in GCP for backend calls.
- Environment Variables:
VITE_API_KEY: Google GenAI API Key.FIRECRAWL_API_KEY: API Key for Firecrawl.PROJECT_ID: GCP Project ID.
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
}
}