Inspiration
Coming from Japan and Taiwan to Canada for our Co-op programs, all of our team members currently live in shared houses. We personally experienced the subtle tensions of housemate dynamics—especially when it comes to keeping shared spaces clean. Reminding housemates to do chores often feels uncomfortable, leading many to stay silent to avoid conflict.
We realized that nagging creates friction, but shared progress creates connection. We quickly reached a consensus: what if we transformed daily household responsibilities into a cooperative, rewarding game? That is how RoomBloom was born—a cooperative web app where housemates care for their home by raising a shared virtual pet beaver together.
What it does
RoomBloom is a cooperative, real-time web application designed for housemates to keep shared living spaces clean and harmonious without the friction of awkward reminders. By turning daily household responsibilities into a shared pet-raising experience, RoomBloom transforms chore routines into a fun, rewarding team effort.
Key Features
Co-op Pet Growth
Housemates work together to take care of a virtual pet. Every completed chore grants experience points that help the pet level up and evolve.Shared Point Economy & Room Customization Earning points from chores allows housemates to unlock and purchase cozy decorations—such as rugs and wallpapers—to customize their shared virtual room together.
How we built it
We structured our workflow efficiently with a balanced team of two backend engineers and one UI/UX & frontend designer:
Ideation & MVP Scope
We defined our core value proposition—making chores visible and enjoyable without high-maintenance overhead.UI/UX Design
Our designer mapped out the cooperative user journey, creating intuitive interfaces for the shared room, chore log, and beaver growth animations.Backend Structure Design
Built with Java 25 and Spring Boot. To ensure clean maintainability, we strictly separated domain models by extractingHomePetandRoomChoreinto independent classes.Full-Stack Integration & Decoupling
Refactored the UI from client-side state manipulation to a strictly API-driven reactive view, ensuring all frontend renders reflect the real-time snapshot returned by the Spring Boot backend.
Challenges we ran into
One of our main challenges was integrating a frontend prototype that relied on local browser state with a backend that owns the room’s state. We updated the UI to render from API snapshots, mapped the frontend’s chore buttons to backend chore IDs, and used Server-Sent Events to keep connected clients in sync. This taught us to treat the API contract as the source of truth and to handle asynchronous updates explicitly.
What's next for RoomBloom
RoomBloom is currently a single-room prototype with in-memory state. Our next steps focus on making it persistent, configurable, and ready to support multiple households:
- Room ID System & Instant Multi-Room Access
Introduce unique Room Codes/IDs so housemates can create or join specific shared rooms easily, allowing multiple households to use RoomBloom independently on the same platform.
- Pet Customization & Onboarding Flow
Expand beyond our default beaver! Allow new rooms to choose from a variety of virtual pets (e.g., cats, sea otters) and personalize their names during room setup.
- Dynamic & Customized Chore Management
Support fully customizable chore lists, allowing housemates to add, edit, or remove chores tailored to their specific shared space needs (e.g., watering plants, feeding pets, taking out recycling).
- Anti-Farming Mechanics & Advanced Cooldowns
Implement customizable daily completion limits and dynamic cooldown intervals for each chore to prevent "point farming." The UI will dynamically update chore button states (e.g., disabled status, countdown indicators) based on backend cooldown validation.
- Persistent Database Storage & State Management
Transition from in-memory state storage to a relational database (e.g., PostgreSQL / MySQL) to securely store and manage room states, earned points, chore histories, and unlocked decorations across server restarts.
Log in or sign up for Devpost to join the conversation.