Skip to content

Customer-owned CRM on Polkadot blockchain. Customers control their data, businesses pay for temporary access with DOT tokens. Built with Next.js, Supabase, and ink! smart contracts for the Polkadot Cloud Hackathon 2025.

Notifications You must be signed in to change notification settings

kyisaiah47/continuum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

68 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Continuum

The Trust Layer for Data Exchange

Continuum Hero

A decentralized data ecosystem where individuals own their information, organizations operate with consent, and every exchange is verified on-chain.

πŸ“Ή Watch Demo Video | Built for the Polkadot Cloud Hackathon 2025


🎯 The Problem

Traditional data relationships are broken:

  • Companies own customer data forever β€” customers have zero control
  • Same data duplicated across multiple companies
  • No incentive for customers to share accurate information
  • Privacy breaches expose customer data regularly
  • No cryptographic proof of consent or permissions

πŸ’‘ The Solution

Continuum is a three-product ecosystem built on Polkadot that flips the data ownership model:

Myn β€” Personal Data Wallet

Your data, your power. See what you share, control who accesses it, and earn when your data creates value.

Ethos β€” Ethical CRM

The enterprise platform for verified consent-based customer data. Compliance by design.

Continuum β€” Blockchain Protocol

Where data meets integrity. Decentralized verification and recording of every data exchange on Polkadot.


✨ Features

Myn (Individual App)

  • βœ… Personal Dashboard - See all your data in one place
  • βœ… Data Vault - Encrypted storage for personal information
  • βœ… Access Requests - Review and approve/reject requests from organizations
  • βœ… Active Access Control - See who has access and revoke anytime
  • βœ… Earnings Tracker - Track DOT payments for data sharing
  • βœ… Privacy Settings - Granular control over data preferences

Ethos (Enterprise CRM)

  • βœ… Contact Management - Full CRM with search and filtering
  • βœ… Deal Pipeline - Kanban board with drag & drop
  • βœ… Activity Tracking - Log calls, meetings, emails, notes
  • βœ… Task Management - Assign and track follow-ups
  • βœ… Real-time Dashboard - Live metrics and analytics
  • βœ… Data Access Requests - Request customer data with payment offers

Continuum (Blockchain Layer)

  • βœ… Smart Contracts - ink! v5.0 contract for access control
  • βœ… Payment Escrow - DOT token payments held until approval
  • βœ… Time-Limited Access - Automatic expiration of permissions
  • βœ… Blockchain Explorer - View on-chain transactions and contracts
  • βœ… Developer Docs - Complete API and SDK documentation
  • βœ… API Key Management - Secure integration credentials
  • βœ… Contract Playground - Test smart contract interactions

Security & Infrastructure

  • βœ… Row Level Security - Multi-tenant data isolation in Supabase
  • βœ… Authentication - Secure login/signup with password reset
  • βœ… E2E Testing - Playwright test suite for all flows
  • βœ… Type Safety - Full TypeScript coverage across the stack

πŸ—οΈ Tech Stack

Frontend

  • Next.js 15 with App Router
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • shadcn/ui + Radix UI
  • Tremor Charts
  • @dnd-kit (drag & drop)

Backend

  • Supabase (PostgreSQL)
  • Row Level Security (RLS)
  • Real-time subscriptions
  • Supabase Auth

Blockchain

  • Polkadot
  • ink! v5.0 Smart Contracts
  • @polkadot/api
  • @polkadot/extension-dapp
  • Substrate Contracts Node

Testing & DevTools

  • Playwright (E2E testing)
  • ESLint
  • Turbopack

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • Polkadot{.js} browser extension (Install)
  • Supabase account (Sign up)
  • Rust & cargo-contract (optional, for contract deployment)

1. Clone & Install

git clone https://github.com/yourusername/continuum.git
cd continuum
npm install

2. Set Up Environment

cp .env.example .env.local

Edit .env.local:

# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

# Polkadot Configuration
NEXT_PUBLIC_POLKADOT_NETWORK=westend
NEXT_PUBLIC_CONTRACT_ADDRESS=your_contract_address

# App Configuration
NEXT_PUBLIC_APP_URL=http://localhost:3000

3. Set Up Database

See SUPABASE_SETUP.md for detailed instructions.

Quick version:

  1. Create a Supabase project
  2. Copy your API credentials
  3. Run migrations from supabase/migrations/ in Supabase SQL Editor
  4. Update .env.local with your credentials

4. Run Development Server

npm run dev

Open http://localhost:3000

5. Deploy Smart Contract (Optional)

See contracts/data_access/README.md and contracts/DEPLOYMENT.md for deployment instructions.

Quick build:

cd contracts/data_access
cargo install cargo-contract --force
cargo contract build --release
cargo test

πŸ“– How It Works

The Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     Myn     β”‚         β”‚    Ethos     β”‚         β”‚  Continuum  β”‚
β”‚  (Customer) β”‚ ◄─────► β”‚  (Business)  β”‚ ◄─────► β”‚ (Blockchain)β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β–²                        β–²                        β–²
      β”‚                        β”‚                        β”‚
   Own data              Request access         Verify & record

1. Individual owns data in Myn

  • Users connect their data sources to the Myn app
  • Everything stays encrypted and under their control
  • They set privacy preferences and decide who can request access

2. Organization requests via Ethos

  • Brands use the Ethos CRM to submit data access requests
  • They specify which fields they need, for how long, and offer fair compensation in DOT tokens
  • Payment is escrowed in the smart contract

3. Continuum verifies and records

  • Every approval, rejection, and revocation is recorded on Polkadot
  • Cryptographic proof of consent
  • Smart contracts enforce time limits and handle payments automatically

4. Customer approves and earns

  • User receives notification in Myn
  • Reviews request details
  • Approves β†’ receives DOT payment instantly
  • Rejects β†’ business gets refund
  • Can revoke access anytime

πŸ“‚ Project Structure

continuum/
β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ page.tsx                  # Main landing page
β”‚   β”œβ”€β”€ login/                    # Authentication
β”‚   β”œβ”€β”€ signup/
β”‚   β”œβ”€β”€ forgot-password/
β”‚   β”œβ”€β”€ reset-password/
β”‚   β”œβ”€β”€ myn/                      # Myn app (individuals)
β”‚   β”‚   β”œβ”€β”€ dashboard/
β”‚   β”‚   β”œβ”€β”€ vault/                # Data storage
β”‚   β”‚   β”œβ”€β”€ requests/             # Incoming access requests
β”‚   β”‚   β”œβ”€β”€ access/               # Active permissions
β”‚   β”‚   β”œβ”€β”€ earnings/             # Payment tracking
β”‚   β”‚   └── settings/
β”‚   β”œβ”€β”€ ethos/                    # Ethos app (businesses)
β”‚   β”‚   β”œβ”€β”€ dashboard/
β”‚   β”‚   β”œβ”€β”€ contacts/
β”‚   β”‚   β”œβ”€β”€ deals/
β”‚   β”‚   β”œβ”€β”€ activities/
β”‚   β”‚   β”œβ”€β”€ tasks/
β”‚   β”‚   └── data-access/          # Request customer data
β”‚   └── continuum/                # Continuum protocol
β”‚       β”œβ”€β”€ dashboard/
β”‚       β”œβ”€β”€ explorer/             # Blockchain explorer
β”‚       β”œβ”€β”€ contracts/            # Contract viewer
β”‚       β”œβ”€β”€ api-keys/
β”‚       β”œβ”€β”€ playground/
β”‚       └── docs/
β”œβ”€β”€ components/                   # React components
β”‚   β”œβ”€β”€ ui/                       # shadcn/ui components
β”‚   β”œβ”€β”€ brand/                    # Logo components
β”‚   └── product-switcher.tsx
β”œβ”€β”€ contracts/                    # ink! Smart Contracts
β”‚   └── data_access/
β”‚       β”œβ”€β”€ lib.rs                # Main contract code
β”‚       β”œβ”€β”€ Cargo.toml
β”‚       β”œβ”€β”€ README.md
β”‚       └── target/ink/           # Build output
β”œβ”€β”€ lib/                          # Utilities & API
β”‚   β”œβ”€β”€ api/                      # Supabase API functions
β”‚   β”‚   β”œβ”€β”€ contacts.ts
β”‚   β”‚   β”œβ”€β”€ deals.ts
β”‚   β”‚   β”œβ”€β”€ activities.ts
β”‚   β”‚   β”œβ”€β”€ tasks.ts
β”‚   β”‚   β”œβ”€β”€ data-access-requests.ts
β”‚   β”‚   β”œβ”€β”€ vault.ts
β”‚   β”‚   β”œβ”€β”€ earnings.ts
β”‚   β”‚   β”œβ”€β”€ blockchain-explorer.ts
β”‚   β”‚   └── api-keys.ts
β”‚   β”œβ”€β”€ polkadot/                 # Polkadot integration
β”‚   β”‚   └── contract.ts
β”‚   β”œβ”€β”€ supabase-client.ts
β”‚   └── utils.ts
β”œβ”€β”€ supabase/                     # Database
β”‚   └── migrations/               # SQL migrations (16 files)
β”œβ”€β”€ tests/                        # E2E tests
β”‚   └── e2e/
β”‚       β”œβ”€β”€ auth.spec.ts
β”‚       β”œβ”€β”€ ethos-crm.spec.ts
β”‚       β”œβ”€β”€ myn-customer.spec.ts
β”‚       └── continuum-blockchain.spec.ts
β”œβ”€β”€ docs/                         # Documentation
β”‚   └── brand/                    # Brand guidelines
β”œβ”€β”€ SUPABASE_SETUP.md
β”œβ”€β”€ STYLE_GUIDE.md
└── package.json

🎨 Design System

Continuum uses a custom design system inspired by Plural's brutalist aesthetic:

  • Minimal - Remove everything that doesn't serve a purpose
  • Technical - Embrace monospace, code blocks, and system fonts
  • Trust-First - Visual design that reinforces cryptographic certainty

See STYLE_GUIDE.md for complete design documentation.

Key Features:

  • Dark theme with subtle purple accents
  • Light font weights (300) for large headings
  • Glass morphism effects
  • Grid background pattern
  • Gradient animations for brand differentiation

πŸ” Security

Smart Contract Security

  • Payment Escrow: Funds locked until customer decision
  • Time Limits: Access automatically expires
  • Authorization Checks: Only customers can approve/reject their requests
  • No Double Spending: Cannot approve the same request twice
  • Automatic Refunds: Rejected requests refund the business

Application Security

  • Row Level Security (RLS): Users can only access their own data
  • Multi-tenant Isolation: Complete data separation between users
  • Authentication: Secure Supabase Auth with password hashing
  • HTTPS Only: All production traffic encrypted
  • On-Chain Audit: All consent actions recorded immutably

πŸ§ͺ Testing

Run E2E Tests

# Run all tests
npm run test:e2e

# Run tests in UI mode
npm run test:e2e:ui

# Run tests with browser visible
npm run test:e2e:headed

# Debug mode
npm run test:e2e:debug

Run Smart Contract Tests

cd contracts/data_access
cargo test

Test Coverage:

  • βœ… Authentication flows
  • βœ… Ethos CRM operations (contacts, deals, tasks, activities)
  • βœ… Myn customer workflows
  • βœ… Continuum blockchain integration
  • βœ… Smart contract functions (request, approve, reject, revoke, has_access)

πŸ“š Documentation


🎯 Hackathon Criteria

Technological Implementation βœ…

  • Deep Polkadot Integration: ink! v5.0 smart contracts with payment escrow and time-limited access
  • Production-Ready Contract: 100% test coverage with unit tests
  • Type-Safe Codebase: Full TypeScript across frontend and backend
  • Secure Authentication: Row Level Security + Supabase Auth

Design βœ…

  • Professional UI: Custom design system with glass morphism and subtle animations
  • Three Distinct Brands: Myn (personal), Ethos (enterprise), Continuum (protocol)
  • Intuitive UX: Familiar CRM patterns + seamless Web3 integration
  • Responsive Design: Mobile-first approach

Potential Impact βœ…

  • Massive Market: CRM is an $80B industry
  • Real Privacy Solution: Solves actual GDPR/CCPA compliance problems
  • Win-Win Model: Benefits both businesses AND customers
  • Novel Approach: First customer-owned CRM

Creativity βœ…

  • Three-Product Ecosystem: Comprehensive solution, not just a single app
  • Customer Sovereignty: Revolutionary shift from extraction to exchange
  • On-Chain Consent: Cryptographic proof of permissions
  • Fair Value Exchange: Customers get paid for their data

🚧 Future Roadmap

Phase 1: Complete Web3 Integration

  • Deploy smart contract to Rococo Contracts testnet
  • Full frontend integration with deployed contract
  • Customer approval UI in Myn
  • Real-time notifications for consent changes

Phase 2: Mobile & Integrations

  • iOS and Android apps for Myn
  • Email integration (Gmail, Outlook)
  • Calendar sync
  • Advanced analytics with ML insights

Phase 3: Web3 Expansion

  • Cross-chain support via XCM
  • NFT-based reputation system
  • IPFS/Crust for decentralized storage
  • DAO governance for protocol parameters

Phase 4: Enterprise & Ecosystem

  • White-label CRM platform
  • Public data marketplace
  • Cross-platform identity (Web3 SSO)
  • Developer SDK and API

🀝 Contributing

This is a hackathon project, but contributions are welcome!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

MIT License - See LICENSE for details


πŸ™ Acknowledgments

  • Polkadot Foundation - For hosting the hackathon and building incredible infrastructure
  • Web3 Foundation - For tools, resources, and ecosystem support
  • Parity Technologies - For Substrate, ink!, and outstanding developer experience
  • Supabase - For the amazing backend platform
  • shadcn - For beautiful, accessible UI components

πŸ† Team

Built by a solo developer for Polkadot Cloud Hackathon 2025

  • Product Design & Architecture
  • Full-stack Development (Frontend, Backend, Smart Contracts)
  • UI/UX Design & Design System
  • Documentation & Testing

πŸ“ž Support


Quick Commands

# Development
npm run dev              # Start dev server (http://localhost:3000)
npm run build            # Build for production
npm run start            # Start production server
npm run lint             # Run ESLint

# Testing
npm run test:e2e         # Run Playwright E2E tests
npm run test:e2e:ui      # Run tests in UI mode
npm run test:report      # Show test report

# Smart Contract
cd contracts/data_access
cargo contract build     # Build contract
cargo test               # Run contract tests

Built for Polkadot Cloud Hackathon 2025

The trust layer for data exchange. Built on Polkadot.

πŸ“Ή Watch Demo Video β€’ πŸ“„ Documentation β€’ 🌐 GitHub


Ready to revolutionize data ownership? Let's build the future. πŸš€

About

Customer-owned CRM on Polkadot blockchain. Customers control their data, businesses pay for temporary access with DOT tokens. Built with Next.js, Supabase, and ink! smart contracts for the Polkadot Cloud Hackathon 2025.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •