K2-k2/Vellum
0
๐ Vellum: A Soulful AI Reflection Diary
Vellum is not just a chat app; it is a digital sanctuary for your thoughts. Built with Streamlit, SQLAlchemy, and Google Gemini 2.5 Flash-Lite, Vellum acts as a poetic, empathetic companion that helps users process their emotions through structured, aesthetic journaling.
๐ The Philosophy
Vellum is designed to feel like an old parchment diary. It uses a custom-styled interface with serif typography and soft tones to encourage deep reflection. Unlike standard assistants, Vellum is programmed to be soulful, gentle, and non-robotic.
๐ ๏ธ Key Features
- Multimodal Journaling: Attach photos to your entries. Vellum "sees" your images and incorporates them into its poetic reflections.
- Semantic Memory Search: Uses
gemini-embedding-001to find past moments based on meaning. Searching for "nature" will find entries about hiking even if the word "nature" wasn't used. - Mood Analytics: Automatically analyzes the sentiment of every entry to provide a visual donut chart of your emotional journey over time.
- Persistent SQLite Storage: Every "whisper" is etched into a local database using SQLAlchemy, ensuring your memories survive app restarts.
- Privacy-First Backup: Export your entire diary as a clean
.txtfile at any time. - Session Management: Built-in entry limits per session to encourage mindful journaling rather than endless scrolling.
๐ Deployment on Hugging Face Spaces
- SDK: Select Streamlit.
- Secret Keys: Add your Gemini API key in Settings > Variables and Secrets as
GOOGLE_API_KEY_N1. - Requirements: Ensure your
requirements.txtincludes:
streamlit
pandas
numpy
google-generativeai
sqlalchemy
pillow- Hardware: This app runs efficiently on the free CPU tier as it utilizes the lightweight
Gemini 2.5 Flash-Litemodel.
๐๏ธ Technical Architecture
- Orchestration: Python & Streamlit
- LLM & Vision: Google Gemini 2.5 Flash-Lite (System-prompted for a "poetic" persona)
- Database: SQLAlchemy + SQLite (Local file-based storage)
- Vector Search: Cosine similarity via Gemini Embeddings
- Visualization: Vega-Lite (via Streamlit) for Mood Analytics
๐ป Local Setup
# 1. Clone the repository
git clone <https://k2-k2-vellum.hf.space>
# 2. Install dependencies
pip install -r requirements.txt
# 3. Set your API Key
# Windows: set GOOGLE_API_KEY_N1=your_key
# Mac/Linux: export GOOGLE_API_KEY_N1="your_key"
# 4. Run Vellum
streamlit run app.pyDeveloped with โค๏ธ by Kesar Agarwal
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
