Skip to content
Β 
Β 

Latest commit

Β 

History

294 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

License Version Last Commit GitHub issues GitHub stars

Ownlyst

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.

✨ Features

  • 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

πŸ” Privacy & Security First

  • 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

πŸš€ Quick Start

Prerequisites

  • Node.js 18.0.0 or higher
  • npm 9.0.0 or higher

Local Installation

# Clone the repository
git clone https://github.com/narainkarthikv/ownlyst.git
cd ownlyst

# Install dependencies
npm install

# Start development server
npm run dev

Visit http://localhost:5173 to see the app.

Production Build

npm run build
npm run preview

Docker

# Build the production image
docker build -t ownlyst .

# Run the app on http://localhost:3000
docker run --rm -p 3000:3000 ownlyst

πŸ› οΈ Tech Stack

Frontend

  • 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

Tech Stack

πŸ“ Project Structure

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

πŸ”‘ Environment Variables

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__.

πŸ§ͺ Development

Available Scripts

npm run dev          # Start development server
npm run build        # Build for production
npm run preview      # Preview production build
npm run lint         # Run ESLint

Code Style Guidelines

  • 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

Formatting (Prettier)

Run these from the repository root so Prettier checks both frontend and backend:

# Check formatting
npx prettier --check .

# Write formatting fixes
npx prettier --write .

🀝 Contributing

We welcome contributions from the community! Here's how to get started:

  1. Read the Guidelines: Check CONTRIBUTING.md for detailed instructions
  2. Pick an Issue: Browse open issues or create a new one
  3. Fork & Branch: Create a feature branch from your fork
  4. Code: Follow our code style and commit conventions
  5. Test: Ensure everything works locally
  6. Submit PR: Open a pull request with a clear description

Ways to Contribute

  • πŸ› 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

πŸ’¬ Community & Support

πŸ“– Documentation

πŸ“œ License

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.

🌟 Show Your Support

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

πŸ”— Links


Built with ❀️ by the Wisdom Fox community

Let's build the best privacy note-taking app together! πŸš€

About

🧠 Open-source sticky notes web app focused on clean UI and learning-friendly code. Perfect for beginner contributors and React practice.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages