Own your notes. Own your data.
Ownlyst is a privacy-first, local-first note management app. Create, organize, and search notes with complete user ownership and zero backend dependency.
- Multiple Views: Notes grid, Kanban board, table view, and roadmap
- Color Coding: Organize notes by priority and status
- Fast Search: Instant note filtering and search
- Theme Preferences: System, light, or dark
- Default View: Start in your favorite view
- User Profile: Emote avatar + username
- Drag & Drop: Intuitive note organization
- Backup Import/Export: Combined profile + notes (JSON/CSV)
- Responsive: Works on desktop, tablet, and mobile
- Offline Ready: Works without internet after first load
- No Tracking: No analytics, no cookies, no telemetry
- Zero Server Dependency: No backend, no cloud, no data transmission
- Local Storage Only: Notes stored in browser IndexedDB/localStorage
- Full Data Control: Export or clear data at any time
- Open Source: Transparent and auditable code
- Node.js 18.0.0 or higher
- npm 9.0.0 or higher
# Clone the repository
git clone https://github.com/narainkarthikv/ownlyst.git
cd ownlyst
# Install dependencies
npm install
# Start development server
npm run devVisit http://localhost:5173 to see the app.
npm run build
npm run preview# Build the production image
docker build -t ownlyst .
# Run the app on http://localhost:3000
docker run --rm -p 3000:3000 ownlyst- React 18 - UI library
- TypeScript - Type-safe JavaScript
- Vite - Fast build tool
- Tailwind CSS - Utility-first styling
- Framer Motion - Animations
- @hello-pangea/dnd - Drag and drop
- Lucide React - Icons
ownlyst/
βββ src/
β βββ components/ # Reusable UI components
β βββ constants/ # App constants and configs
β βββ context/ # React context providers
β βββ controllers/ # App-level controllers/providers
β βββ data/ # Sample data
β βββ hooks/ # Custom React hooks
β βββ models/ # TypeScript types and validation
β βββ pages/ # Page components
β βββ services/ # Business logic and storage
β βββ utils/ # Helpers (filtering, sorting, text)
β βββ views/ # View-specific components
βββ public/ # Static assets
βββ .github/ # GitHub templates and workflows
Ownlyst does not require any environment variables for local development. When running in Docker, you can optionally provide runtime configuration through OWNYLST_APP_ENV and OWNYLST_API_BASE_URL, which are exposed to the browser via window.__OWNLYST_CONFIG__.
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint- Formatting: Follow existing conventions and 2-space indentation
- React: Functional components with hooks
- TypeScript: Prefer typed props and models
- Accessibility: Semantic HTML and keyboard navigation
Run these from the repository root so Prettier checks both frontend and backend:
# Check formatting
npx prettier --check .
# Write formatting fixes
npx prettier --write .We welcome contributions from the community! Here's how to get started:
- Read the Guidelines: Check CONTRIBUTING.md for detailed instructions
- Pick an Issue: Browse open issues or create a new one
- Fork & Branch: Create a feature branch from your fork
- Code: Follow our code style and commit conventions
- Test: Ensure everything works locally
- Submit PR: Open a pull request with a clear description
- π Fix bugs and improve stability
- β¨ Add features that enhance productivity
- π Improve documentation and examples
- π¨ Enhance UI/UX and accessibility
- β‘ Optimize performance
- π Add translations and i18n support
- Issues: Report bugs or request features
- Discussions: Ask questions and share ideas
- Pull Requests: Contribute code improvements
- Contributing Guide - How to contribute
- Code of Conduct - Community guidelines
- Security Policy - How to report vulnerabilities
- Contributors - Contributor list
- License - MIT License details
This project is licensed under the MIT License - see MIT-LICENSE.txt for details.
Summary: You are free to use, modify, and distribute this software for any purpose, including commercial use.
If Ownlyst helps you stay organized:
- β Star the repository
- π Report issues you encounter
- π‘ Share your feature ideas
- π€ Contribute code or docs
- π’ Tell others about the project
- Production Demo: https://ownlyst.netlify.app/
- Development Demo: https://ownlyst-dev.vercel.app/
- Repository: https://github.com/narainkarthikv/ownlyst
Built with β€οΈ by the Wisdom Fox community
Let's build the best privacy note-taking app together! π