Documentation Index
Fetch the complete documentation index at: https://grantmaster.dev/llms.txt
Use this file to discover all available pages before exploring further.
Impact / M&E Extension
| Status | Updated | Covered Files |
|---|
| 🟢 Stable | 2026-02-22 | extensions/impact/, extensions/impact/manifest.ts, features/impact/, types/impact.ts |
Overview
The Impact extension (also known as “M&E” — Monitoring & Evaluation) is the largest and most complex extension in the marketplace (64 files). It provides comprehensive impact measurement, indicator tracking, data collection (including KoboToolbox integration), AI anomaly detection, and theory of change visualization.
Key Capabilities
| Capability | Description |
|---|
| Indicator Library | Pre-built + custom M&E indicators with targets, baselines, and data sources |
| Data Collection | Manual entry, bulk import, KoboToolbox field data integration |
| Target Tracking | Multi-period targets with progress visualization |
| Anomaly Detection | AI-powered detection of data anomalies and outliers |
| Theory of Change | Visual theory of change builder and tracker |
| Impact Reporting | Automated impact report generation |
| SDG Alignment | Map indicators to Sustainable Development Goals |
| Beneficiary Tracking | Beneficiary demographics, reach, and outcome measurement |
Manifest
The Impact extension registers with the following manifest configuration:
| Field | Value |
|---|
id | impact |
name | Impact Visualizer |
category | IMPACT |
codeDirectory | me (maps to src/modules/me/) |
manifestVersion | 2 |
Access Control
| Field | Value |
|---|
| Included in tiers | Professional, Enterprise |
| Required permissions | VIEW_ME, MANAGE_ME_LIBRARY, APPROVE_ME_DATA (11 granular permissions total) |
| Feature gates | Feature flags for indicator management, data collection, reporting |
Data Collections
| Collection | Uninstall Policy | Description |
|---|
meIndicators | retain | Indicator definitions and configurations |
meDataPoints | retain | Collected measurement data |
meTargets | retain | Target values and periods |
meSubmissions | retain | Kobo and manual data submissions |
Architecture
┌─────────────────────────────────────────────────────────┐
│ Impact Layout (entry point) │
│ Tab-based navigation: Dashboard, Indicators, Data, │
│ Reports, Settings │
├─────────────────────────────────────────────────────────┤
│ Indicator Management │
│ Library, custom indicators, SDG mapping, targets │
├─────────────────────────────────────────────────────────┤
│ Data Collection Layer │
│ Manual entry, bulk import, Kobo webhooks │
├─────────────────────────────────────────────────────────┤
│ Analysis & Detection │
│ Trend analysis, AI anomaly detection, quality scoring │
├─────────────────────────────────────────────────────────┤
│ Reporting & Visualization │
│ Theory of change, impact dashboards, export │
└─────────────────────────────────────────────────────────┘
Indicator System
Indicator Types
| Type | Description |
|---|
| Output | Direct deliverables (e.g., “trainings conducted”) |
| Outcome | Medium-term changes (e.g., “skills improved”) |
| Impact | Long-term systemic change (e.g., “poverty reduced”) |
| Process | Operational metrics (e.g., “response time”) |
Indicator Configuration
interface MEIndicator {
id: string;
organizationId: string;
name: string;
description: string;
type: 'output' | 'outcome' | 'impact' | 'process';
unit: string; // e.g. 'people', 'percentage', 'USD'
direction: 'increase' | 'decrease';
baseline?: number;
targets: IndicatorTarget[]; // Multi-period targets
dataSource: 'manual' | 'kobo' | 'calculated';
sdgGoals?: number[]; // Linked SDG numbers (1-17)
projectIds?: string[]; // Linked projects
grantIds?: string[]; // Linked grants
frequency: 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'annually';
isActive: boolean;
}
Data Flow
KoboToolbox Form Submission
│
├── Webhook → Cloud Function
│ └── Validate + parse submission
│
├── Map form fields to indicators
│ └── Field mapping configuration
│
├── Create data points
│ └── Linked to indicators + projects
│
└── Anomaly detection
└── AI checks for outliers
Configuration
Each Kobo form is mapped to indicators via a field mapping:
interface KoboFormMapping {
formId: string;
formName: string;
fieldMappings: Array<{
koboField: string; // Kobo question ID
indicatorId: string; // Target indicator
transformFn?: string; // Optional transformation
}>;
}
AI Anomaly Detection
The anomaly detection system uses Gemini to identify suspicious data patterns:
| Check | Description |
|---|
| Statistical outliers | Values beyond 3 standard deviations from mean |
| Temporal anomalies | Sudden spikes or drops in time-series data |
| Consistency checks | Cross-indicator logical validation |
| Duplication detection | Identical submissions from same source/time |
Alert Flow
- New data point enters the system
- Statistical checks run immediately
- AI analysis runs on batch (hourly)
- Flagged anomalies create review tasks
- Approved data points are marked as verified
The Impact extension contributes widgets to the Mission dashboard tab:
| Widget | Dashboard | Description |
|---|
impact-metrics-summary | Mission | Key M&E metrics overview |
theory-of-change-tracker | Mission | Interactive theory of change visualization |
beneficiary-reach | Mission | Beneficiary demographics and reach |
sdg-alignment-dashboard | Mission | SDG progress mapping |
strategic-impact-radar | Mission | Multi-dimensional impact radar chart |
mission-pillar-progress | Mission | Progress against mission pillars |
Permissions (11 Granular)
| Permission | Description |
|---|
VIEW_ME | View indicators and data |
MANAGE_ME_LIBRARY | Create/edit indicator library |
MANAGE_ME_DATA | Enter and edit data points |
APPROVE_ME_DATA | Approve submitted data |
MANAGE_ME_TARGETS | Set and modify targets |
MANAGE_ME_REPORTS | Generate and export reports |
MANAGE_ME_KOBO | Configure Kobo integration |
MANAGE_ME_ANOMALIES | Review and resolve anomalies |
MANAGE_ME_SETTINGS | Extension configuration |
DELETE_ME_DATA | Delete data points |
ADMIN_ME | Full extension control |
Key Files Reference
| File | Purpose |
|---|
src/extensions/impact/manifest.ts | Extension manifest declaration |
src/modules/me/ | Impact module code directory |
src/features/impact/index.ts | Feature barrel export |
src/extensions/impact/contracts.ts | M&E type definitions |
functions/src/api/routers/compliance.ts | Server-side M&E data endpoints |
src/components/widgets/mission/ | Mission tab dashboard widgets |