DEV Community

Cover image for What a Wildlife Journal Can Teach Us About Building Better Apps
Elite Home Furniture Hub
Elite Home Furniture Hub

Posted on Edited on Originally published at viltnemnda.net AI-assisted

What a Wildlife Journal Can Teach Us About Building Better Apps

Most apps are built around a simple idea: help someone record, find, or understand something. Yet even a small app can become confusing when it asks too many questions, hides important information, or gives users a false sense of certainty.

A wildlife observation journal offers a useful way to think about these problems.

Imagine someone spotting a bird near a lake. They have a few seconds to notice its colour, size, movement, and surroundings. Later, they want to save what they saw. They may know the species, but they may also be unsure.

The software needs to support both situations.

For a wildlife website such as Viltnemnda, which I run, an observation journal is one possible connection between educational content and a useful digital tool. It raises practical questions about forms, privacy, data storage, and responsible design.

This article explores those decisions without writing code. The same lessons apply to reading trackers, gardening journals, travel notebooks, and many other small personal apps.

Disclosure: I run the wildlife website linked in this article. This article was prepared with AI assistance.

Start With the Moment Someone Needs the App

Before choosing a framework or designing a dashboard, consider the situation in which someone will use the tool.

A wildlife observer might be outside, holding a phone in one hand. The light could make the screen difficult to read. The internet connection might be unreliable. They may want to save a quick note and return to watching the animal.

That is a different situation from someone sitting at a desk with time to fill in a detailed form.

For a first version, the main task could be:

Save a useful description of an observation before the details are forgotten.

This gives the app a clear purpose. Every proposed feature can then be checked against it.

Does a required account help someone save that observation? Does a long species menu help an uncertain beginner? Is an interactive map necessary before the first note can be stored?

Some of these features may become useful later. They do not all belong in the first interaction.

Let People Record What They Know

One common design mistake is asking users for more certainty than they actually have.

A required “Species name” field looks reasonable in a wildlife app. However, a beginner may have seen only a small brown bird disappearing into a hedge.

If the form requires an exact answer, the person must either guess or abandon the entry.

A more useful starting point is a field such as:

What did you see?

That allows descriptions like:

  • A small brown bird with a pale chest.
  • A large bird circling above the field.
  • An animal swimming close to the riverbank.

A separate field can record confidence. For example, the user might select “Not identified” or “Possible identification.”

These labels should describe the user’s confidence, not suggest that the app has verified the animal.

The wider lesson is simple: missing information and incorrect information are different problems. A well-designed app should not solve the first by encouraging the second.

Keep Observations Separate From Research

An observation records what someone noticed. Research helps them understand what it might mean.

Those two activities work well together, but they should remain distinguishable.

Suppose someone records a bird near the coast. Later, they read about its likely habitat and feeding behaviour. That reading may improve their understanding, but it does not change what they actually saw.

A journal can support this distinction with separate spaces:

Observation: What happened during the sighting?

Research notes: What did the user learn afterwards?

A collection of wildlife articles can provide starting points for further reading. However, a general article should not automatically become evidence that a particular species was present.

For developers, this is also a data-design question. When personal notes, imported information, and automated suggestions are stored as though they are the same thing, it becomes harder to understand where a claim came from.

Clear labels help preserve that context.

Choose a Small, Useful Set of Fields

A first version does not need to collect every possible detail.

A practical observation record could include:

Field Purpose
Animal description Records what the person noticed
Observation date Helps place the sighting in time
Identification confidence Makes uncertainty visible
Behaviour notes Preserves useful details about the encounter

An optional general habitat field could also help. “Woodland,” “coast,” or “urban park” may be enough for a personal journal.

Exact coordinates are a separate decision. They are not automatically necessary just because a phone can provide them.

Keeping the form small also makes it easier to explain. Someone should understand what belongs in each field without opening a help page.

If people repeatedly need additional information, that is evidence for expanding the form. Adding fields in advance is often just a guess about future needs.

Explain What “Saved” Actually Means

Storage is one of the most important parts of a journal.

To a user, “saved” may mean that an entry will still exist next month, on another device, or after changing browsers. A small browser-based app may provide none of those guarantees.

For a lightweight prototype, browser storage can be a reasonable place to start. But the interface should explain its limits.

A message such as this is more useful than a vague success notification:

Your entry is saved in this browser. Export a copy if you want a separate backup.

Browser storage does not automatically sync across devices. It can also become unavailable, and clearing site data can remove stored entries.

Developers exploring this approach can read Zell Liew’s discussion of making localStorage easier to use. Understanding how information is written and read is helpful, but explaining that behaviour to users is part of the work too.

An export option is particularly valuable for a personal journal. People may become attached to their records long before the app has advanced features.

Treat Failed Saves as a Real User Experience

It is easy to design the screen that appears after a successful save.

The more revealing question is what happens when saving fails.

Does the app clear the form anyway? Does it display a success message too early? Does the user lose a carefully written note?

A useful rule is to preserve the person’s input until the app knows the operation succeeded.

If something goes wrong, the message should explain the immediate situation in plain language:

We could not save this entry. Your notes are still here so you can copy them before trying again.

The same principle applies when loading older records. If stored data cannot be read, silently replacing it with an empty journal can make recovery harder.

Good error handling protects the user’s effort. It is not just a technical detail.

Build Privacy Into the First Version

A wildlife journal can contain more personal information than its name suggests.

Repeated locations may reveal someone’s walking routine. Photographs may include other people. Free-text notes may mention private property or sensitive wildlife locations.

For a basic journal, a sensible starting point is to collect only what the main task requires.

That could mean:

  • Making location optional.
  • Accepting a broad habitat instead of exact coordinates.
  • Keeping entries private unless the user chooses to share.
  • Providing a clear way to delete records.
  • Explaining what an export contains before it is shared.

Keeping information in a browser also should not be described as encryption or complete security. It is a storage choice, not a promise that nobody else can access the device.

Privacy explanations work best when they describe the actual behaviour of the app.

Use Educational Content at the Right Moment

Related reading becomes useful when it answers a question the person already has.

Someone reviewing a possible puffin observation may want to learn more about the bird’s appearance, habitat, or behaviour. A clearly labelled link to Atlantic puffin facts can support that next step.

The placement matters.

A reading suggestion belongs near research notes or an entry review screen. It is less helpful if it interrupts the form before the user has saved anything.

The wording matters too. “Learn about Atlantic puffins” describes a reading resource. “Confirm your sighting” would suggest a level of verification that a general article cannot provide.

This is a useful principle for any content-led app: connect reading material to a specific need, and describe honestly what the resource offers.

Make the Interface Comfortable to Use

An observation journal should work for someone using a keyboard, a small screen, or enlarged text.

That means using visible field labels, readable contrast, and buttons with clear names. Instructions should not disappear as soon as someone starts typing.

Confidence should also be expressed in words rather than colour alone. A yellow marker means little without a label explaining it.

Deletion deserves particular care. A small icon beside an entry can be easy to tap accidentally. Clear wording, confirmation, or an undo option can help protect records.

These choices may look modest, but they affect the part of the app people experience every time they use it.

Test the Awkward Situations

A useful test plan includes more than saving one normal entry.

Try an empty description. Enter a long note. Refresh after saving. Check what happens when storage is unavailable. Open the app on a narrow screen and move through the form using only a keyboard.

Also check whether a failed save leaves the original text intact.

If multiple tabs are supported, test whether changes in one tab can overwrite changes in another. If that behaviour has not been handled, be clear about the limitation.

A simple testing checklist might include:

Situation Expected behaviour
The description is empty Explain what is missing and keep the other input
A save fails Preserve the note and show a clear message
The page is refreshed Load successfully saved entries
Stored data cannot be read Explain the problem without silently overwriting it
The user exports entries Provide a file containing the saved records
The user uses a keyboard Keep fields and controls reachable
The screen is narrow Keep text and buttons readable without horizontal scrolling

The aim is not to make the first version solve every possible problem. It is to understand the situations it handles and avoid promising more than it delivers.

A Small Project With Useful Lessons

A wildlife journal is a manageable project because its central task is easy to understand: help someone preserve an observation.

Building it thoughtfully still requires important decisions. The app must handle uncertainty, explain storage, protect personal information, and make educational content useful without presenting it as proof.

Those lessons carry well beyond wildlife.

Whether someone is recording books, plants, journeys, or daily habits, the software should respect what they know, preserve what they write, and explain what happens to their information.

That is a strong foundation for a useful app—even before the feature list grows.

Top comments (0)