Decentralized goal accountability with AI-powered verification and IP ownership
Commit your goals to the blockchain. Get verified by AI. Own your productivity methodologies as IP.
Lock-In Responsible helps you achieve your goals through cryptographic commitment, AI verification, IP ownership, and economic incentives.
π Featured at WAIB Summit AI x Web3 Hackathon - CAMP Network Track
- 88% of people fail their New Year's resolutions
- To-do apps don't work because there's no consequence for failure
- You can delete tasks, reset apps, and pretend failures never happened
- Nobody owns or earns from their successful productivity methodologies
Blockchain-immutable goals + AI verification + IP ownership = Real accountability + Creator economy
- Create a goal β Stored on ICP blockchain (can't delete)
- Complete it β Submit text proof
- Get verified β AI + community consensus validates your proof
- Earn rewards β Receive 10 tokens if approved
- Register as IP β Your successful goal becomes sellable IP on Camp Network via Origin SDK
- Earn royalties β Others license your methodology, you earn passive income
- Node.js 18+ (Download)
- DFX SDK (Install ICP SDK)
# Install the ICP SDK
sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
# Verify installation
dfx --version# Start the local replica (blockchain node)
dfx start --clean --background
# This will run on http://localhost:4943
# Keep this running in the background# Deploy the smart contract to local network
dfx deploy lock_in_backend
# You'll see output like:
# Deployed canisters.
# URLs:
# Backend canister via Candid interface:
# lock_in_backend: http://127.0.0.1:4943/?canisterId=XXXXX# Get your canister ID
dfx canister id lock_in_backend
# Copy the output (e.g., rrkah-fqaaa-aaaaa-aaaaq-cai)
# Update frontend/.env with your canister ID
cd frontend
echo "VITE_ICP_CANISTER_ID=$(dfx canister id lock_in_backend)" > .env
echo "VITE_ICP_NETWORK=development" >> .env
echo 'VITE_APP_NAME="Lock-In Responsible"' >> .env# Still in frontend/
npm installnpm run dev
# Frontend will be available at http://localhost:5173- Open http://localhost:5173
- Click "Login with Internet Identity"
- A popup will open for local Internet Identity
- Click "Create Internet Identity"
- Follow the prompts (you can skip adding recovery methods for local testing)
- You'll be redirected back and logged in!
- Try creating a goal and submitting proof
lock-in-responsible/
βββ canister/ # ICP smart contract (Motoko)
β βββ main.mo # Goals, voting, consensus, tokens
βββ frontend/ # React + TypeScript web app
β βββ src/pages/ # Goals, Voting, Dashboard, History
β βββ src/lib/ # ICP integration & utilities
β βββ src/store/ # State management (Zustand)
βββ validator-node/ # Optional: AI validator daemon
βββ dfx.json # ICP configuration
# Terminal 1: Start ICP local network
dfx start --clean
# Terminal 2: Deploy canister & run frontend
dfx deploy lock_in_backend
cd frontend && npm install && npm run dev
# Optional: Run an AI validator node
cd validator-node && npm install && npm startNote: The validator node is optional. Users with completed goals can vote on proofs directly through the web interface!
# Check if dfx is running
dfx ping
# View deployed canisters
dfx canister id lock_in_backend
# Stop the local network
dfx stop
# View canister logs
dfx canister logs lock_in_backend
# Redeploy after code changes
dfx deploy lock_in_backend
# Reset everything (CAREFUL: deletes all data)
dfx start --clean --background
dfx deployProblem: DFX not running or canister not deployed
Solution:
# 1. Check if dfx is running
dfx ping
# 2. If not, start it
dfx start --background
# 3. Deploy the canister
dfx deploy lock_in_backend
# 4. Update frontend/.env with canister ID
echo "VITE_ICP_CANISTER_ID=$(dfx canister id lock_in_backend)" > frontend/.env
echo "VITE_ICP_NETWORK=development" >> frontend/.env
# 5. Restart frontend
cd frontend && npm run devProblem: Wrong canister ID in .env
Solution:
# Get the correct ID
dfx canister id lock_in_backend
# Update frontend/.env manually
# VITE_ICP_CANISTER_ID=<your-canister-id>Problem: Browser blocking popups
Solution: Allow popups for localhost:5173 in your browser settings
Problem: Dependencies not installed
Solution:
cd frontend
rm -rf node_modules package-lock.json
npm install1. User creates goal
β
2. Goal stored on ICP blockchain (immutable)
β
3. User completes goal and submits text proof
β
4. ICP canister checks for eligible voters
β
ββ NO VOTERS? β Auto-approve (bootstrapping)
β ββ Award 10 tokens immediately
β ββ Goal marked complete
β
ββ VOTERS EXIST? β Create verification request
β
5. System selects 5 random voters (users with completed goals)
β
6. Voters review proof in Voting page
β
7. Each voter submits: Approve π or Reject π
β
8. Consensus: 3/5 votes needed for approval
β
9. Rewards distributed:
ββ Correct voters: +1 reputation, split verification fee
ββ Wrong voters: -1 reputation
ββ Goal creator: 10 tokens (if approved)
First-time users get auto-approved when no voters exist yet. Once users complete goals, they become eligible voters, creating an organic validator pool!
See ARCHITECTURE.md for detailed system design.
| Component | Technology |
|---|---|
| Smart Contract | Motoko (ICP) |
| IP Layer | Camp Network Origin SDK β |
| Frontend | React 18 + TypeScript + Vite |
| UI Framework | Tailwind CSS + shadcn/ui (Radix UI) |
| State Management | Zustand + TanStack React Query |
| Routing | React Router v6 |
| AI Verification | OpenAI/Anthropic/Ollama |
| Auth | Internet Identity (Passwordless) |
| Storage | ICP stable memory |
| Deployment | Vercel (Frontend) + ICP Network (Backend) |
Origin SDK enables:
- IP Registration: Goal templates registered as on-chain intellectual property
- Creator Royalties: Earn tokens when others license your methodologies
- IP Marketplace: Browse and purchase proven productivity frameworks
- Remix & Derive: Fork successful goals and create your own variants
This makes Lock-In the first platform where productivity methodologies are ownable, tradeable IP assets.
- Writing: "Write 1000 words today"
- Coding: "Commit code for 30 minutes"
- Learning: "Study for 2 hours"
- Fitness: "Work out for 45 minutes"
- Productivity: "Complete project milestone"
- ICP cycles (fuel for canister operations)
- Get free cycles: https://faucet.dfinity.org
- Vercel account (for frontend hosting)
# Deploy canister to ICP mainnet
dfx deploy --network ic lock_in_backend
# Get your mainnet canister ID
dfx canister id lock_in_backend --network iccd frontend
# Create production .env
echo "VITE_ICP_CANISTER_ID=<your-mainnet-canister-id>" > .env
echo "VITE_ICP_NETWORK=production" >> .env
echo 'VITE_APP_NAME="Lock-In Responsible"' >> .env
# Install Vercel CLI (if not installed)
npm i -g vercel
# Deploy to Vercel
vercel deploy --prodThe project includes frontend/vercel.json for proper SPA routing:
- Fixes 404 errors on page refresh
- Enables direct URL access to all routes
- Already configured - no changes needed!
- Test Internet Identity login on production
- Create a test goal and verify the flow
- Monitor canister cycles:
dfx canister status lock_in_backend --network ic
- Create goal: Free (minimal ICP cycles)
- Verification fee: 0.50 tokens per proof
- Completion reward: 10 tokens (20x return!)
- Become a voter: Complete 1+ goals
- Streak bonus: Compete on global leaderboard
- No stake required: Any user with completed goals can vote
- Earnings: Split verification fee among correct voters
- Example: 4 correct voters β 0.125 tokens each
- Reputation system:
- Correct vote: +1 reputation
- Wrong vote: -1 reputation
- Rewards: Higher reputation = more voting opportunities
User submits proof β 0.50 token fee
5 voters selected β Each votes
Consensus: 4 approve, 1 reject
Majority = Approved β
β Goal creator: +10 tokens
β 4 correct voters: +0.125 tokens each
β 1 wrong voter: -1 reputation
- ARCHITECTURE.md - Complete system architecture and design decisions
- Commitment Device: Public goals you can't delete or hide
- Loss Aversion: Verification fees create skin in the game
- Immediate Rewards: 10 tokens earned instantly upon approval
- Social Proof: Global leaderboard & community feed
- Gamification: Streaks, reputation, and token rewards
- Community-Driven Verification: Democratic voting by peers
- Bootstrapping Mechanism: Auto-approval for first users solves cold-start problem
- Economic Incentives: Voters earn tokens for accurate verdicts
- Reputation System: Track record of voting accuracy on-chain
- Transparent: All goals, proofs, and votes stored on blockchain
- Scalable: More users = larger voter pool = better security
- No Gatekeeping: Any user who completes a goal can vote
MIT License
- Blockchain: Internet Computer Protocol (DFINITY)
- Frontend: React 18, TypeScript, Vite, Tailwind CSS
- UI Components: shadcn/ui (Radix UI primitives)
- State Management: Zustand, TanStack React Query
- Auth: Internet Identity
- AI (Optional): OpenAI, Anthropic, Ollama
- Deployment: Vercel + ICP Network
- IP-registered goal templates - Own your productivity methodologies
- Creator royalties - Earn tokens when others license your goals
- IP marketplace - Buy/sell proven goal frameworks
- Origin SDK badges - Visual indicators for IP-registered content
- WAIB Summit Hackathon submission - CAMP Network Track
- Advanced AI analysis of proof submissions
- Combined with community voting for consensus
- Prevents gaming and ensures legitimacy
- Any user with completed goals can vote on proofs
- Democratic peer verification system
- Reputation tracking for voting accuracy
- First-time users get auto-approved when no voters exist
- Solves chicken-and-egg problem for new platforms
- Automatic transition to community voting as user base grows
Stop procrastinating. Start achieving. Lock in your commitment today. π―