Nikita Pennie

I build systems software, mostly in C++ and Swift: an RPC framework, a Wayland compositor with its own UI toolkit, and the web apps that run on top of them.

This page is part of that stack too: a Swift process renders it from a Mustache template through NPRPC's HTTP server, with no Node anywhere in the serving path.

Projects

NPRPC

C++ · TypeScript · Swift

A multi-transport RPC framework: a compact binary protocol, an IDL that generates C++, TypeScript and Swift stubs, and server, client and bidirectional streams over TCP, WebSocket, HTTP/3, WebTransport, QUIC and shared memory.

NSCalc

Swift · Svelte

A hydroponics nutrient solution calculator with a grow journal: stories, photo and video uploads, and a live watch stream. Swift on the server, Svelte in the browser, NPRPC between them.

LavaUI

C++ · Swift · Wayland · Vulkan

A Wayland compositor and a declarative UI toolkit that belong to each other. Apps are written in Swift the way SwiftUI apps are and draw with Vulkan; on the session they hand a draw list to the compositor through shared memory and it paints.

npsystem

C++ · AVR

A distributed control system built around 8-bit AVR microcontrollers: a multi-master protocol loosely based on P-NET, control logic uploaded to running controllers on the fly, and live signal propagation, with quality bits, visible in the running algorithms.