This is a submission for the Ethonline 2025 event
frontend/- Next.js frontend for the Watson platformbackend/- Go backend
If you are running on nix, there is a flake with developer environment in it.
To activate it, run nix develop
Frontend uses bun as its javascript runtime.
First, change your working directory to frontend/: cd frontend
Ran from frontend/
# Run development frontend server
bun run dev
# Run linter for frontend
bun run lint
# Build frontend for production
bun run build
# Start production frontend server
bun run startRan from backend/
# To run the backend
go run cmd/server/main.goThe frontend includes a development mode that allows you to work on the UI without requiring:
- A running backend
- Wallet browser extensions (MetaMask, etc.)
- WalletConnect configuration
Set in .env.local:
NEXT_PUBLIC_DEV_MODE=true- ✅ Skips all backend API calls (no network errors)
- ✅ Skips Web3 wallet connection (no MetaMask/WalletConnect needed)
- ✅ Uses a mock wallet address for testing UI
- ✅ Simple "Login (Dev Mode)" button instead of wallet connection
- ✅ All protected routes work without real authentication
- Go to
/login - Click "Login (Dev Mode)" button
- You'll be logged in with a mock address:
0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb - Navigate to dashboard and test all features
- Authentication: See
frontend/docs/AUTHENTICATION.mdfor details on Web3 authentication flow - API Documentation: See
API_ENDPOINTS.mdfor details on API endpoints and usage