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: