Mira app hero
Team
Solo designer, 1 PM, 1 frontend & 1 backend engineer, 2 researchers
Role
UX Research & Interaction Designer
Sector
Education
Timeline
8 months
Overview

Bengaluru once had around 280 lakes. About 80 remain. Citizen groups hold the data and the stories that explain what is left, but none of it reached someone standing at the water. Mira turns a lake visit into an active learning experience.

An extension of the Bangalore Citizen Lakes initiative, led by CSEI, ATREE, Biome and Friends of Lakes with support from Akamai and Oracle. Its beta platform already tracked ecological parameters with community help. I led the design for eight months, from discovery and information architecture through interaction and visual design, testing and handoff. Illustration, the sensor deployment and the backend sat with others on the programme.

Mira app overview Mira app overview

Research & Discovery

The first thing to understand was the place. Across Jakkur, Kaikondrahalli and Haralur, the information around the lakes was fragmented, old, or too thin to explain what you were looking at. A board reading “conservation zone” named the thing without saying why it mattered, and people walked straight past it.

Site visits ran alongside stakeholder sessions with the citizen lake groups. Researchers brought the ecological data; the groups pointed to the locations and milestones worth building a tour around.

We had assumed the gap was access, that putting the information in people's hands would be enough. It was not. People wanted the story behind what they were looking at, and a way to take part rather than only read. That turned Mira from a reference app into a guided one.

Four photographs from on-site field research at Bengaluru lakes: Kaikondrahalli's butterfly garden board, a board mapping the whole lake at the entrance, Twin Island named in both languages on a stone at the path's edge, and a signed biodiversity zone beside the path.

The same three people kept turning up: someone walking for the calm of it, someone already volunteering at weekends, and someone responsible for the lake's health.

Personas

Built from the stakeholder sessions and on-site research. They represent recurring user patterns we saw across the lake communities and visits, rather than invented individuals.

Anaya

Anaya

Casual visitor
Engagement
Bio

Anaya lives near Jakkur lake and often walks there in the mornings. She enjoys the calm environment and likes spotting birds, but isn't aware of the lake's ecological importance.

Motivations
  • Relax, unwind, and enjoy nature
  • Learn interesting facts about the lake
  • Feel connected to her neighbourhood
Challenges
  • Unsure of the lake's timings and amenities
  • No easy way to discover meaningful information while visiting
Ravi

Ravi

Volunteer
Engagement
Bio

Ravi has been part of his local lake group for a few years. He organises clean-up and plogging drives.

Motivations
  • Contribute to improving his neighbourhood
  • Be part of community-led initiatives
  • See tangible results from collective efforts
Challenges
  • Limited access to data on lake health
  • Lacks structured ways to coordinate volunteer efforts
Meera

Meera

Lake Warden
Engagement
Bio

Meera has been deeply involved in lake conservation for over a decade. She collaborates with civic agencies, attends policy meetings, and mentors local volunteers.

Motivations
  • Ensure the long-term ecological health of the lake
  • Advocate for better policies and maintenance
  • Educate others about environmental science
Challenges
  • Difficulty accessing reliable data
  • Bridging the gap between community knowledge and policy decisions

Defining the Experience

Three different people walk through the same lake, but there was only going to be one experience. The challenge was to turn different needs, local knowledge and ecological data into a simple set of experiences people could use while they were there.

The architecture follows the sequence a visitor actually moves through: pick a lake, pick a tour, walk it, read the water. Everything sits on that path. It is what keeps a bilingual app with sensor data behind it from collapsing into a menu.

The four are lake selection, guided tours, lake data and language. Nothing else made the MVP.

Constraints

Four conditions shaped this design more than any preference did. Some came from the setting, some from the realities of building an MVP.

  • Used while walking, outdoors

    Screens are read in glances, one-handed, in direct sun. Everything load-bearing had to survive a two-second look, which is why navigation is icons and the assistant sits in thumb reach.

  • One codebase, both platforms

    Built in Flutter so it ran on Android and iOS from a single build. Reach mattered more than platform polish: whoever turned up at the lake had to be able to install it.

  • Two scripts, one layout

    Kannada and English had to occupy the same screens without a separate design. Every layout was built against the longer of the two.

  • Nothing to redesign

    There was no earlier app or information architecture to work from. The starting point was analogue: signage, display boards, the lake itself, and what the citizen groups already knew.

What we prioritised for the MVP

Those pieces became four core areas: lake selection, guided tours, lake data and language. Nothing else made it in.

One feature that did not make the MVP was volunteer event coordination. With a small team and limited time, the priority was to make the core lake-learning experience work well before expanding its scope.

What we agreed success meant
  • A first-time visitor completes a tour unaided

    Measured

    From in-app tour completion events.

  • Water-quality data is understood, not just displayed

    Measured

    In testing: can a visitor say what the reading means for the lake after seeing the card?

  • A steward can publish a tour without us

    Measured

    By watching one do it, start to finish, in a single session.

Tour journey
Actions
Select tour
Go through instructions
Reach first milestone
Complete the task
Next milestone
Task list
  1. Pick the lake.
  2. Browse the available tours and select a preferred one.
  1. Understand the rules of the lake.
  2. Onboard for the tour and its functions.
  1. Start walking toward the first milestone.
  2. Check the map to stay on the right path.
  1. Spot the trees highlighted in the app.
  2. Get detailed information on each tree.
  1. Unlock the milestone with a congratulations screen.
  2. Start walking toward the next milestone.
Feeling
Feeling adjective
  1. Options of different tours help the user pick a preferred one.
  2. Rating and duration help set expectations for length.
  1. Overwhelmed by the information overload.
  1. Happy to reach the first milestone.
  2. Amazed by the flora and fauna at the spot.
  1. Surprised to be able to spot some of the trees.
  2. Happy to learn something new about their local lake.
  1. Enthusiastic to see what the next milestone is.

Designing a guide for the lake

With the architecture settled, the question became what it should look and feel like. Three decisions did most of the work: icons instead of labels, so one screen serves both scripts; milestones placed on real ground rather than spaced on a map; and water-quality readings rewritten as plain cards.

The visual language

Before any screen, the ground rules. I worked these out alongside the illustrator handling the object artwork, so the interface and the drawings would come from the same place rather than meeting awkwardly later.

Colour palette

Greens taken from the water and the canopy, with high-contrast accents so hierarchy holds outdoors.

Colour palette
Layered greens, from lake surface to tree reflection, for a city that still calls itself green. The accents exist for one reason: a palette this close-toned needs somewhere for the eye to land, especially on a phone held at arm's length in daylight.

Type in two scripts

Noto Sans, so English and Kannada sit at the same weight and the layout does not shift between them.

Typography and language
Kannada and English set differently: line height, character width, how much room a sentence needs. Noto Sans covers both scripts, and every layout was built against the longer of the two, so switching language changes the words and nothing else.

Icons instead of labels

Buttons that carry meaning without words, so one screen works in either language.

Navigation iconography
Navigation is a small set of icons with clearly defined states, which does two jobs at once: it survives translation, and it reads at a glance in sunlight. Lottie animations answer each tap, so the app behaves like a guide walking alongside you rather than a page you are reading.

The screens, and how they move

With the language settled, the flows the stakeholder sessions had asked for: get oriented, take a walk, understand the water.

The screens

Get oriented, take a walk, understand the water.

The home screen

Mira sits at the bottom of the screen and wakes on interaction; live location keeps you on the path.

The Mira home screen: Jakkur Lake mapped with tour milestones, the assistant at the bottom

Other lakes and the profile, one tap from the home screen

Location-based tours, pinned to the flora and fauna along the path

Language switch, reachable from every screen

The assistant sits within thumb reach

The assistant stays where a thumb already is. Above it, live location on the lake map, so the app answers "where am I" before anything else. That is the question people actually have while walking.

Onboarding

Language first, then a short pass through the four features.

Onboarding flow
Language comes before anything else, because getting it wrong costs a person the whole app. What follows is one short pass through the four features, done once.

The first tour

A nature tour is an unfamiliar idea, so the first one explains itself as it goes.

Tour onboarding flow
Nobody arrives knowing what a lake tour inside an app is. Rather than explain it up front, the first tour introduces each element at the point it is needed: the map, the milestone, the activity. The walk never stops to teach.

Milestones along the walk

Milestones sit at real places on the lake. Reaching one opens whatever there is to do there.

Biodiversity tour flow 1 Biodiversity tour flow 2
Milestones are placed against the lake itself rather than spaced evenly on a map: a stand of trees worth identifying, a spot where the birds are, a bench where the audio guide earns a stop. The activity belongs to the ground you are standing on, which is the difference between a tour and a checklist.

Reading the water

Nitrates and dissolved oxygen, turned into cards that say what the number means.

The authorities already measure nitrate levels, dissolved oxygen and the rest. A visitor can do nothing with those numbers as published. Each reading became a card carrying the value, the range it should sit in, and what it means for the lake. Same data, at the level a person on the bank can use.
Motion, and everyone else

The things that make it feel like a guide rather than a form, and the checks on whether it works for the people who actually turn up. Small animations mark what worked, and give Mira a presence on screen.

Every key action carries a small animation: something registered, something unlocked, something worth looking up for. They also do the work of making the assistant feel like it is listening, which no static icon manages.

Built for whoever shows up

Two languages, and enough visual guidance that neither is a requirement. Icons and imagery carry the app for someone who reads little of either script.

Accessibility and multilingual design
A lake is public, and the people at it run from a professor who sits in policy meetings to someone who reads neither script comfortably. Language selection covers part of that. Icons, images and motion cover the rest, so the app can be used by pointing and tapping alone.
Designing for the actual environment

The app was reviewed outdoors across all three lakes, with two morning visits and one evening visit. Morning visits also revealed a useful product detail: bird activity was more visible earlier in the day, so the tour experience included a suggested best time to visit.

What was actually checked
  • Walking mode, stripped back

    The stretch between milestones is where a phone competes with the lake, and the lake should win. On that stretch the interface drops to essentials only, set bolder, so a glance is enough and nothing invites a scroll.

  • Kannada readers reviewed the interface

    Two readers went through the translated app, with help from Kannada speakers on the team. They caught labels that were correct as translations and meaningless in context, which is the failure automated translation cannot catch.

  • Colour contrast

    Checked, but honestly not a priority at MVP. The palette is close-toned by design, which makes it the first thing to re-audit if the app is picked up again.

  • Outdoor conditions

    The experience was reviewed at all three lakes, across two morning visits and one evening visit. Morning observation also revealed that birds were more visible earlier in the day, which led us to add a suggested best time for the tour.

  • Accessibility scope

    Screen-reader support, dynamic type and more detailed tap-target work were not part of the MVP because of time constraints. They would be priorities for a subsequent iteration.


Taking it to the lake

Then we took it outside. Testing the experience at the lakes helped us understand how people actually used it in context, and exposed a bigger comprehension problem: seeing lake statistics was not the same as understanding them.

How it was tested
  • Eight people, across all three visitor types

    Five casual visitors, three of them children, plus two volunteers and one lake steward. The children were the useful surprise: a tour that survives a distracted nine-year-old survives most adults.

  • On a working build, not a prototype

    Tested on installable APK builds rather than a clickable prototype, so what people experienced was the real product in the real environment.

  • Two rounds

    Both against working builds, with the second checking whether the changes from the first had taken.

  • Tasks

    Start a biodiversity tour and complete it unaided; tell me whether the water is healthy today; work through the SoWhat card and say what the reading means.

  • At the lake, repeatedly

    Every session happened at the lake rather than in a room. We observed people who had not built the app try the experience in context, while the team also checked that the core tour flow worked end to end.

What it found, and what changed

Testing also showed that lake statistics were understandable at a glance but not necessarily meaningful to someone without a scientific background. Terms such as nitrate and dissolved oxygen needed interpretation, not just presentation.

FindingWhat changed
People could read the lake statistics but did not understand what terms such as nitrate and dissolved oxygen meant. The information was too technical for people without a scientific background. We introduced SoWhat cards: illustrated explanations, simple graphs and a rating/feedback step to help people interpret the data rather than simply read it.
A SoWhat card explaining a water-quality reading A SoWhat card with a simple graph and a rating step

Outcome & Learnings

The app is open source and maintained by a civic group, so the deliverable was never just screens. It was a set of patterns someone else could extend without asking me.

What was handed over

The Figma file and library, components, design tokens, specifications, interaction documentation, Lottie files and prototypes. Two of the tours running in the app today were built by residents on top of that, which is the part I am most pleased with: the patterns held without me.

1,000+
unique downloads in the first three months after release.
2 tours
written and published by residents themselves, after launch.
Open source
including the illustration library, still online after the funding ended.
National press
covered by The Hindu and Mongabay.
What I would carry forward

Key learning

  • Sensor data only becomes useful when it is tied to the moment and place where someone meets it.
  • Designing in two scripts is a layout problem before it is a translation problem.
  • An experience used while walking has to work in glances.

What I would do differently

  • Ship and test feature by feature rather than waiting for the whole MVP.
  • Instrument analytics before launch so impact has a baseline.
  • Design for where people are, not only for how it behaves on a screen.