Lurker: A Sign-In-less Reddit Client

Overview

Summary

Building a mobile web client to access Reddit without signing in.

My Role

Designer | Developer

Responsibilities

Design | Frontend and Backend Development

Worked with

Solo Project

Artifacts created

Wireframes | Designs | Interactive prototypes | Web application

Tools

Figma | Caddy web server | Node.js | HTML/CSS | Haxe/JavaScript

Lurker is a mobile web client for accessing Reddit without having to sign into an account.

Goals

The motivation behind creating Lurker came from the 2023 Reddit API controversy. In April 2023, Reddit announced they were going to charge for access to it’s API. This meant that 3rd party applications accessing Reddit (specifically, authenticated APIs) would be required to pay a fee when accessing the API. As a result, many third party clients closed down or turned to a subscription based or alternative pricing model.

As a 3rd party Reddit app user (one of which had shutdown), I was disappointed with the API changes. Since I didn’t use an account to browse Reddit anyway, I decided to create my own Reddit client that would focus on using the non-authenticated API features to facilitate accessing Reddit in a much friendlier way than the official Reddit mobile web app.

A screenshot showing work in progress designs of the Lurker mobile web client.

Inital work-in-progress designs for my mobile Reddit client, Lurker.

The Design

Above are some early designs created in Figma to explore how I wanted the client to look. It is very heavily inspired by the now defunct 3rd party Reddit clients.

Since this is an unauthenticated experience, there are only so many features available to the user, the most important being:

  • Browsing posts on the homepage or on a subreddit.
  • Accessing a post and viewing it’s content (e.g. text, image, video).
  • Using local storage to store favorite subreddits for fast access.
  • Searching for subreddits to view.

The Development

Lurker is primarily a front-end application. Except for serving up the web client, there was nearly zero need for back-end services.

The application itself was built using HTML, CSS, and JavaScript (via Haxe). Browser APIs like Fetch and Local Storage were used to request Reddit data from Reddit's public APIs and locally store favorite subreddits for quick access in the left fly-out menu that would persist after the user closed or navigated away from the app.

The home page and search pages in the Lurker app.

Left: The home page showing post listings from subreddits that show up on r/all.
Right: The search page showing a search for "pc games" and results.

A post page and screenshot of comments for a post in the Lurker app.

Left: An image post showing the posted content and initial comments.
Right: A screenshot of related comments with asynchronous "load more comments" buttons. Clicking this button will load more comments into the existing nested group of comments.