Skip to content

Neurospicy-Niva/fibi

Repository files navigation

🧠 Niva - Your AI-Powered Daily Life Assistant

Empowering neurodivergent individuals to structure their daily lives with compassionate AI assistance

License: Dual Kotlin Spring Boot

🌐 Website: neurospicy.icu


🎯 Why Niva?

Living with ADHD, Autism, or other neurodivergent conditions often means struggling with:

  • πŸ“… Task organization and prioritization
  • ⏰ Time management and reminders
  • πŸ”„ Daily routine establishment
  • 🀝 Consistent motivation and support

Niva changes that. Built specifically for the neurodivergent community, Niva is an intelligent Signal-based chatbot that provides personalized, empathetic assistance to help structure your daily life.

✨ Key Features

🧩 Intelligent Task Management

  • Natural language task creation and organization
  • Context-aware priority suggestions
  • ADHD-friendly reminders and notifications

πŸ“± Signal Integration

  • Works directly through Signal messaging
  • Privacy-focused communication
  • No additional apps to remember

🎭 Neurodivergent-First Design

  • Built by and for the neurodivergent community
  • Empathetic and patient interaction style
  • Accommodates communication preferences

πŸ”„ Smart Routines

  • Customizable morning and daily routines
  • Adaptive scheduling based on your patterns
  • Gentle guidance without overwhelming pressure

πŸ“… Calendar Intelligence

  • Seamless calendar integration (Google, Nextcloud, etc.)
  • Appointment reminders and preparation
  • Daily planning assistance

πŸ€– Advanced AI Conversations

  • Context-aware multi-turn conversations
  • Goal clarification and refinement
  • Intelligent intent recognition

πŸš€ Quick Start

Prerequisites

  • Java 17+
  • Docker & Docker Compose
  • Signal CLI setup (for Signal integration)

🐳 Docker Deployment (Recommended)

# Clone the repository
git clone https://github.com/Neurospicy-Niva/fibi.git
cd fibi

# Start with Docker Compose
docker-compose up -d

# The application will be available at http://localhost:8080

πŸ›  Development Setup

# Clone and build
git clone https://github.com/Neurospicy-Niva/fibi.git
cd fibi
./gradlew build

# Run tests
./gradlew test

# Start the application
./gradlew bootRun

πŸ“± Signal Configuration

  1. Set up Signal CLI on your server
  2. Configure Signal webhook in application.yaml
  3. Register your Signal number with Niva
  4. Start chatting! πŸŽ‰

πŸ— Architecture Overview

Niva is built with a sophisticated conversation orchestration system:

Friend Message β†’ Intent Classification β†’ Goal Refinement β†’ Subtask Execution β†’ Response

Core Components:

  • 🧠 ConversationOrchestrator: Main conversation flow controller
  • 🎯 IntentClassifier: AI-powered intent recognition
  • 🎨 GoalRefiner: Context-aware goal management
  • ⚑ SubtaskHandlers: Specialized action processors
  • πŸ’Ύ MongoDB: Persistent data storage
  • πŸ€– Ollama: Local LLM integration

πŸ“– Detailed Architecture Documentation


πŸ’Ό Licensing & Commercial Use

Niva operates under a dual licensing model:

πŸ†“ Open Source (AGPL-3.0)

  • βœ… Perfect for personal use, learning, and community contributions
  • βœ… Fork, modify, and distribute under AGPL terms
  • βœ… Run your own instance for non-commercial purposes

πŸ’° Commercial License

  • 🏒 Enterprise deployments without AGPL restrictions
  • πŸ”’ Private modifications and proprietary integrations
  • πŸ›‘ Commercial support and maintenance
  • πŸ“ˆ Priority feature development

πŸ’‘ Interested in commercial licensing? Contact us at licensing@neurospicy.icu


🀝 Contributing

We welcome contributions from the community! Whether you're:

  • πŸ› Reporting bugs
  • πŸ’‘ Suggesting features
  • πŸ”§ Improving code
  • πŸ“š Enhancing documentation
  • 🌍 Adding translations

Contributing Guidelines | Code of Conduct

πŸ›  Development Workflow

# 1. Fork the repository
# 2. Create a feature branch
git checkout -b feature/amazing-feature

# 3. Make your changes
# 4. Run tests
./gradlew test

# 5. Submit a pull request

πŸ§ͺ Testing

Niva includes comprehensive testing with a focus on behavior-driven development:

# Unit tests
./gradlew test

# Integration tests
./gradlew integrationTest

# AI-powered tests
./gradlew aiTest

# BDD Feature tests (Cucumber/Gherkin)
cd HelloFibi && mvn test

Behavior-Driven Development

Our BDD test suite uses Cucumber and Gherkin to test real user scenarios:

Feature: Simple Task Management
  Scenario: Adding a new task
    Given a Friend
    When they send "Please add a task to call the clinic" to Fibi
    Then they eventually receive a task added confirmation

🎭 View all user scenarios: Feature Files


πŸ“Š Technology Stack

Component Technology Purpose
Backend Kotlin + Spring Boot Core application framework
AI/ML Ollama + LLMs Natural language processing
Database MongoDB Data persistence
Messaging Signal CLI User communication
Scheduling Quartz Task and reminder scheduling
Containerization Docker Deployment and distribution

🌟 Community & Support


πŸŽ— Our Mission

At neurospicy.icu, we believe that neurodivergent individuals deserve technology that truly understands and supports their unique needs. Niva isn't just another productivity appβ€”it's a companion designed with empathy, built by our community, for our community.

Every license sold directly funds:

  • πŸ”¬ Advanced AI research for neurodivergent assistance
  • 🌍 Community outreach and accessibility improvements
  • πŸ›  Open-source development and maintenance
  • πŸŽ“ Educational resources and workshops

πŸ“œ License

This project is dual-licensed:

See licensing details for more information.


πŸ™ Acknowledgments

Special thanks to:

  • The neurodivergent community for inspiration and feedback
  • Contributors who make Niva better every day
  • Open-source projects that power our infrastructure

Made with ❀️ by the neurodivergent community, for the neurodivergent community.

Niva is formerly known as "Fibi" in some code references during development.

Releases

No releases published

Packages

 
 
 

Contributors