Skip to main content

Credit card research and redemption CLI — live data via Brave Search, PointsYeah URL generation, designed for humans and AI agents.

Project description

Fleece - Credit Card Recommendation and Management App

Overview

Fleece is a comprehensive credit card recommendation and management application built with Streamlit and LangChain. The app helps users find the best credit cards based on their spending habits and manage their existing credit card portfolio.

Author

@chenyuan99

Features

Chat Interface

  • Interactive AI-powered chat assistant using OpenAI's GPT models
  • Conversation memory that remembers context across sessions
  • Entity memory to track important information mentioned in conversations
  • Ability to save and download conversation history

Credit Card Recommendations

  • Browse a curated list of popular credit cards with detailed information
  • Filter cards by annual fee, reward type, and other criteria
  • Get personalized card recommendations based on spending habits
  • Compare different cards side by side

My Credit Cards Management

  • Track all your existing credit cards in one place
  • Add new cards with templates or custom information
  • Edit card details and remove cards you no longer use
  • View portfolio insights with visualizations of credit limits and annual fees
  • Sort and filter your cards by various criteria

Performance Optimizations

The application includes several performance optimizations:

  1. Image Handling

    • Parallel image loading with ThreadPoolExecutor
    • Multi-level image caching to reduce network requests
    • Pre-generated default card images
  2. Data Management

    • Streamlit caching with TTL for expensive operations
    • Lazy loading of UI components
    • Optimized data structures
  3. UI/UX Improvements

    • Pagination for card displays
    • Progressive loading with "Load More" buttons
    • Form submission to reduce rerendering

Technical Architecture

Core Components

  • fleece.py: Main application entry point with chat interface
  • pages/credit_cards.py: Credit card recommendation page
  • pages/my_credit_cards.py: Personal credit card management page
  • image_service.py: Optimized image loading and caching service
  • style.css: Custom styling for the application

Dependencies

  • Streamlit: Web application framework
  • LangChain: Framework for working with language models
  • OpenAI: API for accessing GPT models
  • Pandas: Data manipulation and analysis
  • PIL: Image processing
  • Requests: HTTP requests for fetching card images

Installation and Setup

  1. Clone the repository:

    git clone https://github.com/chenyuan99/fleece.git
    cd fleece
    
  2. Create and activate a virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Set up your OpenAI API key in a .env file:

    OPENAI_API_KEY=your_api_key_here
    
  5. Run the application:

    streamlit run fleece.py
    

Usage Guide

Chat Interface

  • Enter your query in the text input field
  • The AI assistant will respond based on the conversation context
  • Use the "New Chat" button to start a fresh conversation
  • Download your conversation history using the download button

Credit Card Recommendations

  • Browse available credit cards in the expandable card views
  • Use sidebar filters to narrow down card options
  • Enter your spending habits in the form to get personalized recommendations
  • Click "Apply" on any card to start the application process

My Credit Cards

  • View all your cards with detailed information
  • Use the "Add New Card" tab to add a new credit card
  • Choose from templates or create a custom card entry
  • Edit or remove existing cards as needed
  • View portfolio insights to understand your credit profile

Resources

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fleece_cli-0.3.0.tar.gz (77.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fleece_cli-0.3.0-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

Details for the file fleece_cli-0.3.0.tar.gz.

File metadata

  • Download URL: fleece_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 77.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fleece_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 145e86d4181653e7323a4522f7f0191860f24fb34132dd73cec3c1f0c688a61a
MD5 9e3bba7973acaee3c8c1d8ca59028b3e
BLAKE2b-256 737bab60078c838caa968a67a3633d7bd82d9fe1226b770976e78426a5f80178

See more details on using hashes here.

Provenance

The following attestation bundles were made for fleece_cli-0.3.0.tar.gz:

Publisher: publish.yml on chenyuan99/fleece

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fleece_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: fleece_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 41.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fleece_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f680c45618bb3ad92dc1eca16811a71bfb35843a263f20e374c6bcd4df5b5d73
MD5 28502fbef0b9942187da8076691c32a4
BLAKE2b-256 ed78acd92d2e688b2e99e57058efecffc84436e8c3bdffae18a35bad1d497dd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for fleece_cli-0.3.0-py3-none-any.whl:

Publisher: publish.yml on chenyuan99/fleece

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page