Caleb Leavell

Computer Science Student at ASU, with experience in fast-paced and adaptive environments.

Projects

Jatui

2023 - Present | Personal Project

Existing TUI libraries generally target raw terminals (handle user input every time a key is pressed). However, there are many applications that are simple enough to live in the default cooked terminal (handle user input when the user presses enter). Examples of these applications are:

  • CLI Wizards (installation, configuration, setup flows)
  • Menu-Driven Tools (interactive scripts, database helpers, git interfaces)
  • Logic Prototyping (quickly testing algorithms or workflows)
  • Simple REPLs (read-eval-print loops that don't need per-keystroke input)
  • Text Adventures & Games (turn-based input works well in cooked mode)

Jatui is a Java library that provides a framework for building TUIs that are meant to run in a cooked-terminal environment by implementing a modularized, declarative system that allows for reusable, customizable, and analyzable application units.

View on GitHub

Personal Finance App

Spring 2025 | Class Project

  • Worked in a team of 3 to build and deploy a personal finance web application that allowed registered users to view their net worth over time and get the latest stock news.
  • Built the application using the .NET framework and followed a microservice architecture that integrated third-party and custom RESTful/WSDL APIs.
  • Implemented a custom XML/XSD user database with password encryption.

Paint

Fall 2024 | Personal Project

Built and deployed a paint program in PyGame, including features such as undo/redo, a continuous line system, and rendering optimizations that reduced time complexity from O(n^2) to O(1) by only rendering new changes, while full redraws (e.g., after an undo) remained O(n^2).

View on GitHub

Sierpiński Triangle

Spring 2023 | Class Project

Created a Sierpiński triangle in p5.js along with a brief coding tutorial. Provided is the last snippet of the tutorial.

View in the the p5js Editor