Full-Stack · Social Computing

Flock

A social app designed to make it easier for close friends to hang out in small groups.

Year
2024
Role
Design · Frontend · Backend
Team
Elena Recaldini, Malina Calarco, Pedro Civita, Defne Genç
Context
CS 278: Social Computing
Tools
React Native, Supabase, TypeScript

"Calendars mark when we're busy professionally, but we don't have a system of translucence for when we're free socially."

Overview

Flock is a social app designed to make it easier for close friends to hang out in small groups. By letting users share when they're free and see what their friends are up to, Flock helps create spontaneous plans without the awkwardness of asking around. The app is inspired by social science theories about how transparency and shared awareness can bring people closer, and every feature is designed to make connecting with friends simple and natural.

Technical Implementation

Flock was built with React Native to create a seamless and fully functional social networking app. We implemented dynamic routing, real-time updates, and optimized backend fetching, with native calendar integration and OAuth authentication.

Flock app feed
Event feed
Flock create event
Create event
Flock event detail
Event detail

What I Did

I contributed to both the design and development of Flock, creating a user-friendly interface for key features like the event feed, adding friends, and scheduling plans. I also worked on the backend, ensuring smooth functionality for features like creating events and RSVP-ing to hangouts.

100%
Task completion in pilot study
More likely to join with social proof
0
Hardcoded data — fully live
4/6
Went to Profile to add friends in minute one

Theory → Implementation

Every design decision maps to a CS 278 social computing concept. Feed as first screen enforces social translucence. Participant limits set strong-tie norms. Event details showing who's going leverages social proof. Adding friends from Event Details reduces friction in natural context.

Technical Highlights

  • Real-time Supabase subscriptionsInsert/Update/Delete events reflect instantly in both users' UIs without refresh
  • Protected routinglogin and onboarding detached from Tab Navigator; inner tabs require auth
  • Nested navigationStack inside Tab for deep navigation (user profile from event detail)
  • OAuth + Apple Sign In with SQL triggers for auto-insert and username policy checks
  • Feed filteringevents grouped Today/Tomorrow/date, filtered via .gte("event_end", nowUTC)

What I Learned

I deepened my understanding of designing for social systems, particularly the importance of social proof in driving engagement and the challenges of mitigating context collapse. Through iterative testing, I honed my ability to align technical implementations with theoretical goals, ensuring the app effectively strengthened trust and close social bonds.

DishcoveryTailor