Screenshots of My Web Apps

march 28, 2017 update: it's confusing when i host a page at this wren test site and at jothut. which is the main file? i'm going to rely on jothut to be the place where i create github readme files. i won't update this page anymore.


Used at since 2005. began in January 2003.

View of the site with the browser resized to approximate a mobile view.

Desktop view of creating a new thread post.

Home page view when logged in.


Used at

Small image uploader app with stream views. A post can also contain text, including hashtags. String search and hashtag search exist. Browser-based JavaScript resizes the image before uploading.

Adding or uploading an image. This works fine on a phone too, except with versions of iOS prior to version 8.

Desktop view of one of the posts or an "article" page.

Another view of a post page.


Used at to track my crochet notes.

Scaup is a small, single-user web publishing app. Scaup stream views display a mix of articles and notes.

Desktop view of the home page stream while not logged into the app. If logged-in, then a small text area box would be positioned at the top of the site to allow fast posting of notes or links.


Used at:

Grebe is a multi-user blogging tool or web publishing app.

The default setup is to display only article pages on the home page, sorted by updated date from youngest to oldest. Standard blog view.

A notes stream is displayed separately. This screenshot shows the stream of notes while logged in.

In the above image, the icons shown at the top from left to right represent:

The blue icon images appear when the user is logged into the app. home page while logged in.


List hashtags and their counts alphabetically by tag name.

List hashtags and their counts by tag count, highest to lowest.


Similar to Scaup, except the code is separated into API and Client. Currently, the API code exists in Perl, but a version created with Go is planned. Client code exists in Perl and Node.js.

To log in, only an email address is submitted that matches the author's info that's stored in CouchDB. Veery send a link that when clicked will log the user into the app. The login link will only work one time.

Home page stream view when logged in. The small text area box can be used to create an article or note.

This is the larger text area box for creating a note or article. This is accessed after clicking the 'W' link in the above screenshot. Clicking the [|] link in the above screen shot would bring up the JavaScript editor or enhanced writing mode.

Desktop view of an article page.

JavaScript Editor

"Editor" may be an inappropriate term to use describe this browser-based JavaScript tool. This enhanced writing environment is used with Junco, Grebe, Scaup, and Veery web publishing apps.

The original code is found at:

The original JavaScript provides a Textile live preview editor. The code splits the screen. An author writes markup in the left pane while the right pane provides a live preview of the formatted text. The brower JavaScript converted the Textile markup to HTML.

When testing the code in the summer of 2013, I found the flashing of the live preview annoying and distracting as I typed, since I could see the live preview out of the corner of my eye.

I greatly modified the code. I used the small minified.js framework to make my changes.

I eliminated the live preview. All my apps contain custom formatting options along with supporting Markdown, MultiMarkdown, and Textile, and did not want to try to add all my formatting options to client-side JavaScript. For the Junco code that contains Wiki functionality, server-side formatting was required.

Also to borgar's JavaScript app, I added the single screen option. I can switch from split screen to single screen for a bigger writing area, and then I can switch back to splits screen.

I added a line of buttons across the top to switch to single screen or split screen and to save or preview a post.

And I added keyboard shortcuts to the JavaScript editor for use with a keyboard.

The editor works fine on the phone's browser. Obviously, it's easier to write on the phone with the editor in single screen mode.

The default writing environment. Droid Sans Mono font is used in the writing pane (left). Open Sans font is used in the HTML preview pane (right). The button with the arrows pointing right is used to switch to single screen mode. The button with the arrows point left is used to switch to split screen mode.

Single screen mode for writing.

Single screen mode for previewing a post.

This is a desktop / laptop view after hitting ctrl-j to create a simplified writing environment. No buttons.

This is a desktop / laptop view after hitting ctrl-d to change the default colors when using the simplified writing environment.

This is a desktop / laptop view after hitting ctrl-h to reduce the writing window to only five lines tall.


Used at

It's a private, web-based messaging app. It's sort of a cross between messaging, email, and a message board.

Show the list of my discussion threads.

Start a new message thread that will either be sent only to me for a truly private notes thread, or I can include one or more other users for a group message thread.

When logged in, this is an example of how the home page would appear.


Used at

Junco is a multi-user community app that supports following users, following tags, replies, etc. But for, I switched it to single-user mode.

Home page view when I'm logged in. If the app ran in multi-user mode, this would not be the default home page view.

I spend most of my time in the stream view, which is similar to the stream view listed above for Veery. It's also used at Scaup, and it's the view used for the notes section in Grebe.

My profile page. The items listed in the light blue background are only shown to me when I'm logged in.


Used at

jQuery Mobile is used to display pages.

Desktop view of the home page.

Baby University

Powered by Grebe.

Screenshot of homepage as of early November 2015.