Sunlite

A safe social app for teenagers: find friends by shared interests, read about psychology, reach a helpline. Won the UPSHIFT program run with UNICEF in Belarus and a development grant.

The problem

Sunlite helps teenagers find people who think alike and start a conversation, in a place built around their mental well-being. It grew from a school psychology class into a project at UPSHIFT, a social design program run with UNICEF in Belarus.

How it works

A teen fills in a profile with interests, music, films and photos and picks one of five mascots; matching uses all of it, and two people with the same mascot can start talking. The app also has a psychology section with articles and tests, and a screen with Belarusian helplines.

What I did

Founder, team lead and the only developer. I built all 38 pages in FlutterFlow on Firebase, the data model and a Google Sheets pipeline for the content authors, and led our team of five students, teaching them to use AI tools.

Status

Won the UPSHIFT program in 2024 with a development grant and was covered by Belarusian media. The app reached a working prototype but never launched publicly, because the company running the program ran into organizational problems.

Role
Founder, team lead and lead developer
Period
Mar 2024 – Jul 2025
Status
Archived
Stack
FlutterFlow, Flutter, Firebase, Rive, BlurHash, Google Sheets automation, Google Drive

Key features

  • A detailed profile with interests, music, films and photos, used to match people who think alike
  • Five mascot characters: two people with the same mascot can like each other and start talking
  • A psychology section with longreads, tests and real cases about anxiety and stress
  • Contacts of support lines in Belarus for anyone who needs help right now
  • Content managed from a Google Sheet, so authors never touch the app

What are you into?

People with your interests Your mascot

  • Masha, 15Music, Books, Drawing2 shared
  • Lina, 14Drawing, Films, MusicSame mascot as you: you can like each other1 shared
  • Dima, 15Books, Games1 shared
  • Artyom, 16Games, Sport, Films0 shared
Sample data. Profiles, mascots and wheel segments are made up.
  • Sunlite onboarding: a waving mascot character and the line 'let's get to know each other'Sunlite onboarding: a waving mascot character and the line 'let's get to know each other'

    Onboarding: one of the five mascots greets a new user and starts the introduction.

  • Sign-up screen: the SUNLITE wordmark, 'let's sign you up!', email, password and repeat-password fields, a privacy policy checkbox and an 'all done!' buttonSign-up screen: the SUNLITE wordmark, 'let's sign you up!', email, password and repeat-password fields, a privacy policy checkbox and an 'all done!' button

    Sign-up: email and password, a privacy policy checkbox, and a link to log in instead.

  • Profile screen with sample data: a 'no photos yet' illustration, name and age, then music, films and books, what I'd like to talk about, special stuff, test results and a Telegram usernameProfile screen with sample data: a 'no photos yet' illustration, name and age, then music, films and books, what I'd like to talk about, special stuff, test results and a Telegram username

    Your profile: music, films and books, what you want to talk about and your test results. The data is a made-up sample.

  • Psychology screen with three buttons: articles in green, tests in yellow and cases in pinkPsychology screen with three buttons: articles in green, tests in yellow and cases in pink

    The psychology section: articles, tests and real cases.

  • Help screen: an illustration of a girl holding a heart and a brain, then Belarusian helpline numbers, talk2ok.by and junior.medcenter.byHelp screen: an illustration of a girl holding a heart and a brain, then Belarusian helpline numbers, talk2ok.by and junior.medcenter.by

    Help and support: Belarusian helplines, talk2ok.by for booking a psychologist, and junior.medcenter.by for teen-friendly centres.

  • Trouble Destroyer screen: a large cartoon explosion in yellow, orange and redTrouble Destroyer screen: a large cartoon explosion in yellow, orange and red

    The Trouble Destroyer: you type what bothers you, and an explosion destroys it.

1 / 6 Onboarding: one of the five mascots greets a new user and starts the introduction.

Credits: Team: five students from Minsk; illustrations, content, research and presentation by my teammates

What it is

Sunlite is a mobile app for teenagers that helps them find people who think alike and learn how to start a conversation, in a place built around their mental well-being. The idea came from our team of five students at a Minsk gymnasium, who met at an optional psychology class, and grew into a project at UPSHIFT, a national social design program run by the Belarusian State Pedagogical University with UNICEF in Belarus. The 2024 theme was psychological well-being.

A new user signs up, meets the app through a short onboarding and fills in a profile: name, interests, favorite films and music, and photos, with the main photo required. Matching uses all of it. Each user also picks one of five mascot characters, each with its own style; two people with the same mascot can like each other and start talking, even if nothing else matches.

Beyond profiles, the app has a psychology section with longreads, tests and real cases about anxiety and stress, prepared by the team’s content authors and researchers. A help screen lists support lines in Belarus for anyone who needs help right now. Two lighter pages round it out: the Trouble Destroyer, where you type what bothers you and watch an explosion destroy it, and a fortune wheel you can spin again once its timer runs out.

What I built

The whole app, as the only developer, in FlutterFlow on Firebase: 38 pages (4 for sign-in and registration, 15 for your own profile, 9 for viewing other people’s profiles, 7 for psychology, plus the Trouble Destroyer, the fortune wheel and an info page), most of the screens, all of the logic, the data model for profiles, mascots, articles and cases, and the tools the rest of the team worked with. I also led the team, planned the work and taught my teammates to use AI tools in their part of it.

  • Sunlite onboarding: a waving mascot character and the line 'let's get to know each other'Sunlite onboarding: a waving mascot character and the line 'let's get to know each other'

    Onboarding: one of the five mascots greets a new user and starts the introduction.

  • Sign-up screen: the SUNLITE wordmark, 'let's sign you up!', email, password and repeat-password fields, a privacy policy checkbox and an 'all done!' buttonSign-up screen: the SUNLITE wordmark, 'let's sign you up!', email, password and repeat-password fields, a privacy policy checkbox and an 'all done!' button

    Sign-up: email and password, a privacy policy checkbox, and a link to log in instead.

  • Profile screen with sample data: a 'no photos yet' illustration, name and age, then music, films and books, what I'd like to talk about, special stuff, test results and a Telegram usernameProfile screen with sample data: a 'no photos yet' illustration, name and age, then music, films and books, what I'd like to talk about, special stuff, test results and a Telegram username

    Your profile: music, films and books, what you want to talk about and your test results. The data is a made-up sample.

  • Psychology screen with three buttons: articles in green, tests in yellow and cases in pinkPsychology screen with three buttons: articles in green, tests in yellow and cases in pink

    The psychology section: articles, tests and real cases.

  • Help screen: an illustration of a girl holding a heart and a brain, then Belarusian helpline numbers, talk2ok.by and junior.medcenter.byHelp screen: an illustration of a girl holding a heart and a brain, then Belarusian helpline numbers, talk2ok.by and junior.medcenter.by

    Help and support: Belarusian helplines, talk2ok.by for booking a psychologist, and junior.medcenter.by for teen-friendly centres.

  • Trouble Destroyer screen: a large cartoon explosion in yellow, orange and redTrouble Destroyer screen: a large cartoon explosion in yellow, orange and red

    The Trouble Destroyer: you type what bothers you, and an explosion destroys it.

1 / 6 Onboarding: one of the five mascots greets a new user and starts the introduction.

Technical highlights

  • Caching on several levels for profiles, mascots, articles and cases, to cut repeated database reads.
  • BlurHash placeholders show an image’s colors before it loads.
  • Rive animations. Interactive micro-animations are made in Rive; the project went through two sets of them in 2025.
  • Custom media loading through a stack of widgets that handles raw bytes, database paths and default fallbacks.
  • Profile validation: a main photo is required and extra photos are optional.
  • Content pipeline for non-developers. An author types an article title into a Google Sheet, a document is created in Google Drive, its link lands in the sheet, and the text and images sync back into the app. This took manual file handling off the content team.

Result

The team won the UPSHIFT program and received a grant to develop the app, with an “UpShift: Mental Health” certificate in 2024. Sunlite was covered by Belarusian media, for example SB.by, Minsk News, the Minsk city portal and ProDetok, and in a TNT International segment. The app reached a working prototype but never launched publicly, because the company running the program, not UNICEF, ran into organizational problems. The screenshots recreate the prototype’s screens from its original layout and illustrations: the text is re-typeset in English and Russian, the profile holds made-up sample data, and the dark versions use a dark theme I derived from the app’s own palette. The prototype itself had only a light theme in Russian.

My role

Founder, team lead and the only developer. I built the app, organized a team of an illustrator, content authors and researchers, and taught them to use AI tools. The illustrations, articles, research and pitch were my teammates’ work.

CV.pdf