Niranjan S — Portfolio

Setting the grid_

Measuring environment

000
← All work
  • Mobile UX · Co-living
  • Zolo Design Challenge
  • 2022

Events at Zolo

Adding a community layer to the Zolostays co-living app, in a design language I had to rebuild from screenshots.

Events hub in light mode
Upcoming event page for a carrom tournament in light mode
Ended chess night event page with leaderboard, in light mode
Client
Zolostays, design challenge
My role
UX and UI design, end to end
Platform
Mobile app, iOS and Android
Output
13 screens, each in light and dark mode

01

The brief

Zolostays asked for a new feature, Events, built as an extension of the existing app and integrated so seamlessly that residents wouldn’t notice where the old app stopped and the new feature began.

There was a catch. No design system, style guide or source files came with the brief. The only reference for the app’s visual language was the live product itself.

So the challenge was really two problems stacked on top of each other: first reconstruct the system, then design a new feature inside it without breaking it.

02

Who Events is for

Events has two audiences with different needs. Residents want an easy way to find things happening in their building and meet the people they live with. Zolo wants a channel to run and promote its own programming at each property, from carrom tournaments to poetry nights.

The design has to serve both without either feeling like an afterthought: social and low-pressure for residents, structured and measurable for Zolo.

Illustrative personas, written for this case study to frame the problem

Aditi, 24

Resident, three months into a new city

Moved to Bengaluru for her first job. Knows her roommate and the security guard by name, and not many others.

Wants to join something without having to make the first move, and to know what she’s signing up for before she commits.

Rahul, 31

Community manager for several Zolo properties

Organises events across properties using WhatsApp groups and notice-board posters, and has no reliable way to know who’s coming.

Wants headcounts before the day, a place to post rules and results, and a way to bring people back for the next one.

03

Rebuilding the design language

With nothing but the live app to go on, I audited its screens and pulled out the decisions behind them: the brand blue and coral, Poppins as the typeface, how list rows were spaced, how icons sat against text, and how actions were styled.

Everything in Events was then built from that reconstructed set, so new screens would inherit the app’s rhythm instead of approximating it.

Values below are measured from the final Figma frames. Type sizes are read from text-box heights, so treat them as close approximations.

The app’s palette, not this site’s

  • Zolo blue

    #00AEEF

    Status bar, list headers, property name

  • Coral

    #E8455F

    Actions, active tab, key values

  • Secondary grey

    #7C7C7C

    Supporting text

  • Hairline

    #D9D9D9

    Row dividers

  • Surface light

    #FFFFFF

    Light mode

  • Surface dark

    #121212

    Dark mode

Type, Poppins throughout

18 medium
Events : Zolo Equinox
16 medium
Upcoming Events
14 regular
Details of upcoming Zolo events
12 regular
Home My Zolo Events Profile

Spacing and structure

MeasureWhere it’s usedValue
Screen marginEvery screen, edge to content16
Icon sizeRow and navigation icons24
Text indentMargin + icon + gap56
Row pitchAll list screens82
Action pillNotify Me, RSVP, Explore Zolo32 high
Event heroImage, with sheet overlapping by 26240

04

Structure

Events takes a slot in the bottom navigation alongside Home, My Zolo and Profile, so it reads as part of the app rather than a feature bolted onto it. The hub splits events by time, which is how residents actually ask about them: what’s on now, what’s coming up, what happened, and what am I signed up for.

People who aren’t yet Zolo residents hit a gate instead of an empty screen, which points them towards finding a property.

Events tabResident?noyesGate screenExplore ZoloEvents hubFour listsLiveUpcomingPastMy EventsEvent pagestate-aware

05

Wireframes

The low-fidelity pass settled the layout before any styling: the same 82px row for every list, so the hub and the four lists share one pattern, and an event page built as an image with a sheet sliding over it, so each event has one consistent anatomy.

These wireframes are generated from the same structure as the final screens, with content reduced to blocks.

  • Wireframe: Hub
    HubFour entry points split by time, one repeated row
  • Wireframe: List
    ListSame row as the hub; only the secondary line changes
  • Wireframe: Event page
    Event pageImage, then a sheet: title and actions, details, then a fixed footer
  • Wireframe: Past event
    Past eventSame anatomy, with results replacing the actions

06

One page, five states

The most important decision was to design the event page as a single template that changes with the event’s lifecycle, rather than a set of different pages. A resident always lands in the same place; what changes is what the page offers them at that moment.

Discover state of the event page

What changed: Both actions visible. Capacity shown as 13/35.

07

Key decisions

Separating “Notify Me” from “RSVP”

Not everyone is ready to commit weeks ahead. Notify Me sits next to the event title as a low-stakes way to stay interested, while RSVP sits in the footer as the real commitment. Once someone RSVPs, the buttons give way to quiet confirmations: a coral bell and a thumbs-up.

Showing capacity, not just attendance

Participant counts are shown against the limit, like 13/35. This tells Zolo how close an event is to full, and gives residents a gentle nudge when spots are running out.

Giving events an ending

Past events don’t just disappear. They show the leaderboard and, for people who took part, their own result. That closure is what makes someone want to come back for the next one.

Turning a dead end into a path

Non-residents can see the Events tab, but instead of an empty or broken screen they get a clear explanation and an Explore Zolo button. A potential dead end becomes a reason to look for a property.

Reusing the list row everywhere

The hub, all four lists and the event metadata use one row pattern drawn from the existing app. Fewer new patterns meant less for residents to learn and less for developers to build.

Dark mode from the start

Every screen was designed in both light and dark mode, so Events matches whichever theme a resident already uses, with no jarring switch when they open the tab.

08

Final screens

Thirteen screens, each delivered in light and dark mode.

  • Not yet a resident in light mode
    Not yet a resident
  • Events hub in light mode
    Events hub
  • Live events in light mode
    Live events
  • Upcoming events in light mode
    Upcoming events
  • Past events in light mode
    Past events
  • My events in light mode
    My events
  • Upcoming event in light mode
    Upcoming event
  • After RSVP in light mode
    After RSVP
  • Live event in light mode
    Live event
  • Past event in light mode
    Past event
  • My event, upcoming in light mode
    My event, upcoming
  • My event, live in light mode
    My event, live
  • My event, ended in light mode
    My event, ended

09

How I’d measure it

The challenge ended at design, so there’s no launch data. These are the signals I’d track to tell whether Events is doing its job for both residents and Zolo.

Hypothetical targets for illustration, not real results

SignalTargetWhy it matters
Residents who open Events in their first month60%Is the tab discoverable and worth a tap?
RSVPs that turn into attendance75%Is RSVP a real commitment, or just a click?
Notify Me taps that later become an RSVP30%Does the low-stakes option actually lead somewhere?
Attendees who come to a second event within 60 days40%Is the community part working?
Gate screen taps on Explore Zolo15%Is the non-resident screen earning its place?

10

Looking back

The most valuable part of this challenge turned out to be the part that wasn’t asked for. Reverse-engineering the app’s design language forced me to understand why its screens looked the way they did, and that made extending it feel natural rather than imitative.

What I’d do next

Let residents host their own events. The current design covers Zolo-run programming well, but the strongest communities come from residents organising things themselves, like a weekend football match or a cooking night.

Add calendar export and check-in. A one-tap add to calendar would help RSVPs turn into attendance, and a simple check-in at the venue would give Zolo accurate headcounts.

Revisit contrast. The light grey secondary text and coral on white, both inherited from the existing app, are likely to fall short of WCAG AA for small text. That’s worth raising with the Zolo team, since fixing it properly means changing the core palette rather than just Events.

Events at Zolo, a design challenge for Zolostays. Personas and metrics on this page are illustrative.

Next case study

Tag-Mate →