Lakra
User Manual
User Manual
Who This Manual Is For
Contents
Getting Started with Lakra
What is Lakra?
Overview for Different Roles
System Requirements
Quick Start
First Steps by Role
Navigation Overview
Getting Help
What’s Next?
Installation Guide
Prerequisites
Installation Steps
Verification
Production Deployment
Troubleshooting
Next Steps
Annotator Guide
Overview
Getting Started
The Annotation Workflow
Annotation Best Practices
Working with Different Language Pairs
Using the Annotation Interface
Quality Metrics and Feedback
Troubleshooting
Tips for Success
FAQ for Annotators
Next Steps
Evaluator Guide
Overview
Getting Started
Evaluation Types
Annotation Evaluation Workflow
Quality Assessment Workflow
Evaluation Best Practices
Working with AI Assistance
Interface Guide
Metrics and Performance
Handling Special Cases
FAQ for Evaluators
Tips for Success
Next Steps
Administrator Guide
Overview
Getting Started
User Management
Content Management
System Monitoring
Quality Control
System Configuration
Troubleshooting
Security Best Practices
Advanced Administration
FAQ for Administrators
Tips for Effective Administration
Next Steps
Features
Core Annotation Features
Quality Assessment Features
User Management Features
Progress Tracking Features
Content Management Features
Real-Time Features
Interface Features
Security Features
Integration Features
Performance Features
Reporting Features
Future Features
Feature Requests
Frequently Asked Questions (FAQ)
General Questions
Account and Authentication
For Annotators
For Evaluators
For Administrators
Technical Questions
Error Messages
Best Practices
Getting Help
Still Have Questions?
Getting Help
Getting Started with Lakra
What is Lakra?
Key Capabilities
Overview for Different Roles
Annotators
Evaluators
Administrators
System Requirements
For End Users
Display Requirements
Quick Start
First Steps by Role
For Annotators
For Evaluators
For Administrators
Navigation Overview
Getting Help
What’s Next?
Installation Guide
Prerequisites
Installation Steps
1. Clone the Repository
2. Install Dependencies
3. Set Up Supabase
Create a Supabase Project
Get Your Project Credentials
4. Configure Environment Variables
5. Set Up the Database
Run SQL Migrations
Configure Row Level Security (RLS)
Configure Authentication
6. Configure Storage (for Voice Recordings)
7. Start the Development Server
8. Create Your First Admin User
9. Access the Application
Verification
Production Deployment
Quick Production Checklist
Troubleshooting
Common Issues
Getting Help
Next Steps
Annotator Guide
Overview
Getting Started
First Login
Understanding Your Dashboard
The Annotation Workflow
Step 1: Select a Sentence
Step 2: Review the Translation
Step 3: Highlight Errors
How to Highlight Text
Error Type Guidelines
Managing Highlights
Step 4: Quality Ratings
Fluency Rating
Adequacy Rating
Overall Quality Rating
Step 5: Provide Comments
Step 6: Voice Recording (Optional)
Step 7: Submit Annotation
Annotation Best Practices
Quality Guidelines
Common Mistakes to Avoid
Time Management
Working with Different Language Pairs
Source Language Considerations
Target Language Considerations
Using the Annotation Interface
Interface Components
Keyboard Shortcuts
Quality Metrics and Feedback
Your Performance Metrics
Receiving Feedback
Troubleshooting
Common Issues
Tips for Success
Becoming a Better Annotator
Maintaining Quality
FAQ for Annotators
Next Steps
Evaluator Guide
Overview
Getting Started
First Login
Understanding Your Dashboard
Evaluation Types
1. Annotation Evaluation
2. Quality Assessment
Annotation Evaluation Workflow
Step 1: Select an Annotation to Review
Step 2: Review the Annotation
Error Highlights
Quality Ratings
Comments and Suggestions
Voice Recording (if present)
Step 3: Provide Evaluation Scores
Accuracy Score
Completeness Score
Overall Annotation Quality
Step 4: Provide Detailed Feedback
Step 5: Submit Evaluation
Quality Assessment Workflow
Step 1: Access Quality Assessment
Step 2: Review AI Assessment
AI Quality Scores
AI Error Detection
AI Explanations
Step 3: Validate AI Assessment
Feedback Options
Step 4: Provide Your Assessment
Step 5: Submit Quality Assessment
Evaluation Best Practices
Maintaining Consistency
Being Fair and Objective
Providing Valuable Feedback
Working with AI Assistance
Understanding AI Capabilities
When to Override AI
Improving AI Performance
Interface Guide
Annotation Review Interface
Quality Assessment Interface
Keyboard Shortcuts
Metrics and Performance
Your Performance Indicators
Agreement Rates
Productivity Metrics
Quality Indicators
Improving Your Performance
Handling Special Cases
Difficult Evaluations
Disagreeing with Annotators
AI Errors or Bugs
FAQ for Evaluators
Tips for Success
Effective Evaluation Strategies
Managing Workload
Continuous Improvement
Next Steps
Administrator Guide
Overview
Getting Started
Accessing the Admin Panel
Admin Dashboard Overview
User Management
Viewing Users
Creating New Users
Method 1: Individual User Creation
Method 2: Bulk User Import
Editing User Profiles
Managing User Roles
Role Capabilities
Deactivating/Deleting Users
Content Management
Managing Sentences
Viewing Sentences
Adding Individual Sentences
Bulk Importing Sentences via CSV
CSV Format Requirements
Import Process
Common Import Errors
Managing Sentence Status
System Monitoring
Analytics Dashboard
User Activity
Annotation Metrics
Quality Metrics
System Performance
Generating Reports
Data Export
Quality Control
Monitoring Annotation Quality
Review Patterns
Quality Assurance Checks
Managing Onboarding Tests
Creating Onboarding Tests
Reviewing Test Results
Handling Quality Issues
System Configuration
General Settings
Annotation Settings
Evaluation Settings
Storage and Backups
Troubleshooting
Common Admin Issues
Accessing System Logs
Database Maintenance
Security Best Practices
User Security
Data Security
Privacy Compliance
Advanced Administration
Custom Workflows
API Access
Integration Management
FAQ for Administrators
Tips for Effective Administration
User Management
Content Management
Quality Assurance
System Health
Next Steps
Features
Core Annotation Features
Interactive Text Highlighting
Quality Scoring
Fluency Rating (1-5)
Adequacy Rating (1-5)
Overall Quality Rating (1-5)
Error Classification and Documentation
Voice Recording
Comments and Suggestions
Quality Assessment Features
AI-Powered Evaluation
AI Quality Scoring
AI Error Detection
AI Explanations
Human-in-the-Loop Validation
Quality Assessment Workflow
User Management Features
Multi-Role System
Administrator Role
Annotator Role
Evaluator Role
Multi-Role Support
Authentication
User Profiles
Onboarding System
Progress Tracking Features
Personal Dashboard
System-Wide Analytics
Historical Data
Content Management Features
Sentence Management
Language Pair Support
Domain Classification
Bulk Import/Export
CSV Import
Data Export
Real-Time Features
Live Updates
Notifications
Interface Features
Responsive Design
Accessibility
User Experience
Customization
Security Features
Data Protection
Privacy
Integration Features
Supabase Integration
API Access
Third-Party Integration
Performance Features
Optimization
Scalability
Reporting Features
Built-in Reports
Custom Reports
Future Features
Feature Requests
Frequently Asked Questions (FAQ)
General Questions
What is Lakra?
Who can use Lakra?
What browsers are supported?
Is Lakra open source?
Account and Authentication
How do I create an account?
Can I use both email and username to log in?
I forgot my password. What do I do?
Can I change my password?
What if I can’t log in?
For Annotators
Do I need to complete an onboarding test?
Can I retake the onboarding test if I fail?
How do I start annotating?
Can I save my work without submitting?
Can I edit an annotation after submitting?
How many sentences should I annotate?
What if I don’t understand the source language well?
Can I skip a difficult sentence?
What if the source text seems wrong?
How long should each annotation take?
What makes a good annotation?
For Evaluators
How do I know which annotations to review?
Should I always agree with the AI assessment?
How should I handle borderline cases?
Can annotators see my feedback?
How should I write constructive feedback?
What if I strongly disagree with an annotation?
How long should evaluations take?
For Administrators
How do I add new users?
What’s the best way to import many sentences?
Can I recover deleted users or sentences?
How do I check system logs?
What’s the recommended backup strategy?
How do I handle quality issues with an annotator?
Technical Questions
Voice recording doesn’t work. Why?
Why is the page loading slowly?
Can I use Lakra on my phone?
Is my data secure?
Can I export my data?
What happens to my voice recordings?
Error Messages
“Failed to fetch” or “Network error”
“Unauthorized” or “Authentication failed”
“Validation error” on submit
“Database error”
Best Practices
How can I improve my annotation quality?
Tips for efficient evaluation?
How do I maintain work-life balance?
Getting Help
Where can I find more detailed help?
How do I report a bug?
How do I request a new feature?
Who do I contact for support?
Still Have Questions?
Technical Manual
Technical Manual
Who This Manual Is For
Contents
Architecture
Overview
Architecture Principles
Frontend Architecture
Backend Architecture
Authentication Flow
Data Flow Patterns
Performance Optimizations
Security Architecture
Scalability Considerations
Monitoring and Observability
Deployment Architecture
Future Architecture Enhancements
See Also
Database Schema
Overview
Core Tables
Relationships
Database Functions and Triggers
Indexes for Performance
Data Migrations
Backup and Recovery
See Also
API Reference
Overview
Authentication
Sentences
Annotations
Evaluations
Quality Assessments
Admin Functions
Storage (Voice Recordings)
Error Handling
Real-Time Subscriptions
Rate Limiting
Best Practices
See Also
Components
Component Organization
Authentication Components
Layout Components
Modal Components
Page Components
UI Components
Component Patterns
Styling
Component Best Practices
Testing Components
See Also
Development Guide
Prerequisites
Initial Setup
Project Structure
Available Scripts
Development Workflow
Code Style
Adding New Features
Database Migrations
Testing
Debugging
Performance Optimization
Documentation
Contributing
Resources
See Also
Deployment Guide
Deployment Overview
Recommended Architecture
Frontend Deployment
Backend Deployment (Supabase)
Security Hardening
Performance Optimization
Monitoring
CI/CD Pipeline
Deployment Checklist
Scaling Considerations
Maintenance
Troubleshooting
Resources
See Also
Quick Links
Getting Started for Developers
Contributing
Support
Architecture
Overview
Architecture Principles
1. Serverless-First
2. Client-Side Rendering
3. Security by Default
4. Mobile-First Design
Frontend Architecture
Technology Stack
Project Structure
Component Architecture
State Management
Routing Strategy
Data Flow
Backend Architecture
Supabase Components
1. PostgreSQL Database
2. Authentication (Supabase Auth)
3. Storage (Supabase Storage)
4. Row Level Security (RLS)
5. Edge Functions (Optional)
Authentication Flow
Login Process
Authorization Flow
Data Flow Patterns
Annotation Creation
Quality Assessment
Performance Optimizations
Frontend
Backend
Security Architecture
Defense in Depth
Threat Mitigation
Scalability Considerations
Horizontal Scaling
Performance at Scale
Data Growth
Monitoring and Observability
Client-Side
Server-Side
Deployment Architecture
Development
Production
Future Architecture Enhancements
See Also
Database Schema
Overview
Core Tables
users
sentences
annotations
text_highlights
quality_assessments
evaluations
onboarding_tests
Relationships
Database Functions and Triggers
Auto-update timestamp trigger
Update annotation count on sentences
Username-based login RPC
Indexes for Performance
Data Migrations
Backup and Recovery
See Also
API Reference
Overview
Authentication
authAPI
login(credentials)
register(userData)
logout()
getCurrentUser()
updatePassword(newPassword)
Sentences
sentencesAPI
getSentences(filters)
getSentenceById(id)
getNextSentence(userId)
createSentence(sentenceData)
updateSentence(id, updates)
deleteSentence(id)
importSentencesFromCSV(csvData)
Annotations
annotationsAPI
createAnnotation(annotationData)
getMyAnnotations(userId, options)
getAnnotationById(id)
updateAnnotation(id, updates)
deleteAnnotation(id)
getAnnotationsBysentence(sentenceId)
Evaluations
evaluationsAPI
createEvaluation(evaluationData)
getMyEvaluations(evaluatorId, options)
getPendingEvaluations(evaluatorId, options)
getEvaluationById(id)
getEvaluationsForAnnotation(annotationId)
Quality Assessments
qualityAssessmentsAPI
createQualityAssessment(assessmentData)
getQualityAssessment(sentenceId)
validateQualityAssessment(id, validation)
Admin Functions
adminAPI
getStats()
getAllUsers(options)
createUser(userData)
updateUser(userId, updates)
deleteUser(userId)
getAnnotationMetrics(options)
Storage (Voice Recordings)
storageAPI
uploadVoiceRecording(file, annotationId)
getVoiceRecordingUrl(path)
deleteVoiceRecording(path)
Error Handling
Real-Time Subscriptions
Rate Limiting
Best Practices
See Also
Components
Component Organization
Authentication Components
Login
Register
ForgotPassword
ResetPassword
Layout Components
Navbar
Footer
Layout
AnimatedBackground
Modal Components
GuidelinesModal
ConfirmationModal
Page Components
Landing
AnnotatorDashboard
AnnotationInterface
EvaluatorDashboard
EvaluationInterface
AdminDashboard
UserManagement
SentenceManagement
UI Components
Logo
VoiceRecorder
SEO
Component Patterns
Protected Component Pattern
Role-Based Rendering
Data Fetching Pattern
Styling
TailwindCSS Usage
Custom Styles
Component Best Practices
Testing Components
See Also
Development Guide
Prerequisites
Initial Setup
1. Clone Repository
2. Install Dependencies
3. Environment Configuration
4. Database Setup
5. Start Development Server
Project Structure
Available Scripts
Development
Vite Configuration
Development Workflow
Branching Strategy
Commit Message Convention
Code Style
TypeScript
React Best Practices
ESLint Configuration
Tailwind CSS
Adding New Features
1. Create Component
2. Add Route (if needed)
3. Add API Function (if needed)
4. Update Types
Database Migrations
Creating Migrations
Testing
Manual Testing Checklist
Testing User Flows
Debugging
Browser DevTools
Supabase Dashboard
Common Issues
Performance Optimization
Code Splitting
Memoization
Database Query Optimization
Documentation
Contributing
Resources
See Also
Deployment Guide
Deployment Overview
Recommended Architecture
Frontend Deployment
Option 1: Vercel (Recommended)
Option 2: Netlify
Option 3: AWS S3 + CloudFront
Backend Deployment (Supabase)
Production Supabase Setup
Database Backups
Security Hardening
1. Environment Variables
2. Supabase Security
3. Frontend Security
4. Rate Limiting
Performance Optimization
Frontend
Backend
Monitoring
Frontend Monitoring
Backend Monitoring
CI/CD Pipeline
GitHub Actions Example
Deployment Checklist
Pre-Deployment
Deployment
Post-Deployment
Rollback Plan
Scaling Considerations
Horizontal Scaling
Database Scaling
Storage Scaling
Maintenance
Regular Tasks
Updates
Troubleshooting
Common Production Issues
Resources
See Also
Lakra
Search
Please activate JavaScript to enable the search functionality.