Skip to content

LafaekStreet Public Dashboard ​

Live: https://www.lafaekstreet.com

A cutting-edge civic engagement platform that empowers citizens of Timor-Leste to report infrastructure issues and track their resolution through an intelligent public dashboard powered by Amazon Nova 2 Lite AI.

🎯 AI-Powered Civic Engagement ​

This project showcases the power of Amazon Nova 2 Lite in transforming civic engagement through:

  • Intelligent Chat Assistant (RuaLafaek) - Natural language queries about infrastructure data
  • Real-time Data Analysis - AI-powered insights from citizen reports
  • Smart Query Processing - Converting natural language to database queries
  • Automated Response Generation - Context-aware responses with suggestions

πŸš€ What's Already Implemented ​

βœ… Core Platform Features ​

🏠 Dashboard Homepage ​

Dashboard Homepage

  • Real-time Statistics Cards: Total reports, pending, in-progress, and fixed counts
  • Interactive Map Preview: Clustered markers showing report locations
  • Performance Metrics: Response times, resolution rates, and system health
  • Recent Activity Feed: Live updates of platform activity
  • Quick Action Navigation: Direct access to all major features

πŸ—ΊοΈ Interactive Map System ​

Interactive Map

  • Full-screen Map Interface: Leaflet-based mapping with OpenStreetMap tiles
  • Smart Marker Clustering: Automatic grouping of nearby reports for better performance
  • Advanced Filtering: Filter by status, issue type, municipality, and date ranges
  • Color-coded Status Indicators: Visual distinction between pending, in-progress, fixed, and rejected reports
  • Detailed Popups: Rich information display for each report marker
  • Responsive Design: Optimized for both desktop and mobile viewing

πŸ“Š Comprehensive Statistics ​

Statistics Page

  • Multi-dimensional Analytics: Reports by type, municipality, and time series
  • Interactive Charts: Pie charts, bar charts, and line graphs using Recharts
  • Performance Tracking: Resolution rates, average response times, and trends
  • Municipality Breakdown: Detailed statistics for each region in Timor-Leste
  • Time Series Analysis: 30-day trend visualization with submission patterns

πŸ“‹ Report Management ​

Reports List

  • Advanced Search & Filtering: Multi-criteria filtering with real-time updates
  • Pagination System: Efficient handling of large datasets
  • Detailed Report Views: Complete report information with images and status history
  • Status Tracking: Visual indicators for report lifecycle stages
  • AI-Powered Similarity Search: Vector-based similar report detection using Amazon Nova 2 Multimodal Embeddings
  • Mobile-optimized Interface: Responsive design for all screen sizes

Report Detail

πŸ€– RuaLafaek AI Chat Assistant (Amazon Nova 2 Lite Integration) ​

RuaLafaek AI Chat

Core AI Capabilities ​

  • Natural Language Processing: Understands citizen queries in conversational language
  • Intelligent Query Classification: Automatically categorizes questions as database queries, general info, or help requests
  • Dynamic SQL Generation: Converts natural language to safe PostgreSQL queries
  • Context-aware Responses: Provides relevant, formatted answers with follow-up suggestions
  • Multi-step AI Pipeline: Sophisticated processing chain for optimal results

Security & Protection ​

  • hCaptcha Integration: Bot protection with verification system
  • Input Validation: 500-character limit with safety checks
  • SQL Injection Prevention: Whitelist-only query validation
  • Rate Limiting: Protection against abuse and automated requests

User Experience ​

  • Floating Chat Widget: Non-intrusive interface with custom AI mascot
  • Rich Markdown Responses: Formatted text with headers, lists, and emphasis
  • Suggestion System: Contextual follow-up questions for continued engagement
  • Error Handling: Graceful fallbacks with helpful error messages
  • Theme Integration: Seamless light/dark mode support

Similarity Search

Vector Embedding Technology ​

  • Amazon Nova 2 Multimodal Embeddings: Generates 1024-dimensional vectors from report content
  • Multimodal Analysis: Combines text descriptions and image content for comprehensive similarity
  • pgvector Integration: PostgreSQL extension for efficient vector operations
  • Cosine Similarity: Mathematical similarity scoring between 0-1

Smart Detection ​

  • Automatic Processing: All reports generate embeddings upon submission
  • Configurable Thresholds: Default 50% similarity threshold (adjustable 0-100%)
  • Real-time Search: Find similar reports instantly from any report detail page

User Interface Features ​

  • "Find Similar" Button: One-click similarity search from report details
  • Similarity Scores: Visual percentage indicators showing relationship strength
  • Smart Filtering: Results filtered by relevance and public visibility
  • Loading States: Real-time feedback during embedding analysis

Technical Implementation ​

sql
-- Vector similarity query using cosine distance
SELECT r.*, (1 - (e2.embedding <=> e1.embedding)) as similarity_score
FROM report_embeddings e1
JOIN report_embeddings e2 ON e1.embedding_type = e2.embedding_type
JOIN reports r ON e2.report_id = r.id
WHERE e1.report_id = $1 AND similarity_score >= $2
ORDER BY similarity_score DESC

Use Cases ​

  • Citizens: Discover if their issue has been reported before
  • Government: Identify patterns and recurring problem areas
  • Analytics: Track similar infrastructure issues across regions
  • Fraud Prevention: Detect potential duplicate or spam reports

πŸ—οΈ System Architecture ​

πŸ”„ AI Chat Flow Diagram ​

πŸ› οΈ Technology Stack ​

Frontend ​

  • Next.js 14: App Router with server-side rendering and static generation
  • React 19: Latest React features with concurrent rendering
  • TypeScript: Full type safety across the application
  • Tailwind CSS: Utility-first styling with custom design system
  • Framer Motion: Smooth animations and transitions

AI & Machine Learning ​

  • Amazon Nova 2 Lite: Advanced language model via AWS Bedrock
  • Amazon Nova 2 Multimodal Embeddings: 1024-dimensional vectors for similarity search
  • LangChain: AI application framework for complex workflows
  • AWS Bedrock: Managed AI service infrastructure
  • Natural Language Processing: Query understanding and response generation
  • Vector Similarity Search: pgvector with cosine similarity for duplicate detection

Backend & Database ​

  • PostgreSQL: Robust relational database with advanced features
  • pgvector Extension: Vector similarity search with 1024-dimensional embeddings
  • Prisma ORM: Type-safe database access with migrations
  • Next.js API Routes: Serverless API endpoints
  • Connection Pooling: Optimized database performance

Maps & Visualization ​

  • Leaflet: Open-source mapping library
  • React Leaflet: React integration for Leaflet
  • Marker Clustering: Performance optimization for large datasets
  • Recharts: Responsive chart library for data visualization

Security & Validation ​

  • hCaptcha: Bot protection and verification
  • Input Sanitization: XSS and injection prevention
  • SQL Safety Validation: Whitelist-based query filtering
  • Environment Variable Management: Secure configuration handling

πŸš€ Getting Started ​

Prerequisites ​

  • Node.js 18+
  • PostgreSQL 14+
  • AWS Account with Bedrock access
  • hCaptcha account (optional, for bot protection)

Installation ​

  1. Clone the repository

    bash
    git clone https://github.com/ajitonelsonn/lafaekstreet.git
    cd lafaekstreet_dashboard
  2. Install dependencies

    bash
    npm install
  3. Environment Setup

    bash
    cp .env.example .env.local
  4. Configure Environment Variables

    env
    # Database
    DATABASE_URL="postgresql://user:password@localhost:5432/lafaekstreet"
    
    # AWS Configuration (Required for AI Chat)
    AWS_REGION="us-east-1"
    AWS_ACCESS_KEY_ID="your_access_key"
    AWS_SECRET_ACCESS_KEY="your_secret_key"
    BEDROCK_MODEL_ID="us.amazon.nova-2-lite-v1:0"
    
    # hCaptcha (Optional)
    NEXT_PUBLIC_HCAPTCHA_SITE_KEY="your_site_key"
    HCAPTCHA_SECRET_KEY="your_secret_key"
    
    # App Configuration
    NEXT_PUBLIC_APP_URL="http://localhost:3000"
  5. Database Setup

    bash
    npm run db:generate
  6. Start Development Server

    bash
    npm run dev
  7. Open Application Navigate to http://localhost:3000 (local) or https://www.lafaekstreet.com (production)


πŸ“ Project Structure ​

lafaekstreet_dashboard/
β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ api/                     # API Routes
β”‚   β”‚   β”œβ”€β”€ chat/               # AI Chat endpoint
β”‚   β”‚   β”œβ”€β”€ statistics/         # Statistics APIs
β”‚   β”‚   β”œβ”€β”€ reports/            # Report management APIs
β”‚   β”‚   └── health/             # Health check endpoints
β”‚   β”œβ”€β”€ map/                    # Interactive map page
β”‚   β”œβ”€β”€ reports/                # Report browsing page
β”‚   β”œβ”€β”€ statistics/             # Analytics dashboard
β”‚   └── layout.tsx              # Root layout with AI chat
β”œβ”€β”€ components/                  # React Components
β”‚   β”œβ”€β”€ chat/                   # AI Chat components
β”‚   β”‚   β”œβ”€β”€ LafaekAIChat.tsx   # Main chat widget
β”‚   β”‚   β”œβ”€β”€ ChatMessage.tsx    # Message rendering
β”‚   β”‚   └── ChatInput.tsx      # Input with validation
β”‚   β”œβ”€β”€ map/                    # Map components
β”‚   β”œβ”€β”€ statistics/             # Chart components
β”‚   β”œβ”€β”€ reports/                # Report components
β”‚   └── common/                 # Shared components
β”œβ”€β”€ lib/                        # Utilities & Configuration
β”‚   β”œβ”€β”€ ai/                     # AI Integration
β”‚   β”‚   β”œβ”€β”€ nova-client.ts     # Amazon Nova client
β”‚   β”‚   β”œβ”€β”€ database-handler.ts # SQL generation
β”‚   β”‚   └── web-scraper.ts     # General info handler
β”‚   β”œβ”€β”€ prisma.ts              # Database client
β”‚   └── hcaptcha.ts            # Bot protection
β”œβ”€β”€ prisma/                     # Database Schema
β”œβ”€β”€ public/                     # Static Assets
└── styles/                     # Global Styles

πŸ”Œ API Endpoints ​

Core Data APIs ​

  • GET /api/statistics - Dashboard statistics and metrics
  • GET /api/reports - Paginated reports with advanced filtering
  • GET /api/reports/[id] - Individual report details
  • GET /api/reports/[id]/similar - AI-powered similar reports using vector embeddings
  • GET /api/reports/map - Optimized data for map visualization

AI Chat API ​

  • POST /api/chat - Main AI chat endpoint with Nova integration
  • GET /api/health/db - Database connectivity check

Analytics APIs ​

  • GET /api/statistics/by-type - Reports grouped by issue type
  • GET /api/statistics/by-municipality - Regional breakdown
  • GET /api/statistics/time-series - Trend analysis data

🎨 Features Showcase ​

Intelligent Conversational Interface ​

  • Natural language queries: "Show me all potholes in Dili"
  • Context-aware responses with rich formatting
  • Follow-up suggestions for continued exploration
  • Multi-language support preparation

Advanced Data Visualization ​

  • Real-time dashboard with live statistics
  • Interactive charts with hover details and animations
  • Geographic visualization with clustering algorithms
  • Responsive design optimized for all devices
  • Vector-based similar report detection using 1024-dimensional embeddings
  • Multimodal analysis combining text and image content
  • Configurable similarity thresholds for precise matching
  • Real-time duplicate detection and fraud prevention

Comprehensive Filtering System ​

  • Multi-criteria search across all report fields
  • Date range filtering with calendar integration
  • Geographic filtering by municipality and district
  • Status and priority-based filtering

Performance Optimizations ​

  • Server-side rendering for fast initial loads
  • Incremental static regeneration for cached content
  • Database query optimization with indexing
  • Image optimization and lazy loading

πŸ”’ Security Implementation ​

AI Chat Security ​

  • hCaptcha verification prevents automated abuse
  • Input length limits (500 characters) prevent overload
  • SQL injection prevention with whitelist validation
  • Rate limiting protects against spam attacks

Data Protection ​

  • Environment variable encryption for sensitive data
  • Database connection pooling with secure credentials
  • HTTPS enforcement in production environments
  • Input sanitization across all user inputs

🌟 Amazon Nova Integration Highlights ​

Why Amazon Nova 2 Lite? ​

  • Cost-effective: Optimized for high-volume civic engagement use cases
  • Fast Response Times: 3-8 second average response for complex queries
  • Reliable Performance: Consistent quality for government applications

AI Pipeline Architecture ​

  1. Question Classification: Determines query type (database/general/help)
  2. Context Processing: Analyzes user intent and required data
  3. Query Generation: Converts natural language to safe SQL
  4. Response Formatting: Creates markdown-formatted, user-friendly responses
  5. Suggestion Generation: Provides relevant follow-up questions

Real-world Impact ​

  • Citizen Empowerment: Easy access to infrastructure data
  • Government Transparency: Open data with intelligent querying
  • Scalable Architecture: Ready for nationwide deployment

πŸš€ Deployment & Production ​

Hosting: Vercel ​

  • Deployed on Vercel at https://www.lafaekstreet.com
  • Automatic deployments from Git
  • Environment-specific configuration management
  • Serverless API routes with edge optimization

Performance Monitoring ​

  • Real-time API response tracking
  • Database query performance analysis
  • AI model usage and cost monitoring
  • User engagement analytics

οΏ½ Project Summary ​

LafaekStreet demonstrates the transformative power of Amazon Nova 2 Lite in civic engagement, providing citizens of Timor-Leste with an intelligent, accessible platform for infrastructure reporting and government transparency. The AI-powered chat assistant, RuaLafaek, makes complex data queries as simple as asking a question in natural language, bridging the gap between citizens and their government data.

Key Innovation: Converting natural language citizen queries into actionable database insights, making government data truly accessible to everyone.

Built for Timor-Leste