Tech Stack Overview
Arre is built with modern web technologies focused on developer experience, performance, and maintainability.Frontend Stack
Core Framework
- React
- TypeScript
- Vite
Version: Why React 19? Latest features like improved hydration, better async handling, and performance optimizations.
19.2.4 (package.json:30)React powers Arre’s UI with modern features:- Concurrent Rendering: Improved responsiveness for better UX
- Automatic Batching: Optimized re-renders
- Hooks: All components use functional components with hooks
- Strict Mode: Enabled in development for detecting potential issues
Routing
React Router^7.13.0 (package.json:33)
Handles client-side routing with nested routes and protected routes:
Styling & UI
CSS Modules
CSS Modules
Component-scoped styling without runtime overhead:Why CSS Modules?
- Scoped styles prevent conflicts
- TypeScript integration via declarations
- Zero runtime cost
- Simple mental model
CSS Variables (Custom Properties)
CSS Variables (Custom Properties)
Global theme system using CSS variables:Theme switching is handled by
ThemeProvider which toggles the data-theme attribute.Lucide React Icons
Lucide React Icons
Version: Why Lucide?
^0.564.0 (package.json:29)Beautiful, consistent icon library:- Tree-shakeable (only import icons you use)
- Consistent design language
- Customizable size, color, stroke
Recharts
Recharts
Framer Motion
Framer Motion
Utilities
clsx^2.1.1 - Conditional className joining
^3.4.0 - Smart Tailwind class merging (utility, not using full Tailwind)
react-markdown ^10.1.0 - Render markdown content (used in AI Briefing)
Backend Stack
Firebase Platform
Version:^12.9.0 (package.json:27)
Arre uses Firebase as its complete backend infrastructure:
- Authentication
- Firestore
- Cloud Functions
- Cloud Storage
Module: Providers:
firebase/auth- Google OAuth (
GoogleAuthProvider) - Anonymous Auth (
signInAnonymously) - Account Linking (
linkWithPopup)
Cloud Functions (Backend)
Runtime: Node.js 22 (functions/package.json:12) Dependencies:firebase-admin (^13.6.1)
firebase-admin (^13.6.1)
Server-side Firebase SDK for privileged access:
firebase-functions (^7.0.0)
firebase-functions (^7.0.0)
Cloud Functions framework:
@google/generative-ai (^0.24.1)
@google/generative-ai (^0.24.1)
Gemini 2.5 Flash integration for AI features:Used for:
- Magic Import: Extract tasks from documents
- Daily Briefing: Generate personalized summaries
pdf-parse (^2.4.5)
pdf-parse (^2.4.5)
Parse PDF files for Magic Import:
csv-parse (^6.1.0)
csv-parse (^6.1.0)
Parse CSV files:
googleapis (^171.4.0)
googleapis (^171.4.0)
Google Tasks API integration:
AI Integration
Gemini 2.5 Flash
Model:gemini-2.5-flash (functions/index.js:20)
Google’s fast, efficient multimodal AI model:
Capabilities:
- Text generation
- Document understanding
- Structured JSON output
- Large context window (30,000 chars used)
API keys are stored in Google Cloud Secret Manager and accessed via
defineSecret() for security.OAuth & Integrations
Google OAuth
Package:@react-oauth/google ^0.13.4 (package.json:25)
Enhanced Google sign-in with additional scopes:
Google Tasks API
Integration allows:- Fetching task lists
- Reading tasks
- Syncing task status
Testing
Playwright
Version:^1.58.2 (package.json:15)
End-to-end testing framework:
npm test- Run tests headlessnpm run test:ui- Run tests with UI mode
Development Tools
Firebase Tools
Version:^15.6.0 (package.json:20)
CLI for Firebase development:
Build Tools
@vitejs/plugin-react^4.7.0 - Official Vite plugin for React with Fast Refresh
TypeScript Compiler - Type checking before build:
Version Summary
Frontend
| Package | Version | Purpose |
|---|---|---|
| react | 19.2.4 | UI framework |
| react-dom | 19.2.4 | DOM rendering |
| react-router-dom | 7.13.0 | Client routing |
| typescript | 5.9.3 | Type safety |
| vite | 7.3.1 | Build tool |
| firebase | 12.9.0 | Backend SDK |
| framer-motion | 12.34.0 | Animations |
| lucide-react | 0.564.0 | Icons |
| recharts | 3.7.0 | Charts |
| @react-oauth/google | 0.13.4 | Google OAuth |
| react-markdown | 10.1.0 | Markdown rendering |
| clsx | 2.1.1 | Classname utility |
Backend (Cloud Functions)
| Package | Version | Purpose |
|---|---|---|
| firebase-admin | 13.6.1 | Server SDK |
| firebase-functions | 7.0.0 | Functions framework |
| @google/generative-ai | 0.24.1 | Gemini AI |
| googleapis | 171.4.0 | Google APIs |
| pdf-parse | 2.4.5 | PDF parsing |
| csv-parse | 6.1.0 | CSV parsing |
| google-auth-library | 10.5.0 | OAuth |
Development
| Package | Version | Purpose |
|---|---|---|
| @playwright/test | 1.58.2 | E2E testing |
| firebase-tools | 15.6.0 | Firebase CLI |
| @types/react | 19.2.14 | React types |
| @vitejs/plugin-react | 4.7.0 | Vite React plugin |
Next Steps
Architecture Overview
Understand how these technologies work together
Project Structure
See how code is organized in the repository