A decentralized platform for secure file storage, knowledge management, and content sharing built on Sui blockchain with Walrus decentralized storage.
PineappleCream is a decentralized knowledge management platform that revolutionizes how users store, organize, and share their digital content. Built on blockchain technology, it provides true ownership of data while offering intelligent organization and privacy-first features.
The platform combines the security of blockchain verification with the efficiency of decentralized storage, creating a censorship-resistant system where users maintain complete control over their files, documents, images, and notes.
- Upload any file type to Walrus decentralized storage network
- Blockchain-verified ownership and metadata tracking
- CDN-based downloads for optimal performance
- No central servers - truly decentralized architecture
- Rich markdown-based editor with real-time editing
- Tab-based interface for managing multiple notes
- Automatic content analysis and tagging
- Visual knowledge graph showing content relationships
- Automatic file categorization and tagging using KeyBERT
- Smart content analysis for weaknesses, strengths, and improvements
- Dynamic folder generation based on content types
- Intelligent content recommendations
- Zero-knowledge privacy with optional encryption
- Blockchain-based ownership verification
- Access control with smart contract permissions
- Planned temporary sharing features for one-time viewing
- Automatic content analysis and intelligent tagging for all documents
- AI-powered categorization based on content type, topics, and context
- Smart folder generation and content grouping
- Quick access to relevant data through tag-based filtering and search
- React 18 with TypeScript
- Vite for build tooling and development
- Tailwind CSS for styling
- Radix UI for accessible components
- Sui dApp Kit for blockchain integration
- React Router for navigation
- Sui Blockchain for smart contracts and ownership verification
- Move Language for smart contract development
- Walrus decentralized storage network for file content
- CDN Integration for efficient file delivery
- FastAPI backend for text analysis
- KeyBERT for automatic keyword extraction and tagging
- Ollama integration for advanced text analysis
- Node.js (v18 or higher)
- pnpm or npm package manager
- Sui CLI for blockchain interactions
- Python 3.8+ for AI services
- Ollama (optional, for advanced AI features)
- Clone the Repository
git clone <repository-url>
cd notes-app- Install Dependencies
# Install frontend dependencies
npm install- And Finally...
# Install frontend dependencies
npm run dev- Open the application in your browser
- Click "Connect Wallet" and select your Sui wallet
- Approve the connection to access the dashboard
- Click "Upload File" in the toolbar
- Select your file and provide a filename
- Monitor upload progress as the file is uploaded to Walrus storage
- File metadata is automatically registered on Sui blockchain
- Click "New Note" to create a markdown note
- Use the rich text editor with markdown support
- Notes are automatically saved and tagged using AI
- Switch between multiple notes using the tab interface
- Files and notes are automatically categorized into folders
- Use the graph view to visualize relationships between content
- Search and filter by tags, file types, or content
- Drag and drop files for quick organization
- Click the download button on any file card
- Files are retrieved directly from Walrus CDN
- Original filenames and metadata are preserved
- Download progress is shown in real-time
- Documents are automatically analyzed and tagged using AI
- Tags help categorize content by topic, type, and relevance
- Use tag-based filtering to quickly find relevant documents
- Smart folders automatically organize content for easy access
notes-app/
βββ src/
β βββ components/ # React components
β β βββ ui/ # Reusable UI components (Radix-based)
β β βββ notes-app.tsx # Main application component
β β βββ upload-file-modal.tsx # File upload interface
β β βββ smart-organizer.tsx # AI-powered content organization
β β βββ vault-store.tsx # Vault management interface
β β βββ left-sidebar.tsx # Navigation sidebar
β β βββ center-editor.tsx # Main editor interface
β β βββ right-sidebar.tsx # Content metadata panel
β βββ lib/ # Utility functions
β β βββ utils.ts # General utilities
β β βββ walrus.ts # Walrus storage integration
β βββ hooks/ # Custom React hooks
β βββ constants.ts # Application constants
β βββ networkConfig.ts # Blockchain network configuration
β βββ main.tsx # Application entry point
βββ move/
β βββ vault.move # Sui Move smart contracts
βββ api/
β βββ main.py # FastAPI backend for AI services
βββ public/ # Static assets
βββ dist/ # Build output
βββ package.json # Dependencies and scripts
The central smart contract that manages all file and note uploads:
struct VaultStore has key {
id: UID,
admin: address,
files: vector<ID>, // File object IDs
notes: vector<ID>, // Note object IDs
total_files: u64,
total_notes: u64,
}Key Functions:
upload_file_entry()- Register new files on blockchainupload_note_entry()- Register new notes on blockchainget_vault_stats()- Retrieve platform statisticsis_vault_admin()- Admin access control
Individual file objects with comprehensive metadata:
struct UserFile has key, store {
id: UID,
owner: address,
walrus_blob_id: String, // Walrus storage reference
metadata: FileMetadata, // File details
enhanced_metadata: String, // JSON metadata
secondary_blob_id: String, // For partial encryption
seal_encryption_id: String, // Encryption keys
}Key Functions:
verify_file_ownership()- Ownership verificationget_file_info()- Retrieve file metadatatransfer_file()- Transfer ownershipseal_approve_file_access()- Access control for encrypted files
Note objects with content management:
struct UserNote has key, store {
id: UID,
owner: address,
content_blob_id: String, // Content storage reference
metadata: NoteMetadata, // Note details
enhanced_metadata: String, // JSON metadata
secondary_blob_id: String, // For partial encryption
seal_encryption_id: String, // Encryption keys
}Key Functions:
verify_note_ownership()- Ownership verificationget_note_info()- Retrieve note metadatatransfer_note()- Transfer ownershipseal_approve_note_access()- Access control for encrypted notes
- Ownership Verification: Blockchain-based proof of ownership
- Access Control: Smart contract permissions for encrypted content
- Transfer Capabilities: Secure ownership transfer between users
- Metadata Integrity: Immutable file and note metadata on blockchain
- Advanced Auto-Tagging: More sophisticated content analysis and tagging algorithms
- Smart Recommendations: AI-powered content suggestions based on tags and patterns
- Automated Summarization: Automatic content summarization and key point extraction
- Multi-language Support: AI translation and analysis across languages
- Team Workspaces: Shared vaults for collaborative projects
- Real-time Collaboration: Live editing and commenting on shared content
- Permission Management: Granular access controls for team members
- Version Control: Track changes and maintain content history
- Temporary Access Links: One-time viewing links with expiration
- Public Knowledge Base: Option to publish content publicly
- Content Monetization: Token-based access to premium content
- Cross-platform Integration: API for third-party applications
- Plugin System: Extensible architecture for custom functionality
- Mobile Applications: Native iOS and Android apps
- Enterprise Features: Advanced security and compliance tools
- Decentralized Marketplace: Community-driven content marketplace
- Web3 Integration: Full decentralization with IPFS and other protocols
- AI Agent Network: Autonomous AI agents for content management
- Cross-chain Compatibility: Support for multiple blockchain networks
- Global Knowledge Graph: Connect with other decentralized knowledge platforms
Built with β€οΈ using Sui blockchain and Walrus decentralized storage