# Project export: Praxis

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: UC Berkeley AI Hackathon 2025
- Tagline: Praxis: AI-powered notes that write themselves. As you type, relevant content from your docs appears instantly. Built-in Claude 4. Upload PDFs, get cited answers, study smarter.
- Devpost: https://devpost.com/software/praxis-ak2vqg
- GitHub: https://github.com/seanesla/praxisforberkeley
- Team: 1 GitHub contributor(s) — sean esla (5 commits)

## Devpost submission (written by the team)

No Devpost description available.

## README (from the GitHub repository)

No README available.

## Detected evidence (automated analysis)

Indexed codebase: 56 recognized source files, 317 KB.
- CSS (language) — detected in the code
- Express (technology) — detected in the code
- JavaScript (language) — detected in the code
- LangChain (technology) — detected in the code
- Next.js (technology) — detected in the code
- React (technology) — detected in the code
- SQL (language) — detected in the code
- Supabase (technology) — detected in the code
- Tailwind CSS (technology) — detected in the code
- TypeScript (language) — detected in the code
- HTML (language) — claimed on Devpost, not found in the code
- AI coding agent: Claude Code — evidence: config files committed to the repository

## Codebase structure (from repository index)

### Files (79 of 79)

```
.github/workflows/ci.yml
.gitignore
.nvmrc
.vscode/extensions.json
.vscode/settings.json
backend/.env.example
backend/.eslintrc.json
backend/jest.config.js
backend/MIGRATION_COMPLETE.md
backend/MIGRATION_PHASE4.md
backend/nodemon.json
backend/package.json
backend/src/.gitkeep
backend/src/config/chromadb.ts
backend/src/config/supabase.ts
backend/src/middleware/auth.ts
backend/src/migrations/001_auth_tables.sql
backend/src/migrations/009_create_genesis_simulations.sql
backend/src/migrations/010_create_chat_summaries.sql
backend/src/migrations/011_add_document_columns.sql
backend/src/migrations/012_advanced_ai_features.sql
backend/src/migrations/013_create_api_keys_table.sql
backend/src/routes/auth.ts
backend/src/routes/flashcards.ts
backend/src/routes/mindmaps.ts
backend/src/services/ai/aiService.ts
backend/src/services/ai/providers/anthropic.ts
backend/src/services/autoSummarization.ts
backend/src/services/crossDocumentInsights.ts
backend/src/services/documentDNA.ts
backend/src/services/flashcardService.ts
backend/src/services/mindMapService.ts
backend/src/services/ragService.ts
backend/src/services/vectorStore.ts
backend/src/simple-server.ts
backend/src/types/ai-features.ts
backend/src/types/auth.ts
backend/src/types/index.ts
backend/src/utils/logger.ts
backend/src/utils/runMigration.ts
backend/src/utils/setupDatabase.ts
backend/src/utils/validation.ts
backend/test/.gitkeep
backend/tsconfig.json
CLAUDE.md
docs/.gitkeep
frontend/.env.local.example
frontend/.env.production.example
frontend/.eslintrc.json
frontend/app/.gitkeep
frontend/app/(auth)/layout.tsx
frontend/app/(auth)/login/page.tsx
frontend/app/(auth)/register/page.tsx
frontend/app/dashboard/page.tsx
frontend/app/globals.css
frontend/app/layout.tsx
frontend/app/page.tsx
frontend/components/.gitkeep
frontend/components/GlobalErrorHandler.tsx
frontend/components/Logo.tsx
frontend/components/Toast.tsx
frontend/contexts/auth.tsx
frontend/contexts/provider.tsx
frontend/lib/api.ts
frontend/middleware.ts
frontend/next.config.ts
frontend/package.json
frontend/playwright.config.ts
frontend/postcss.config.mjs
frontend/public/.gitkeep
frontend/tailwind.config.js
frontend/tsconfig.json
frontend/types/auth.ts
frontend/types/index.ts
LICENSE
package.json
README.md
scripts/setup-db.sh
test-new-features-ui.js
```

### Dependencies

- backend/package.json: @jest/globals@^30.0.2, @langchain/anthropic@^0.3.22, @langchain/community@^0.3.46, @supabase/supabase-js@^2.50.0, @types/bcryptjs@^2.4.6, @types/cors@^2.8.19, @types/crypto-js@^4.2.2, @types/express@^4.17.23, @types/express-rate-limit@^6.0.0, @types/jest@^30.0.0, @types/jsonwebtoken@^9.0.10, @types/mime-types@^3.0.1, @types/morgan@^1.9.9, @types/multer@^1.4.13, @types/node@^24.0.3, @types/node-cron@^3.0.11, @types/node-fetch@^2.6.12, @types/pdfkit@^0.14.0, @types/supertest@^6.0.3, @types/uuid@^10.0.0, @typescript-eslint/eslint-plugin@^7.0.0, @typescript-eslint/parser@^7.0.0, bcryptjs@^3.0.2, chromadb@^3.0.3, cors@^2.8.5, crypto-js@^4.2.0, dotenv@^16.5.0, eslint@^8.57.0, eslint-config-prettier@^9.1.0, eslint-plugin-prettier@^5.1.3, express@^5.1.0, express-rate-limit@^7.5.1, file-type@^21.0.0, helmet@^7.1.0, jest@^30.0.2, jest-environment-node@^30.0.2, joi@^17.11.0, jsonwebtoken@^9.0.2, langchain@^0.3.28, mammoth@^1.9.1, mime-types@^3.0.1, morgan@^1.10.0, multer@^2.0.1, node-cron@^4.1.0, node-fetch@^2.7.0, nodemon@^3.1.10, pdf-parse@^1.1.1, pdfkit@^0.17.1, prettier@^3.2.5, socket.io@^4.8.1, supertest@^7.1.1, ts-jest@^29.4.0, ts-node@^10.9.2, typescript@^5.8.3, uuid@^11.1.0, winston@^3.11.0
- frontend/package.json: @eslint/eslintrc@^3, @headlessui/react@^2.2.4, @heroicons/react@^2.2.0, @playwright/test@^1.53.0, @react-pdf/renderer@^4.3.0, @react-three/drei@^10.3.0, @react-three/fiber@^9.1.2, @supabase/ssr@^0.6.1, @supabase/supabase-js@^2.50.0, @tailwindcss/postcss@^4, @testing-library/jest-dom@^6.6.3, @testing-library/react@^16.3.0, @testing-library/user-event@^14.6.1, @types/d3@^7.4.3, @types/file-saver@^2.0.7, @types/lodash@^4.17.18, @types/node@^20, @types/react@^19, @types/react-dom@^19, @types/react-highlight-words@^0.20.0, @types/react-resizable@^3.0.8, @types/react-syntax-highlighter@^15.5.13, @vitejs/plugin-react@^4.5.2, @vitest/ui@^3.2.4, axe-playwright@^2.1.0, chart.js@^4.5.0, clsx@^2.1.1, critters@^0.0.23, d3@^7.9.0, date-fns@^4.1.0, eslint@^9, eslint-config-next@15.3.3, eslint-config-prettier@^9.1.0, file-saver@^2.0.5, framer-motion@^12.18.1, glob@^11.0.3, html2canvas@^1.4.1, jsdom@^26.1.0, keyv@^5.3.4, lodash@^4.17.21, next@15.3.3, open@^10.1.2, prettier@^3.2.5, react@^19.0.0, react-chartjs-2@^5.3.0, react-dnd@^16.0.1, react-dnd-html5-backend@^16.0.1, react-dom@^19.0.0, react-dropzone@^14.3.8, react-highlight-words@^0.21.0, react-markdown@^10.1.0, react-pdf@^9.2.1, react-resizable@^3.0.5, react-syntax-highlighter@^15.6.1, reactflow@^11.11.4, remark-gfm@^4.0.1, sharp@^0.34.2, socket.io-client@^4.8.1, tailwind-merge@^3.3.1, tailwindcss@^4, three@^0.177.0, typescript@^5, vitest@^3.2.4, vitest-axe@^0.1.0
- package.json: concurrently@^8.2.2

### Recent commits (newest first)

- Merge pull request #1 from seanesla/clean-main
- fix: implement proper BYOAK system - use user API keys from database
- early
- feat: implement authentication system and core components
- feat: initialize project structure with TypeScript, Next.js, and Express

## Key source files (fetched from GitHub, selected and truncated for size)

Source contents could not be fetched from GitHub right now.

[58 more indexed source files omitted to keep this export small. The full file list is in the Codebase structure section above.]