Setup Your Account
Get started by creating your OpsHub NAV account and connecting your first data source.
Create an Account
Sign up at opshub.nomark.ai using your work email address. # Or use the CLI to create an account
npx opshub-cli signup
Connect Your Database
Navigate to Settings > Integrations and connect your data warehouse or database. Supported integrations:
PostgreSQL
Snowflake
BigQuery
Redshift
Custom JDBC connections
Import Your First Portfolio
Go to Data > Import and upload your portfolio holdings CSV or connect to your existing system. -- Or use SQL to import directly
INSERT INTO investment . portfolios ( name , organization_id, portfolio_type)
VALUES ( 'My First Portfolio' , 'org-id' , 'EQUITY' );
Create Your First Validation
Navigate to Validation > New Rule and select an ASIC RG94 template. Example: NAV Variance Check =NAV_COMPARE(A2, B2, 0.0003) // 3 basis points tolerance
Run Your First Workflow
import { WorkflowClient } from '@temporalio/client' ;
const client = new WorkflowClient ();
// Start daily NAV workflow
const handle = await client . start ( 'daily-nav-workflow' , {
taskQueue: 'opshub-workflows' ,
workflowId: 'nav-2024-01-15' ,
args: [{
portfolioId: 'portfolio-uuid' ,
valuationDate: '2024-01-15' ,
}],
});
const result = await handle . result ();
console . log ( 'NAV calculated:' , result );
Build Your First Query
Use the Visual Data Modeler to build queries with natural language:
Open Visual Data Modeler
Navigate to Data > Visual Modeler from the main menu.
Ask a Question
Type your question in natural language: Example queries:
“Show me all portfolios with their current holdings”
“Calculate NAV for funds over $100M”
“Compare portfolio performance to benchmark this quarter”
Review Generated Query
The AI will generate a visual query with tables and joins. Review and modify as needed.
Preview Results
Click Run to preview results in the interactive spreadsheet.
Save and Share
Save your query as a template or share with your team.
Set Up Validation Rules
Create ASIC RG94 compliant validation rules:
// NAV Variance Check (3bp tolerance)
=IF(ABS((A2-B2)/A2) > 0.0003, "BREACH", "PASS")
// Cash Balance Reconciliation (zero tolerance)
=RECONCILE(actual_cash, expected_cash, 0)
// Position Mismatch Detection
=IF(A2<>B2, "MISMATCH: " & A2 & " vs " & B2, "OK")
All validation formulas are automatically translated to SQL and Python for backend execution.
Next Steps
Core Concepts Learn the key concepts and terminology
User Guides Follow step-by-step guides for common tasks
API Reference Explore the complete API documentation
Database Schema Understand the database architecture
Development Setup
If you’re setting up a local development environment:
Node.js 18+ and npm
Docker and Docker Compose
Git
Supabase account
git clone https://github.com/nomark/opshub.git
cd opshub/opshub-nav
npm install
Create .env.local with your 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
OPENAI_API_KEY=your_openai_api_key
REDIS_URL=redis://localhost:6379
# Start local services
docker-compose up -d
# Apply migrations
npx supabase db push
# Generate types
npx supabase gen types typescript --local > lib/supabase/types.ts
You’re all set! Start building with OpsHub NAV.