STEP Capstone: Groupple — Software Engineering Internship
← Desktop
engineering2021· full-stack developer

STEP Capstone: Groupple

Role: Full-Stack Developer  ·  Context: Google STEP Internship

Team: Himani Yadav, Anika Bagga

🔗 Live Site: groupple.ue.r.appspot.com

Context

Groupple was built during the Google STEP (Student Training in Engineering Program) internship as our capstone project. Built on a Java Servlet framework and deployed on Google App Engine, Groupple is a social media site designed to help people stay connected during COVID-19 through shared group challenges.

Users can create groups, propose weekly challenges through a voting system, complete challenges together, and discover new groups based on location and shared interests.

Figma Prototype

Before writing code, I created a Figma prototype to establish the visual language and user flows. This served as the foundation for our UI, which we then refined collaboratively with the team.

Groupple maps feature

My Features

📊 Polling System

Users can submit options for the group's weekly challenge. Votes are tallied in real time, and the top-voted option automatically becomes the active challenge every 7 days. Built with a Java Servlet backend, Datastore persistence, and a JavaScript frontend with live updates.

🔍 Predictive Search

A user search bar with autocomplete, autocorrect, and whitespace normalization — built from scratch using a trie data structure. Handles partial matches, typos, and messy input gracefully. Searches scale across the full user database efficiently.

📈 User Ranking

When searching for users to invite to a group, results are ranked by degree of social connection: direct group members appear first, followed by friends-of-friends, then others. Implemented using a BFS traversal over the social graph.

Teammate Features

  • Profile pages with editable bios, profile photos, and challenge history
  • Posts & comments — a group feed for sharing challenge progress
  • Group tagging with TF-IDF — automatic tag generation from group descriptions for discoverability
  • Location-based restaurant recommendations using the Google Places API

Design Document

Our full design document covers system architecture, API design, data modeling, and feature specifications.

📄 View Design Document (PDF)

Conclusion

Groupple was an ambitious pivot — we moved beyond the original feature scope to implement genuinely complex algorithmic features: predictive search with a trie, social graph ranking with BFS, and TF-IDF topic tagging. While not every Figma feature made it into the final product, the implemented features pushed meaningful applications of data structures and algorithms that would hold up in production.

This internship was my introduction to full-stack development at scale and shaped how I think about building systems that need to handle real user data gracefully.

Projects
Projects
Launchpad
Launchpad
About Me
About Me
GitHub
GitHub
Mail
Mail
Spotify
Spotify
Trash
Trash