Apps

This is a list of 40+ custom software applications I’ve written since 2010. As shown below, I’ve written many types of applications:

  • Server-side applications
  • Mobile apps
  • Desktop (thick client) applications
  • Other applications and utilities

Many of them are tools to make me more effective, some are for my websites, and others are for customers. Please note that most of the applications that I’ve written for customers are not shown here.

For screenshots from many of these applications, see my Software Design Portfolio page.

Server-side applications

These are some server-side applications that I’ve written for myself. I’ve worked on many others for customers.

FPTracker A web application to help business analysts count Function Points for software applications (PHP)
kbhr.co A url-shortening service (Scala, Play)
Scrupal A high-performance, Scala + Play Framework version of Drupal
Static Drupal Generates a static website from a Drupal database, and powers alvinalexander.com (Scala)

Mobile applications (iOS and Android)

I initially started writing mobile applications for Android using Java, then started using Android/Kotlin, and more recently I started developing cross-platform apps using Flutter.

Back To Now A new “mindfulness reminders” application written for iOS and Android (Flutter)
Back To Then A photo frame screensaver app, written for iOS and Android (Flutter)
FLiB A fast little internet browser, lets you disable JavaScript and images for superfast web browsing (Android)
Just Be An original “mindfulness reminders” application written for Android
Twitter Client A custom Twitter client that put My Lists and Saved Searches first (Android/Java)
XO Play A “thinking man’s football game”, written for Android with Java
Playcaller A replacement for XO Play, written in Android, Kotlin, and Java (in progress)

Desktop applications

I used to use macOS, Linux, and Windows desktop/laptop computers, so I wrote GUI/thick-client applications in Java/Swing, then Scala/Swing and Scala/JavaFX, because those applications can run on Mac, Linux, and Windows computers.

AlTunes A mini music player, written in Java/Swing
Asc2Html A small GUI that converts AsciiDoc to HTML (Scala/JavaFX)
Blue Parrot Like a parrot, it randomly plays sounds and speaks text phrases (Scala/Swing)
CliffsNotes A mini-browser that lets you create “CliffsNotes” while you read a web page (Scala/JavaFX)
FutureBoard A Scala “Future” demo that is similar to Flipboard and Apple News (Scala/JavaFX)
Hyde A little app to “hide your desktop” so you can focus on your work (Java/Swing)
Jeyes A Java implementation of the Xeyes application (Java)
JustWrite A text editor that takes up the full screen so you can focus on your writing (Java/Swing)
Knol An RSS/Atom news reader + browser (Scala/JavaFX)
Notes A simple GUI Evernote-like app (Scala/JavaFX)
Sarah A personal, open source version of Amazon Alexa or Apple Siri (Scala/Akka, written in 2010-2011)
Tabzilla A simple notepad editor that lets you easily create and name tabs (Scala/Swing)
TypeAhead Text Editor A predictive text text-editor, written around 2005. Uses a dictionary and your text to predict the current word as you type (Java/Swing)
TypewriterFX Plays typewriter keystroke sounds as you type
Wikipedia Reader Reads Wikipedia pages to you
WikiStar A text editor to convert Wiki syntax into multiple formats (Java)

Miscellaneous libraries

These are a few libraries I have created over the years. Cato and the Scala Apache Access Log Parser library have been downloaded tens of thousands of times.

Cato CRUD Generator Using a template-based approaches, creates any kind of files you want from database metadata (inspired by Ruby on Rails and the Play Framework)
LittleLogger A little logger library (multiple implementations for Scala and Dart)
Scala Apache Access Log Parser An Apache Access Log file parser, written primarily for Apache Spark (Scala)
Scala Flat File Database A little text-only database that can be used for small applications, or for rapid prototyping
StringUtils A string utilities library for Scala

Work-related applications

Most of these applications were written for a 24x7 “can’t fail” manufacturing company.

Nagios Web UI A web interface for the Nagios system monitoring tool (Java)
FTP File Mover A Java/RMI application to move hundreds of thousands of files from an FTP server
FTP Logger A Perl application to listen to FTP events and create a data stream for the FTP File Mover
FTP Web Services A web services implementation written in 2010 using Java, SQL Server, and a Glassfish cluster
Open SSO PoC A proof of concept single sign-on solution with server-side clients for FTP, SSH, .NET, Java, Drupal/PHP, and more

The main purpose of the first four applications was to get everyone’s pagers and cellphones to stop going off during the middle of the night and on the weekend, and we achieved that goal.

Command line applications

FF A file-find utility with special features (Scala)
FFX An even better file-find utility to search files for multiple matching patterns (Scala)
Scala Sed A Scala implementation of the Unix/Linux sed command
Teleport The Unix/Linux cd command, with a memory; lets you “teleport” from one location to another (Bourne shell)

When I first created it many years ago, the Unix/Linux Teleport command was unique and at the very least evolutionary, if not revolutionary. Since I first created it, others have copied and improved upon it.

Others

Radio Pi A Tivo/DVR solution for listening to radio stations (with many additional features), written for the Raspberry Pi (Python and other languages)
Agile GUI Testing (AGT) software Lets you write scripts with Scala for GUI testing and GUI automation

Additionally, I’ve written hundreds of other small examples for these books: