Ell-ena is your AI-powered teammate that makes managing work effortless. From automatically creating tickets to capturing every detail in meeting transcriptions, Ell-ena keeps the full context of your projects at its fingertips—so nothing ever falls through the cracks.
It’s like having a smart, proactive teammate who anticipates what you need, organizes your workflow, and helps you stay on top of everything… without you even asking.
Imagine a world where staying productive is easy and smart. Instead of juggling different apps for tasks, tickets, and meeting notes, users can simply talk to Ell-ena – and it takes care of the rest.
Ell-ena understands natural language commands and turns them into structured tasks, tickets, or notes with context-aware automation. Whether you're a developer, student, or manager, Ell-ena fits right into your workflow and grows with your needs.
Ell-ena implements a sophisticated architecture that combines Flutter for cross-platform UI with Supabase for backend services, enhanced by AI-powered processing pipelines for natural language understanding and contextual intelligence.
┌─────────────────────────────────────────────────────────────────────────┐
│ FRONTEND (Flutter) │
├───────────────┬─────────────────┬────────────────────┬─────────────────┤
│ Auth Module │ Task Manager │ Meeting Manager │ Chat Interface │
└───────┬───────┴────────┬────────┴──────────┬─────────┴────────┬────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Supabase Service Layer │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Auth Client │ │ Data Client │ │Storage Client│ │ RPC Client │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │ │
└─────────┼─────────────────┼─────────────────┼─────────────────┼─────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ BACKEND (Supabase) │
├───────────────┬─────────────────┬────────────────────┬─────────────────┤
│ Authentication│ PostgreSQL DB │ Object Storage │ Edge Functions │
└───────┬───────┴────────┬────────┴──────────┬─────────┴────────┬────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ AI Processing Pipeline │
├───────────────┬─────────────────┬────────────────────┬─────────────────┤
│ NLU Processor │ Vector Database │ Embedding Generator│ AI Summarizer │
└───────────────┴─────────────────┴────────────────────┴─────────────────┘
Final_Ell-ena_overview.mp4
I’ve made demo videos for Ell-ena and separated them by features. So, we can directly check out the RAG & vector search implementation or the bot transcriber. please see this through the drive link. Loved building Ell-ena—would be super excited to see new ideas fixes and features coming up and getting it merged soon! 🚀
- Generate to-do items and tickets using natural language commands
- Transcribe meetings and maintain full contextual notes
- Chat-based interface for intuitive and seamless user interactions
- Context-aware automation to enrich task details automatically
- RAG (Retrieval-Augmented Generation) implementation for contextual intelligence
- Multi-account login support with team management capabilities
- Real-time collaboration features across teams
- Auth Module: Handles user authentication, team management, and role-based access control
- Task Manager: Processes task creation, updates, and workflow management
- Meeting Manager: Manages meeting scheduling, transcription, and contextual analysis
- Chat Interface: Provides natural language interaction with the AI assistant
- Auth Client: Manages authentication tokens and session state
- Data Client: Handles real-time data synchronization with PostgreSQL
- Storage Client: Manages file uploads and retrieval
- RPC Client: Executes remote procedure calls to Edge Functions
- Authentication: Handles user identity, security, and session management
- PostgreSQL DB: Stores structured data with Row-Level Security policies
- Object Storage: Manages binary assets like audio recordings and documents
- Edge Functions: Executes serverless functions for business logic
- NLU Processor: Processes natural language using Gemini API
- Vector Database: Stores and retrieves semantic embeddings for context-aware searches
- Embedding Generator: Creates vector embeddings from text for semantic similarity
- AI Summarizer: Generates concise summaries of meeting transcriptions
-
User Input Processing:
- User interacts with the Flutter UI
- Input is processed by the appropriate manager module
- Requests are routed through the Supabase Service Layer
-
Backend Processing:
- Authentication verifies user identity and permissions
- PostgreSQL handles data persistence with real-time updates
- Edge Functions process complex business logic
-
AI Enhancement:
- Natural language is processed through the NLU pipeline
- Text is vectorized for semantic understanding
- Context-aware responses are generated based on historical data
- Meeting transcriptions are summarized and enriched with action items
-
Response Delivery:
- Processed data is returned to the frontend
- UI updates in real-time through Supabase subscriptions
- User receives intelligent, context-aware responses
- Flutter SDK (3.7.0 or later)
- Supabase account
- Gemini API key
- Vexa API key
-
Clone the repository
git clone https://github.com/yourusername/Ell-ena.git cd Ell-ena -
Set up backend (Supabase)
- Follow instructions in BACKEND.md
-
Set up frontend (Flutter)
- Follow instructions in FRONTEND.md
supabase/
├── config.toml # Supabase configuration
├── functions/ # Edge Functions
│ ├── fetch-transcript/ # Retrieves meeting transcriptions
│ ├── generate-embeddings/ # Creates vector embeddings
│ ├── get-embedding/ # Retrieves embeddings
│ ├── search-meetings/ # Performs semantic search
│ ├── start-bot/ # Initializes AI assistant
│ └── summarize-transcription/ # Generates AI summaries
└── migrations/ # Database migrations
lib/
├── main.dart # Application entry point
├── screens/ # UI screens
│ ├── auth/ # Authentication screens
│ ├── calendar/ # Calendar view
│ ├── chat/ # AI assistant interface
│ ├── home/ # Dashboard screens
│ ├── meetings/ # Meeting management
│ ├── onboarding/ # User onboarding
│ ├── profile/ # User profile
│ ├── splash_screen.dart # Initial loading screen
│ ├── tasks/ # Task management
│ ├── tickets/ # Ticket management
│ └── workspace/ # Team workspace
├── services/ # Business logic
│ ├── ai_service.dart # AI processing service
│ ├── meeting_formatter.dart # Meeting data formatter
│ ├── navigation_service.dart # Navigation management
│ └── supabase_service.dart # Supabase integration
└── widgets/ # Reusable UI components
└── custom_widgets.dart # Shared widgets
sqls/
├── 01_user_auth_schema.sql # User authentication schema
├── 02_user_auth_policies.sql # Row-level security policies
├── 03_task_schema.sql # Task management schema
├── 04_tickets_schema.sql # Ticket management schema
├── 05_meetings_schema.sql # Meeting management schema
├── 06_meeting_transcription.sql # Transcription storage
├── 07_meetings_processed_transcriptions.sql # Processed text
├── 08_meetings_ai_summary.sql # AI-generated summaries
├── 09_meeting_vector_search.sql # Vector search capabilities
└── 10_generate_missing_embeddings.sql # Embedding generation
- Multi-language support: Expand NLU capabilities to support multiple languages.
- Enhanced analytics: Use AI to generate predictive analytics for tasks and meetings.
- Offline capabilities: Allow limited offline task management with later synchronization.
- Third-party integrations: Integrate with external productivity tools like Jira, Trello, and Google Calendar.
Ell-ena is an open-source project under AOSSIE for GSoC'25. We welcome contributions from the community!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read our Contributing Guidelines for more details.
- Backend Setup: Instructions for setting up the Supabase backend
- Frontend Setup: Instructions for setting up the Flutter frontend
Reference designs for the project can be found here:
Note: This project is part of GSoC'25 under AOSSIE and is actively under development.
