Feature Roadmap

Feature Roadmap

Krill Feature Roadmap

Last updated: 2026-04-03

This roadmap reflects the current state of the Krill platform. Features are categorized by status:

  • Shipped — Implemented and available in the current release
  • In Progress — Actively being worked on
  • Planned — Committed to building, not yet started
  • Exploring — Under consideration, not yet committed

Node Types — Completeness Matrix

All 35 node types have full UI (create, edit, view, row) across all platforms.

Root & Container Nodes

| Node | Status | Notes | |——|——–|——-| | Client | Shipped | Auto-discovery, FTUE, swarm visualization | | Client.About | Shipped | Version info and links | | Server | Shipped | Raspberry Pi and Linux server management | | Project | Shipped | Dashboard view with organized child sections, QR code |

Hardware & Connectivity

| Node | Status | Notes | |——|——–|——-| | Server.Pin (Digital I/O) | Shipped | Input monitoring, output control via krill-pi4j gRPC | | Server.Pin (PWM) | Planned | PWM output mode acknowledged in UI but not yet functional (#150) | | Server.SerialDevice | Shipped | USB serial with configurable protocol, auto-recovery | | Server.Peer | Shipped | LAN beacon discovery, PIN-based cluster trust, SSE sync | | Server.LLM | Shipped | Ollama integration, node creation from prompts | | Server.Backup | Shipped | ZIP archive creation, retention cleanup, restore from archive | | MQTT (Publish) | Shipped | Publish DataPoint state to MQTT broker topics | | MQTT (Subscribe) | Shipped | Subscribe to topics and write to target DataPoints |

Data & Visualization

| Node | Status | Notes | |——|——–|——-| | DataPoint | Shipped | Time-series with 4 data types (Double, Digital, Text, JSON) | | DataPoint.Filter (all 4) | Shipped | DiscardAbove, DiscardBelow, Deadband, Debounce | | DataPoint.Graph | Shipped | Time-series visualization with zoom/pan, mini embeds | | Project.Diagram | Shipped | SVG upload, anchor-based live data overlays | | Project.Camera | Shipped | Pi Camera Module 3 snapshot polling, live feed in dashboard | | Project.TaskList | Shipped | Task management with completion tracking | | Project.Journal | Shipped | Chronological entries with photo attachments |

Triggers

| Node | Status | Notes | |——|——–|——-| | Trigger.Button | Shipped | Manual one-shot execution | | Trigger.CronTimer | Shipped | 6-field cron scheduling | | Trigger.HighThreshold | Shipped | Fires when value >= threshold | | Trigger.LowThreshold | Shipped | Fires when value <= threshold | | Trigger.SilentAlarmMs | Shipped | Watchdog for missing data updates | | Trigger.IncomingWebHook | Shipped | HTTP endpoint trigger |

Executors

| Node | Status | Notes | |——|——–|——-| | Executor.LogicGate | Shipped | 10 gate types (AND, OR, NOT, NAND, NOR, XOR, XNOR, BUFFER, IMPLY, NIMPLY) | | Executor.Calculation | Shipped | Formula-based math with multi-source references | | Executor.Compute | Shipped | Statistical summaries over time ranges | | Executor.OutgoingWebHook | Shipped | HTTP methods with headers, body, auth | | Executor.Lambda | Shipped | Python execution with Firejail/Docker sandboxing | | Executor.SMTP | Shipped | Email alerts via SMTP |


Platform Infrastructure

FeatureStatusNotes
Kotlin Multiplatform codebaseShippedJVM, Android, iOS, WASM, Desktop
Android app (Play Store)ShippedNative Compose Multiplatform
iOS app (App Store)ShippedNative Compose Multiplatform
Desktop app (Linux/Mac/Windows)ShippedInstallable via apt or standalone
WASM web app (kiosk mode)ShippedServed from server, auto-discovers host
PIN-based cluster authenticationShipped4-digit PIN, HMAC-SHA256 derived tokens
Self-signed TLS with TOFUShippedAuto-generated certs, certificate download
LAN beacon peer discoveryShippedUDP multicast with rolling TOTP validation
Server-Sent Events (SSE)ShippedReal-time state sync to all clients
H2 embedded databaseShippedPersistent node and snapshot storage
Force-graph swarm visualizationShippedInteractive node layout with drag
Pi4J gRPC hardware bridgeShippedSeparate daemon for GPIO access (JDK 25)
QR code generationShippedBranded shrimp logo, unauthenticated endpoint

In Progress

FeatureDescriptionTier
Serializer completenessAll 35 KrillApp types now registered in polymorphic serializerTier 1
Backup restoreFull restore from ZIP archive with safety backupTier 1
MQTT subscribe write-throughIncoming messages write to target DataPointsTier 1
LLM agentic actionsCREATE_LINKS and UPDATE_NODE for LLM-driven automationTier 1
Documentation accuracy syncAligning blog posts with actual implementation stateTier 2
Feature roadmap (this document)Public visibility into platform statusTier 2

Planned

FeatureDescriptionTier
Guided onboardingEmpty-swarm overlay, project creation guide, hint cardsTier 2
Getting-started documentationStep-by-step guide matching actual current UITier 2
Data export (CSV)Server-side CSV export of DataPoint time-seriesTier 3
Node search and filteringSearch by name/type in swarm view, section filters in projectsTier 3
Visual alertingPulsing node icons for WARN/ERROR, project alert bannersTier 4
Audio alertingOptional alert sounds on Desktop/WASM for state changesTier 4

Exploring

FeatureDescription
PWM output modePulse-width modulation for LED dimming, motor speed control (#150)
I2C bus supportDirect I2C sensor communication (#151)
Camera MJPEG streamingLive video stream proxy (currently snapshot polling)
Mesh auto-reconnectAutomatic re-establishment of peer SSE connections after failure
Serial device auto-identificationFingerprinting for known device types (#147)
Role-based access control (RBAC)Multi-user permissions and audit logging
Multi-site WAN meshServer-to-server connections across networks
Lambda security hardeningEnhanced Firejail/Docker restrictions for Python execution

How to Contribute

Krill is open source. If you’re interested in working on any planned or exploring feature:

  1. Check the GitHub issues for existing discussions
  2. The Pi4J gRPC service welcomes contributions
  3. Join the community and share your use cases

This roadmap is updated as features ship. Check back for the latest status.