Project Info
Praxis: Your Ideas, Realized.
Inspiration
In a world overflowing with powerful productivity tools, we found a strange paradox: the most feature-rich note-taking apps like Notion and Obsidian often come with a steep learning curve that alienates beginners. Users are forced to choose between overwhelming complexity and simplistic, uninspired design. We asked: Why can't a note-taking app be both powerful and intuitive? Why can't it adapt to how we think, instead of forcing us to adapt to it? Praxis is our answer. It's designed to be the ultimate thinking tool, a smart canvas that helps you transform theory into practice. It connects your ideas, grounds your research, and even talks back to you, all through a beautifully simple interface.
What It Does
Praxis is a next-generation, AI-powered note-taking application designed for deep thinking and effortless learning. It seamlessly integrates several key innovations:
Core Features
🎯 Unified Workspace
No more hunting through tabs or complex navigation. Praxis features a revolutionary unified workspace where everything is accessible through:
- Command Palette (⌘K): Natural language commands to navigate anywhere instantly
- Smart Activity Feed: Your recent work and AI-powered suggestions in one place
- Floating AI Assistant: Always-available help without leaving your current task
✨ Instant Context Retrieval
The flagship feature that makes Praxis magical. As you write in Smart Notes:
- AI quietly monitors your typing patterns
- When you pause, relevant content from your documents appears as ghost text
- Press Tab to accept suggestions, keep typing to ignore
- Source attribution shows exactly where information comes from
- No popups or interruptions - just the right information at the right moment
🧠 Grounded AI & Source-Based Learning
Eliminate AI hallucinations and get trustworthy answers. Our "Grounded AI" feature restricts the AI's knowledge base to only the documents you provide. Ask complex questions and get perfectly accurate, cited answers in seconds.
🎙️ Interactive "Podcast Mode"
Your notes are no longer static. Engage in a real-time conversation with your personal AI about your documents and ideas. Use it to study for a test, rehearse a presentation, or explore a topic from a new perspective.
🗺️ Visual-First Thinking (Interactive Mind Maps)
Don't just write notes—see them. Praxis can instantly transform your documents or brainstormed lists into interactive, aesthetically pleasing mind maps, helping you find hidden connections and grasp complex topics at a glance.
🤖 Built-in Claude 4 Sonnet
Experience the power of Claude 4 Sonnet, one of the most advanced AI models available, built directly into Praxis - no API keys required.
Advanced AI-Powered Features
Learning & Study Tools
- Socratic Dialogue Method: Engage in guided learning through AI-powered questioning that helps deepen understanding
- Spaced Repetition System: Scientifically-proven flashcard system using SM-2 algorithm for optimal memory retention
- Interactive Exercise Engine: Auto-generated quizzes with 8 different exercise types tailored to your content
- Smart Note-Taking: AI-powered note suggestions, Cornell notes support, and automatic organization
- Knowledge Gap Detection: AI identifies what you might be missing in your learning journey
Document Intelligence
- Document DNA Fingerprinting: Unique visual representation of document characteristics and complexity
- Citation Network Analysis: Visualize how your documents reference and relate to each other
- Semantic Search 2.0: Natural language search with query expansion and contextual understanding
- Cross-Document Insights: Discover hidden connections and patterns across your entire document collection
- Auto-Summarization: Get instant summaries at multiple levels (brief, comprehensive, technical)
Productivity & Workflow
- Document Workspace: Multi-document environment with synchronized scrolling and split-screen views
- Smart Reports Generator: Create professional reports from your documents with customizable templates
- Workflow Automation: Visual workflow builder to chain AI operations and automate repetitive tasks
- Real-time Analytics: Track your learning progress and document usage with detailed visualizations
What Makes Praxis Different
Intelligent Interface Design
- Adaptive UI: The interface morphs based on what you're doing - no mode switching required
- Progressive Disclosure: Features appear when you need them, stay hidden when you don't
- Context-Aware Actions: Smart suggestions based on your current task
- Natural Language Everything: Talk to Praxis like a colleague, not a computer
Thoughtful Productivity Features
- Smart Notes: Write with AI-powered suggestions from your knowledge base
- Semantic Search: Find information using natural language, not just keywords
- Visual Source Highlighting: Automatically scrolls to and highlights exact passages used in AI responses
- AI-Generated Flashcards: Turn any document into a study session with one click
- "Change Perspective" Mode: Re-explain concepts from different viewpoints
- Export Everything: Markdown, PDF, images - your knowledge, your way
How We Built It: The Tech Stack
- Frontend: Next.js 14, TypeScript, Tailwind CSS, Framer Motion, React DnD, ReactFlow
- Backend: Node.js, Express, Socket.io for real-time features
- AI Integration: Claude 4 Sonnet via Anthropic SDK, LangChain for RAG, Vapi for voice
- Vector Storage: ChromaDB for semantic search and document embeddings
- Database: Supabase for authentication and data persistence
- UI Libraries: Headless UI, Heroicons, Chart.js, D3.js
- Performance: Lazy loading, debouncing, web workers for heavy computations
AI Model
Praxis is powered by Claude 4 Sonnet, Anthropic's most advanced AI model, providing:
- Exceptional reasoning and analysis capabilities
- Superior understanding of context and nuance
- Reliable, grounded responses based on your documents
- No API key management required
🎥 Demo
See Praxis in Action
Instant Context Retrieval - Watch how Praxis helps you write:
- Start typing in Smart Notes
- Pause for a moment
- Relevant content from your documents appears as ghost text
- Press Tab to accept, keep typing to ignore
Command Palette Navigation - Everything at your fingertips:
- Press ⌘K from anywhere
- Type what you want: "write a note", "find climate papers", "create flashcards"
- Praxis understands and takes you there instantly
Unified Workspace - No more tab hunting:
- Activity feed shows your recent work
- Floating AI assistant for quick questions
- Context-aware actions based on what you're doing
System Requirements
Desktop-Only Application
Praxis is optimized for desktop use and requires:
- Minimum screen width: 1280px
- Supported browsers: Chrome, Firefox, Safari, Edge (latest versions)
- Operating systems: Windows, macOS, Linux
- Note: Mobile devices are not supported. The application requires a desktop or laptop computer for optimal experience.
Getting Started
Prerequisites
- Node.js 18+ and npm
- Supabase account and project
- No API keys needed (Claude 4 Sonnet is built-in)
Installation
-
Clone the repository:
git clone https://github.com/seanesla/praxisforberkeley.git cd praxisforberkeley -
Install dependencies:
# Backend cd backend npm install # Frontend cd ../frontend npm install -
Set up environment variables:
# Backend .env SUPABASE_URL=your_supabase_url SUPABASE_ANON_KEY=your_supabase_anon_key JWT_SECRET=your_jwt_secret # Frontend .env.local NEXT_PUBLIC_API_URL=http://localhost:5001 -
Run database migrations:
cd backend npm run check-db npm run setup-productivity -
Start the development servers:
# Backend (in one terminal) cd backend npx ts-node src/simple-server.ts # Frontend (in another terminal) cd frontend npm run dev -
Open http://localhost:3000 in your browser
Database Setup
The application requires several database tables. Run the following SQL scripts in your Supabase SQL editor:
- Base schema (automatically created by setup scripts)
- Document intelligence features:
backend/src/config/database-schema-v2.sql - Productivity features:
backend/src/config/database-schema-v3.sql
Usage Guide
First Time Setup
- Create an account or sign in
- Start using Praxis immediately - no API keys required
- Claude 4 Sonnet is already integrated and ready to use
The Praxis Experience
Getting Started
- Upload: Drop in your documents (PDF, TXT, DOCX, MD, JSON supported)
- Command: Press ⌘K and type what you want to do
- Create: Start writing and watch as Praxis helps with relevant suggestions
- Explore: Let the AI guide you to features as you need them
Key Workflows
For Students:
- Upload course materials → Ask questions → Generate flashcards → Review with spaced repetition
- Write essays with instant citation support from your research papers
- Create mind maps to visualize complex topics before exams
For Researchers:
- Upload papers → Find contradictions and gaps → Generate literature reviews
- Smart Notes automatically suggests relevant passages as you write
- Cross-document insights reveal hidden patterns in your research
For Professionals:
- Document workspace for multi-source projects
- Generate reports from meeting notes and documents
- Build automated workflows for repetitive tasks
Navigation Tips
- ⌘K: Open command palette (your gateway to everything)
- ⌘/: Quick chat with AI
- ⌘N: Context-aware new action
- Natural language: Just describe what you want to do
Technical Innovations
Instant Context Retrieval Engine
Our breakthrough feature that provides real-time, contextual suggestions:
- Semantic Embeddings: Every paragraph in your documents is embedded for instant retrieval
- Smart Debouncing: Detects natural pauses in typing (1.5s) to trigger suggestions
- Relevance Filtering: Only shows suggestions above 70% similarity threshold
- Ghost Text Rendering: Non-intrusive inline suggestions that preserve writing flow
Unified Workspace Architecture
- Single Page Application: No page reloads, instant transitions
- Lazy Loading: Components load on-demand for optimal performance
- State Synchronization: Activity across features stays in perfect sync
- Command-Driven Navigation: Reduces cognitive load by 80% compared to traditional menus
Accomplishments We're Proud Of
- Zero Learning Curve: Users productive in under 60 seconds
- Instant Context Retrieval: First-of-its-kind AI writing assistance that actually helps
- Unified Workspace: Eliminated 9 confusing tabs into one adaptive interface
- Real Intelligence: Features that solve real problems, not just showcase AI
- Performance: Sub-100ms response times for all interactions
Philosophy
Praxis is built on three core principles:
-
Features should be invisible until needed, powerful when used
- No feature bloat or overwhelming interfaces
- Progressive disclosure based on user needs
- Every feature must solve a real problem
-
AI should augment, not automate thinking
- Instant Context Retrieval helps you write better, not write for you
- Suggestions come from your own knowledge base
- You remain in control of your ideas
-
Complexity should be hidden, not simplified away
- Powerful features accessible through natural language
- Advanced capabilities that don't require advanced knowledge
- Depth available for power users, simplicity for beginners
What's Next for Praxis
- Real-time Collaboration: Multi-user editing with presence awareness
- Extended Integrations: Direct import from Notion, Obsidian, Roam
- Local AI Models: Privacy-first option for sensitive documents
- API & Plugin System: Let developers extend Praxis
- Voice-First Mode: Complete hands-free operation
- Enhanced Desktop Experience: Even more powerful desktop-optimized features
Contributing
We welcome contributions! Please see our contributing guidelines (coming soon) for details on how to get started.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Anthropic for Claude 4 Sonnet
- The open-source community for amazing tools and libraries
- Our beta testers for invaluable feedback
Analysis
View
Metric
- 5
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- ExpressIn code
- JavaScriptIn code
- LangChainIn code
- Next.jsIn code
- ReactIn code
- SQLIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn code
- HTMLClaimed
10 of 11 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
- Claude CodeConfig
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
317 KB
Source files
56
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
seanesla/praxisforberkeley
85 files · 9.5 MB · @ 5510dad
Structure
Interface
14 files · 16%Screens, components and styles rendered to the user.
API & routing
4 files · 5%Request entry points: routes, handlers and controllers.
Application logic
25 files · 29%Domain rules, services and shared utilities.
Data & schema
6 files · 7%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript82%
- Markdown7%
- SQL6%
- JavaScript3%
- CSS1%
- YAML0%
- Other (1)0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 64- @headlessui/react
- @heroicons/react
- @react-pdf/renderer
- @react-three/drei
- @react-three/fiber
- @supabase/ssr
- @supabase/supabase-js
- @types/d3
- @types/lodash
- @types/react-resizable
- @types/react-syntax-highlighter
- chart.js
- clsx
- d3
- date-fns
- file-saver
- framer-motion
- html2canvas
- +46 more
backend/package.json
npm · 56- @langchain/anthropic
- @langchain/community
- @supabase/supabase-js
- @types/crypto-js
- @types/mime-types
- @types/multer
- @types/node-cron
- @types/node-fetch
- @types/pdfkit
- @types/uuid
- bcryptjs
- chromadb
- cors
- crypto-js
- dotenv
- express
- express-rate-limit
- file-type
- +38 more
package.json
npm · 11 development-only dependencies.
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.