Brife is a personalized news recommendation Android app designed for users who want to catch up on relevant news quickly. The app curates news based on each user's interests, supports saved news archives, and provides a home-screen widget so users can check headlines without opening the app.
The project includes an Android frontend and a Spring Boot backend. The backend supports social login, user profiles, interest onboarding, personalized news APIs, news crawling and summarization, archive management, and JWT-based authentication.
Brife was built by a cross-functional team that included PM, design, frontend, and backend roles.
The app was developed for users in South Korea, so the live service currently supports Korean.
Key Features
Personalized News: Users receive recommended news based on selected interests and category preferences.
Social Login: The service supports Kakao, Naver, and Google login flows.
Interest Onboarding: New users can choose preferred news categories during onboarding and reset interests later.
News Archives: Users can save articles into archive folders for later reading.
Home-Screen Widget: Android widget support lets users check headlines without opening the full app.
News Pipeline: The backend supports news crawling, summarization, and documented APIs through Swagger/OpenAPI.
My Role & Contributions
I worked mainly on the backend user domain while also serving as the development-side lead for the team. I focused on authentication, profile management, onboarding, and account lifecycle features, and helped turn Brife into a personalized account-based service instead of a generic news feed.
Implemented social login APIs for Kakao, Naver, and Google.
Built JWT authentication, including access token generation, refresh token storage, token reissue, logout, and request filtering.
Added required terms agreement handling after login.
Implemented profile APIs for retrieving and updating user profile information.
Built onboarding and interest APIs so users could save or reset preferred news categories.
Fixed interest reset and onboarding edge cases, including duplicate-key issues and guest-to-login setup problems.
Implemented account deletion behavior and cleanup for interests, refresh tokens, archive folders, and archived news.
Led development-side coordination and helped connect frontend screens with backend APIs, including support for backend areas outside my primary ownership.
Refactored backend package structure into clearer controller, service, DTO, repository, security, and domain layers.
Backend Scope
My backend work focused on the user lifecycle behind personalization: first login, terms agreement, interest setup, profile editing, token refresh, logout, and account deletion.
Auth APIs: Kakao, Naver, and Google social login, JWT issuance, refresh token persistence, token reissue, and logout.
User APIs: Profile lookup, nickname/profile image updates, terms agreement state, and account deletion.