Skip to content
@Re-markable

Re-markable

📁 Remarkable 프로젝트 소개

Remarkable은 일회성 링크를 보관하고 관리하기 위한 링크 스크랩 서비스입니다.

제작 배경

인스타그램 피드나 스토리를 넘길 때 마음에 드는 광고를 보고도 저장하지 못해 아쉬웠던 경험에서 영감을 받아 탄생한 서비스입니다. 특히 요즘 광고는 사용자 개인 맞춤형으로 제공되기 때문에 관심이 가는 링크가 많아졌지만, 이를 체계적으로 관리하기 어려웠던 불편함을 해결하고자 개발되었습니다.

목적 및 기능

Remarkable은 사용자가 발견한 일회성 링크를 손쉽게 저장하고 체계적으로 관리할 수 있도록 지원합니다. 링크를 카테고리별로 분류하여 저장하며, 각 링크의 메타데이터를 함께 보관해 보다 쉽게 내용을 구분할 수 있습니다. 이를 통해 단순 저장을 넘어 사용자 맞춤형 콘텐츠 링크 추천 기능도 제공하여, 더 풍부하고 개인화된 디지털 경험을 제공합니다.

효과

  • 효율적인 링크 관리: 사용자는 관심 있는 광고나 콘텐츠 링크를 놓치지 않고 저장할 수 있으며, 필요할 때 원하는 정보를 빠르게 찾아볼 수 있습니다.
  • 시간 절약 및 편리함: 카테고리 분류와 메타데이터 저장 기능으로 링크를 한눈에 확인할 수 있어 검색 시간을 줄일 수 있습니다.
  • 개인화된 콘텐츠 추천: 저장한 링크 데이터를 기반으로 사용자의 관심사를 분석하여 새로운 맞춤형 콘텐츠를 제안함으로써, 더 높은 만족감을 제공합니다.

Remarkable을 통해 이제 일회성 링크도 놓치지 않고 소중하게 보관하고 활용하세요!

🛠️ 기술 스택

항목 기술
🌐 Frontend React Native, Expo
🗃 Backend AWS Amplify
💽 DB Amazon DynamoDB
Amazon Web Services - Authentication: Amazon Cognito
- GraphQL API Gateway: AWS AppSync
- ML Model Serving: Amazon EC2
- Model Training Data Management: Amazon S3
- Search & Analytics: Amazon OpenSearch
🚀 Machine Learning Scikit-learn, Flask
🔧 Tools Slack, GitHub, Figma, Notion

📱 서비스 인터페이스

1. 메인 화면

메인 화면에서는 사용자가 저장한 북마크 링크가 리스트 형태로 나타납니다.

링크를 저장할 때 해당 URL의 메타 데이터를 함께 가져오며, 썸네일 이미지와 링크의 제목을 보여줍니다.

링크의 카테고리 또한 확인할 수 있습니다. 다양한 종류의 링크 데이터로 학습한 카테고리 분류 모델을 활용했습니다.

하단에는 추천 링크가 제시되는 것을 볼 수 있습니다. 사용자가 저장한 링크를 분석하여 맞춤형으로 링크를 추천합니다.

2. 카테고리 필터링 화면

원하는 카테고리만을 선택해 북마크를 필터링하여 확인할 수 있습니다.

패션, 뷰티, 인테리어, 식품, 생활용품, 가전·디지털, 건강·헬스, 취미, 학습 총 9개의 카테고리로 나뉩니다.

카테고리 선택 창에서 다중선택하여 여러 카테고리를 한 번에 확인할 수도 있습니다.

3. 링크 저장 화면

브라우저에서 간직하고 싶은 링크를 발견했을 때, 공유 버튼을 눌러 ‘Remarkable’ 앱을 선택하면 자동으로 링크가 보관됩니다.

링크를 복사/붙여넣기하지 않고도 몇 번의 클릭만으로 간편하게 저장할 수 있습니다.

📽️ 서비스 시연

Remarkable.mp4

🧩 서비스 아키텍처

image

🤖 카테고리 분류 모델 설계

1. 활용 데이터 및 카테고리 분류

  • 데이터 셋: 쿠팡, 네이버 쇼핑, 다음 쇼핑, 인프런, 오늘의 집 등 포털 사이트 상품명 크롤링을 통해 구축, 카테고리별 데이터 300개로 언더샘플링 후 오버샘플링

  • 카테고리 분류: 뷰티 / 패션 / 가전·디지털 / 식품 / 건강·헬스 / 생활용품 / 인테리어 / 취미 / 학습

    뷰티 : 기초케어, 화장품, 헤어, 향수

    패션 : 의류, 신발, 속옷, 패션잡화(가방, 양말 등)

    가전·디지털 : 가전제품(세탁기, 냉장고 등), 디지털 제품(핸드폰, 태블릿 등), 관련 잡화(충전기, 키보드, 블루투스 스피커 등)

    식품 : 음식, 음료

    건강·헬스 : 영양제, 각종 운동 용품

    생활용품 : 티슈, 세제, 수저 등 각종 생활 용품

    인테리어 : 가구, 오브제, 인테리어 관련 잡화(시계, 이불 등)

    취미 : 악기, 음악, 게임, 피규어, 원예, DIY 등 취미 관련

    학습 : 인터넷 강의, 교재, 학습 매거진 등 학습 관련

2. 모델 설계 및 성능

  • 규칙기반 분류: 특정 키워드(EX. 브랜드명)이 포함되어 있는 경우 특정 카테고리로 분류하는 모델

    • URL의 title에 상품명이 포함되어 있지 않아 구분하기 어려운 경우를 대비하기 위해 베이지안 필터 ML 모델 적용 전 규칙기반 분류를 시행함

    • 키워드가 텍스트에 존재하면 해당 카테고리를 반환함

      image

  • 베이지안 필터: 개별단어의 출현빈도를 기록하여 단어들의 연관을 추적하는 모델

    1. 한글 형태소 분석, 특수문자 제거, 어미/조사/구두점 제외를 통해 단어의 기본형 도출
    2. 카테고리에 단어를 추가하고 카테고리의 단어 출현 횟수를 세어 단어 출현 빈도를 구함
    3. 카테고리와 단어를 연결하여 학습함
    4. 단어 리스트에 점수를 부여하고, 텍스트가 주어졌을 때 카테고리 점수를 계산하여 가장 점수가 높은 카테고리를 결과값으로 반환함
    • 평가지표(정확도 96.25%)

      image image

3. ML 모델 서빙 아키텍처

image

  1. URL Title POST

  2. 규칙기반 분류 적용

  3. 베이지안 필터 적용

  4. 예측값 반환

  5. 사용자 데이터 추가 학습 - 어플에 저장된 URL의 Title 및 카테고리를 추가 학습에 이용 (pkl파일 학습)

Popular repositories Loading

  1. Remarkable_Link_Collection Remarkable_Link_Collection Public

    JavaScript 1

  2. Remarkable-ML Remarkable-ML Public

    Python

  3. .github .github Public

Repositories

Showing 3 of 3 repositories
  • .github Public
    Re-markable/.github’s past year of commit activity
    0 0 0 0 Updated Apr 4, 2025
  • Re-markable/Remarkable_Link_Collection’s past year of commit activity
    JavaScript 0 1 0 0 Updated Apr 4, 2025
  • Remarkable-ML Public
    Re-markable/Remarkable-ML’s past year of commit activity
    Python 0 0 0 0 Updated Jan 2, 2025

Top languages

Loading…

Most used topics

Loading…