kyoonx/5_SubFlo

0

stars

199

commits

Jupyter Notebook

primary language

May 3, 2026

updated

README

What is and Why SubFlo?

SubFlo comes from “subscription” + “flow.” It’s a web application designed to help users identify and manage forgotten subscriptions. By scanning emails and transaction histories, SubFlo detects active subscriptions and displays them in a dashboard, including direct links to unsubscribe from services with ease.

UI

  • Navbar: Integrated navigation links to the three main pages—Dashboard (home page), All Emails, and User Profile—allowing users to switch between them quickly and easily.

  • Dashboard: Displays an overview of all subscription information, including key details and a summary section at the top. dashboard

  • All Emails: Lists all subscription-related emails that are processed to extract subscription data. all-emails

  • User Profile: Shows detailed user information and account settings. user-profile

Applications

  • accounts: Handles the business logic for managing user accounts and authentication via Google SSO.
  • dashboard: Provides all APIs needed to display relevant information on a user’s dashboard, making it effortless to track subscriptions.
  • subscriptions: Handles the LLM-based logic for extracting and analyzing subscriptions from users’ emails. All subscription details shown on the dashboard are generated by this app.

Models

  • User: The default Django user model
  • UserProfile: Extends the Django User model to store additional user profile information.
  • Subscription: Represents a user's subscription in various platforms.
  • EmailMessage Represents a user's email message.

Current Status

  • Week 1
    • Wireframes completed
    • Data models and ER diagrams designed
    • Initial Django applications created
  • Week 2
    • Dashboard to display all subscription (Note: Still need to be enhanced to handle displaying for a specific user after auth feature is completed)
    • Separate settings: development and production
    • Create a note regarding the branching strategy
  • Week 3
    • Create a summary at the top of dashboard
    • Search functionality
    • Redesign database (add is_trial, add id in UserProfile)
    • Add hyperlinks + Logo in navbar (Note: Still need to be enhanced to show emails, subscriptions, and user profile of a specific user once auth feature is completed)
  • Week 4
    • Create 2 Vega-Lite Charts (Note: Still need to be enhanced to handle displaying for a specific user after auth feature is completed)
    • Integrate a free public API to convert currency
    • Deploy the entire web app: https://as242.pythonanywhere.com
    • Add export JSON & CSV for subscriptions
  • Week 5
    • Enable Signup/Signin functionality both via Google SSO and username & password
    • Redesign the frontend UX/UI
  • Week 6
    • Test 15 models across 5 category (by size) to find the most suitable model for our project
    • Added AI cancellation guide feature using Illinois Chat (UIUC.chat) with preprocessing pipeline, input safety guards, and Tailwind UI
  • Week 7
    • Integrate Google Email API into a system. Now, we can call an API endpoint to insert all relevant (using filters so it might not be 100% accurate) email into EmailMessage model. However, parsing them into LLM and Subscription model hasn't been implemented yet.

References

Contributors

Pitupoom24

134 commits

Byu33

40 commits

kyoonx

25 commits

kyoonx/5_SubFlo

0

stars

199

commits

Jupyter Notebook

primary language

May 3, 2026

updated

README

What is and Why SubFlo?

SubFlo comes from “subscription” + “flow.” It’s a web application designed to help users identify and manage forgotten subscriptions. By scanning emails and transaction histories, SubFlo detects active subscriptions and displays them in a dashboard, including direct links to unsubscribe from services with ease.

UI

  • Navbar: Integrated navigation links to the three main pages—Dashboard (home page), All Emails, and User Profile—allowing users to switch between them quickly and easily.

  • Dashboard: Displays an overview of all subscription information, including key details and a summary section at the top. dashboard

  • All Emails: Lists all subscription-related emails that are processed to extract subscription data. all-emails

  • User Profile: Shows detailed user information and account settings. user-profile

Applications

  • accounts: Handles the business logic for managing user accounts and authentication via Google SSO.
  • dashboard: Provides all APIs needed to display relevant information on a user’s dashboard, making it effortless to track subscriptions.
  • subscriptions: Handles the LLM-based logic for extracting and analyzing subscriptions from users’ emails. All subscription details shown on the dashboard are generated by this app.

Models

  • User: The default Django user model
  • UserProfile: Extends the Django User model to store additional user profile information.
  • Subscription: Represents a user's subscription in various platforms.
  • EmailMessage Represents a user's email message.

Current Status

  • Week 1
    • Wireframes completed
    • Data models and ER diagrams designed
    • Initial Django applications created
  • Week 2
    • Dashboard to display all subscription (Note: Still need to be enhanced to handle displaying for a specific user after auth feature is completed)
    • Separate settings: development and production
    • Create a note regarding the branching strategy
  • Week 3
    • Create a summary at the top of dashboard
    • Search functionality
    • Redesign database (add is_trial, add id in UserProfile)
    • Add hyperlinks + Logo in navbar (Note: Still need to be enhanced to show emails, subscriptions, and user profile of a specific user once auth feature is completed)
  • Week 4
    • Create 2 Vega-Lite Charts (Note: Still need to be enhanced to handle displaying for a specific user after auth feature is completed)
    • Integrate a free public API to convert currency
    • Deploy the entire web app: https://as242.pythonanywhere.com
    • Add export JSON & CSV for subscriptions
  • Week 5
    • Enable Signup/Signin functionality both via Google SSO and username & password
    • Redesign the frontend UX/UI
  • Week 6
    • Test 15 models across 5 category (by size) to find the most suitable model for our project
    • Added AI cancellation guide feature using Illinois Chat (UIUC.chat) with preprocessing pipeline, input safety guards, and Tailwind UI
  • Week 7
    • Integrate Google Email API into a system. Now, we can call an API endpoint to insert all relevant (using filters so it might not be 100% accurate) email into EmailMessage model. However, parsing them into LLM and Subscription model hasn't been implemented yet.

References

Contributors

Pitupoom24

134 commits

Byu33

40 commits

kyoonx

25 commits

Languages

Jupyter Notebook

56.3%

Python

24.5%

HTML

14.0%

CSS

5.2%