...............

ucode Language Server Protocol (LSP)

A full-featured Language Server for the ucode scripting language, built in TypeScript. Provides a VS Code-like editing experience with real-time diagnostics, intelligent completions, and type-aware code analysis.

Available as a VS Code extension, npm package, and on  GitHub

  • Flow-sensitive type inference with union types and type narrowing
  • Context-aware completions for 15+ modules, builtins, and user code
  • Quick Fix code actions with type guard suggestions
  • Cross-file go-to-definition and hover with full type signatures
  • JSDoc annotation support with @param and @returns
  • Control flow graph analysis for unreachable code detection

This live demo runs the real ucode LSP server and connects via WebSocket. Try hovering over functions, triggering completions with Ctrl+Space, or clicking the lightbulb for Quick Fixes.

Loading editor…

RepetitionPro

A web-based spaced repetition platform built as a modern alternative to Anki. Designed with sensible defaults so you can start studying immediately without tweaking dozens of settings.

Try it at repetitionpro.com

  • Import existing Anki decks (.apkg format)
  • AI-assisted deck generation from topics or prompts
  • Rapid card creation with keyboard shortcuts and batch editing
  • Spaced repetition with Again/Hard/Good/Easy rating
  • JWT authentication with user accounts
  • Optimized API with pre-calculated card state counts
  • Rust + Axum backend with PostgreSQL
  • TypeScript + React frontend with Radix UI
  • JWT-based authentication
  • Comprehensive test suite (Vitest + React Testing Library)

csLox

csLox is an interpreter for the Lox programming language. It is a treewalk interpreter, which executes code by traversing the abstract syntax tree.

Lox is a dynamically typed functional programming language with support for objects. Variables are statically scoped, and can be one of four types: a floating point number, a boolean, a string, and nil.

A full language specification is available here:  NoahBPeterson/csLox

The Lox interpreter program is run by a Node.js application. This app accepts program text given to it from the demo, which is put into a named file that is used as an argument when running the interpreter. The output of the interpreter is then sent to the website. It times out after five seconds to avoid instances of the interpreter never exiting.

print "Hello, world!";

College Projects

 BlockTrack

BlockTrack is an administrative tool for use in Minecraft: Bedrock Edition servers. It gives administrators the ability to track block placement history and user history to combat bad behavior.

There are event handlers triggered when blocks are placed or broken. This adds a new history record with the player's username, the datetime of the action, and the location of the block. The database calls are done asynchronously using the server scheduler to avoid making blocking I/O calls on the main thread.

The source repository is available here:  NoahBPeterson/BlockTrack

The plugin is available here: BlockTrack - CloudBurstMC

 Tiered Spawners

SpawnerTiers is a plugin for use in Minecraft: Bedrock Edition servers. It makes spawners upgradeable, and gives administrators the ability to give players a monster spawner.

The source repository is available here:  NoahBPeterson/SpawnerTiers

The plugin is available here: SpawnerTiers - CloudBurstMC