A cozy, developer-first platform — imagine Discord + GitHub + an AI coding buddy (OpenDevin someday!), lovingly fused into one place for devs to chat, collaborate, ship, and learn.
Soft. Fast. Dev-centered. Built with heart.
- What is FussionCord?
- Vision & Mission
- Status — Important Restart Note (please read)
- Core Features (planned)
- Detailed Tech Stack
- Architecture Overview
- Workflow (step-by-step roadmap)
- Getting Started (dev setup)
- Contributing & How to Help
- Documentation & Bots
- Security & Privacy (high-detail)
- Long-term Roadmap & Funding Thoughts
- Code of Conduct & License
- Final note — full energy restart!
FussionCord is a developer-focused communication and collaboration platform that blends the best parts of chat platforms and code hosting tools — chat channels, voice/rtc, repos, code snippets, code reviews, and a native-first AI assistant called OpenDevin (planned). It's meant for teams, open-source projects, and solo devs who want a warm, integrated, super-productive place to build together.
Think: a place to discuss an issue, open a PR, run CI, and ask an AI to suggest a fix — without context switching. uwu ✧
- Unify developer workflows into a single, pleasant experience: conversation, code, CI, and AI help — all speaking the same language.
- Empower devs with tools that reduce friction: native code previews, quick deploys, repo + chat synchronicity, and AI assistants that respect privacy and consent.
- Open & extensible: we prefer openness, plugins, and docs so other devs can build on top of FussionCord.
- Learning-first: encourage mentorship, code review culture, and community-driven learning.
【Soft goals uwu】: be cute but professional, ergonomic UI, tiny delightful micro-interactions, and developer hygiene baked in.
We are restarting this project from scratch. All the progress made until now will be abandoned. We're intentionally wiping the board to rebuild better, cleaner, and faster using Dart (Flutter) for the client(s) and Golang for the backend. This rework will be heavily AI-driven from the ground up.
Why restart? Because the new vision needs a clean architecture, better infra choices, and a privacy-first plan for AI integration. We are committed to rebuilding everything with full energy and focus. Ganbatte! (がんばって) uwu ✦
Below are the features we intend to build, with notes about scope and why they matter.
- Persistent channels (public/private), DMs, threads, mentions, reactions.
- Message formatting: markdown, code blocks with syntax highlighting, inline diffs.
- Message edit/delete history with audit (configurable retention).
- Lightweight voice rooms and screen sharing (later rollouts — webRTC based).
- Paste code snippets with language detection.
- Smart diffs for conversational code review.
- Inline comments that link to issues/PRs.
- Create & browse repos from the app.
- Lightweight repo hosting to start (git backend), with support for webhooks and CI triggers.
- Code browsing and PR flow integrated with chat.
- Contextual code completions, refactor suggestions, test generation, and code explainers.
- Security-aware assistants (lint & vulnerability checks in suggestions).
- Bot API, webhook system, and extensible SDKs so the community can add automations.
- Flutter-first app for Android, then expand to iOS, Web, Windows, macOS, and Linux.
We want to be explicit about choices, trade-offs, and recommended libraries. These are current plans and can evolve.
- Why Go? Fast startup, great concurrency model, compiled binaries that are easy to deploy, superb ecosystem for building scalable APIs and services.
Suggested ecosystem & libraries:
- HTTP / API: Gin / Echo / Fiber (choose one; Gin or Fiber are great for speed and community).
- RPC / internal comms: gRPC (for microservices) or protobuf-based payloads for typed contracts.
- Git integration:
go-gitorlibgit2bindings for implementing git operations server-side; alternatively run a self-hosted Gitea for full git server flows and integrate its API. - Database: Start with Firebase Firestore for super-fast iteration (auth + DB + realtime), then migrate heavy relational data and git metadata to Postgres (GORM or sqlx) when needed.
- Object storage: MinIO (S3 compatible) for repo artifacts, uploads, and large assets.
- Caching / Queues: Redis for caching & simple pub/sub; NATS or RabbitMQ for eventing and background tasks.
- CI / Runner integration: Dockerized runners; GitHub Actions / self-hosted runners; eventually our own lightweight runner infra.
- Why Flutter? Single codebase for mobile, web, and desktop; beautiful UI; excellent performance for UI animations; strong ecosystem.
Suggested libraries & patterns:
- State management: Riverpod / Provider / Bloc (Riverpod recommended for modern modularity).
- Dependency injection: get_it / injectable.
- Networking:
diofor advanced HTTP needs;grpc-dartfor gRPC endpoints. - Local DB & caching: Hive / sembast for small local caches; shared_preferences for config.
- Code preview: Use
highlight/ custom syntax highlighters for code blocks.
- Model hosting: initially explore smaller open-source models (Llama variants, MPT, etc.) or hosted inference (if funding allows) — but design everything to be model-agnostic.
- Embeddings / vector search: Weaviate / Milvus / Pinecone for semantic search and context retrieval.
- Fine-tuning & adapters: LoRA-style adapters for efficient fine-tuning on code corpora.
- Serving: Triton / TorchServe / FastAPI wrappers for inference endpoints.
- Safety / filters: prompt-safety layers, code-safety lint pipelines, and a review sandbox.
- Prometheus + Grafana for metrics.
- Sentry for crash & error reporting.
- OpenTelemetry for distributed tracing.
- Docker + Docker Compose for local dev.
- Kubernetes (k8s) for production scaling (optional early).
- GitHub Actions or GitLab CI for CI/CD; Codemagic for Flutter builds.
- Terraform for infra as code (cloud + infra provisioning).
- Gateway / API (Golang): a public HTTP/gRPC gateway that handles auth, routing, rate-limiting, and client-specific shaping.
- Microservices: small Golang services —
auth-service,chat-service,git-service,ai-service,media-service. - Realtime layer: websockets or Firebase realtime for low-latency chat sync.
- Datastores: Firestore for realtime prototyping; Postgres for relational; MinIO for objects; Redis for caching.
- AI infra: Vector DB + model servers + safe inference middleware.
This separation allows us to scale pieces independently, test services in isolation, and replace components as we learn.
This is the exact workflow you asked for — each step includes sub-tasks, tech tips, and acceptance criteria.
Goal: Build a solid backend foundation and fast prototyping lane.
Main tasks:
- Initialize a Go monorepo or modular microservice repo.
- Create
auth-servicethat integrates with Firebase Auth (email/password, OAuth providers). - Create
chat-serviceusing Firestore for messages (fast prototyping) with rules for access control. - Implement API gateway (Gin/Fiber) that proxies requests, applies JWT checks, and logs telemetry.
Tech tips:
- Use Firestore security rules early to avoid leaking data.
- Wrap Firebase calls with small Go abstractions for easier testing/mocking.
Acceptance: Basic user signup/login, create/join channels, send/receive messages in real-time.
Goal: Build a lovable first app for Android with polished UX.
Main tasks:
- Set up Flutter project structure (feature-first:
auth,chat,repos,profile). - Implement login flow using FirebaseAuth or custom JWT flow.
- Implement channel list, message view, new message composer, and code-preview widget.
- Add local caching and offline read for messages (Hive/sembast).
Tech tips:
- Use Riverpod for state management to keep UI reactive and testable.
- Build attractive, minimal UI components with accessibility in mind.
Acceptance: MVP Android app that authenticates, shows channels, and sends messages.
Goal: Give FussionCord native repo capabilities so devs can host & review code in-app.
Main tasks:
- Decide approach:
- Option A: Integrate a self-hosted Gitea instance and interface via its API (fast).
- Option B: Implement git operations via
go-git/libgit2for custom flows (slower, more flexible).
- Implement repo model and metadata in Postgres (when ready).
- Add endpoints for: create repo, push/pull hooks, open PR, view commit diffs.
- Build webhooks to trigger CI / AI analysis on PRs.
Tech tips:
- Start with Gitea for speed; switch to custom if we need unique features.
- Store git objects in object-storage (MinIO) if self-hosted.
Acceptance: Users can create a repo, push code (or import), open PRs, and see diffs inline.
Goal: Turn the Android app into a true multi-platform client.
Main tasks:
- Audit platform-specific code (file pickers, notifications, native plugins).
- Use platform-conditional implementations for native features.
- Configure desktop builds and packaging (MSIX for Windows, dmg for macOS, AppImage/deb for Linux).
- Setup web-build compatibility (css, web sockets, file upload handlers).
Tech tips:
- Keep UI responsive; avoid pixel-perfect mobile-only layouts for desktop.
- Use feature flags if certain platform features are not ready.
Acceptance: Build artifacts for Android + Web + at least one desktop platform (e.g. Windows).
Goal: Make the app feel snappy on all platforms and reduce memory/CPU usage.
Main tasks:
- Profile Flutter UI with Observatory / DevTools and optimize rebuilds.
- Use efficient image & asset compression; lazy-load large lists.
- Optimize backend endpoints for pagination and conditional requests.
- Add caching layers (Redis, client cache) and CDN for static assets.
Tech tips:
- Avoid large synchronous JSON parsing on the main thread.
- Use code-splitting for web; use native compilation flags for desktop.
Acceptance: Performance benchmarks met for 90th percentile user flows (chat, code browsing).
Goal: Offer an integrated AI assistant that understands repository context and suggests code-level help.
Main tasks:
- Build an
ai-servicethat consumes commits, PR diffs, and code context from repositories. - Create secure endpoints for analysis requests (with rate limiting and user tokens).
- Implement short-term context retrieval using embeddings + vector DB for fast, relevant results.
- Offer features: inline suggestions, PR summarization, test-case generation, and code explainers.
Tech tips:
- Only send code snippets with user consent (default: explicit opt-in for sample collection).
- Implement a review sandbox where generated code can be linted and security-scanned before showing to users.
Acceptance: AI can produce meaningful suggestions in PRs and answer repo-specific queries.
Goal: Collect training & feedback data ethically, improve models iteratively.
Main tasks:
- Build a consent framework where users opt-in to let OpenDevin see their code for model improvement.
- Store labeled feedback safely: allow users to delete their training contributions.
- Use differential privacy / anonymization for shared training sets.
- Build an internal annotation tool for human reviewers & maintainers.
Tech tips:
- Keep privacy by default: opt-out unless explicitly chosen.
- Log model suggestions and downstream results for debugging, not for training unless consented.
Acceptance: Clear consent UX, ability to remove user data, and initial closed-loop training pipeline.
Goal: Release an OSS MVP (depends on funding and demand).
Main tasks:
- Choose a license (MIT / Apache 2.0 recommended).
- Publish server & client repos with clear CONTRIBUTING.md and developer docs.
- Build a community space for discussion, issues, and PRs.
- Seek funding: sponsors, grants, or optional enterprise features for revenue.
Tech tips:
- Keep core infra open-source; cloud hosting & model hosting can be paid/proprietary tiers later.
Acceptance: Public repos, community onboarding docs, and initial contributors.
Goal: Make it trivial for others to add bots, plugins, and integrate apps.
Main tasks:
- Create
docs/with API reference, SDK examples (Dart, Go, JS), and tutorials. - Publish a
bots/guide with templates and sample bots (welcome-bot, ci-bot, pr-bot). - Add an official docs site (Docusaurus / MkDocs) with search.
Acceptance: Full developer docs for building a simple bot and registering it with FussionCord.
Goal: Harden system, run audits, and fix vuln classes.
Main tasks:
- Threat-model the entire platform.
- Run automated SAST & DAST tools.
- Hire or coordinate a third-party pentest.
- Add runtime protections: WAF, rate-limits, CAPTCHAs on sensitive endpoints.
Acceptance: Security report with prioritized remediation, fixes deployed, and re-test passed.
Goal: Iterate on feedback, scale the org, and keep the platform growing.
Main tasks:
- Maintain a public roadmap.
- Set up analytics dashboards and feedback loops.
- Grow community contributions and curate plugins & integrations.
Acceptance: Active contributors, regular releases, and product-market fit signals.
This is a gentle starter guide for contributors who want to help get the first pieces shipping.
- Go >= 1.20 (or latest stable)
- Flutter >= latest stable (for Android builds)
- Docker & Docker Compose
- Firebase account and CLI (for initial prototyping)
- Clone the repo:
git clone https://github.com/your-org/fussioncord.git - Backend:
cd backend && go mod tidy && go run ./cmd/gateway(or usedocker-compose upfor a convenience stack) - Frontend:
cd client && flutter pub get && flutter run -d emulator-5554 - Firebase:
firebase login && firebase init(set up Firestore and Auth rules per docs)
NOTE: This guide will become much more exact after the first release, but this should get you into the dev loop quickly.
We want you, yes you! Whether you’re a frontend wizard, backend tamer, AI nerd, or documentation fairy — please come help.
How to start:
- Check
good-first-issuefor approachable tasks. - Read
CONTRIBUTING.mdonce available and follow the code style. - Open tiny PRs often; we love small, focused changes.
Areas we need help in right away:
- Flutter UI polish & accessibility.
- Golang API skeletons & auth flows.
- Git integration experiments (go-git, Gitea prototypes).
- Docs, guides, and onboarding flows.
Community norms:
- Be kind, helpful, and patient.
- Use respectful language; focus on code, not people.
We will maintain a living docs/ folder with examples, API references, and plugin guides. Bot docs will include:
- Bot registration & permissions model.
- Example bots (PR reviewer, CI reporter, welcome bot).
- SDK examples for Dart and Go.
The final documentation will also include extremely detailed developer guides (how to implement custom auth, deep-dive on AI pipelines, infra runbooks, etc.).
Security and privacy are critical. We'll pursue a layered approach:
- Adopt OAuth2 / OpenID Connect for federated auth and Firebase/Auth + our JWT gateway for internal flows.
- Roles & Permission model for channels, repos, and bot scopes.
- Enforce TLS everywhere (Let’s Encrypt / managed certificates).
- Encrypt sensitive data at rest (KMS / cloud provider keys or Vault).
- Central secret manager (HashiCorp Vault or cloud KMS).
- Short-lived credentials for internal services; rotate keys frequently.
- Run static analysis (gosec, staticcheck, samy) and CI checks on PRs.
- All code must be reviewed before merge.
- Consent-first: user code never used for training unless explicitly opted-in.
- Logging and telemetry will be separated from training pipelines.
- Provide simple UI for users to remove their contributed training data.
- Consider using differential privacy and carefully audited anonymization when constructing training corpora.
- Maintain incident response plan, playbooks, and communication templates.
- Have a security channel and report process for vulnerabilities.
- Phase 0 (MVP): Golang API + Firebase + Android Flutter client.
- Phase 1: Git integration + Repo browsing + PR flows.
- Phase 2: Cross-platform Flutter builds + performance optimization.
- Phase 3: OpenDevin integration + consent-driven data pipelines.
- Phase 4: Official open-source release + community growth.
- Phase 5: Enterprise features, audits, and scaling infrastructure.
Funding possibilities: sponsors, GitHub Sponsors, donation drives, grants, or paid hosting/enterprise features. But keep core open-source for community growth if possible.
Please follow our Code of Conduct (TBD) — be respectful and constructive.
License: we'll start with MIT by default (simple, permissive). We can change to Apache 2.0 or other if we decide patent provisions matter.
I am going to restart this project with full energy again! All existing progress up to this point will be abandoned so we can rebuild a cleaner, safer, and more powerful FussionCord using Dart (Flutter) for the clients and Golang for the backend. This time it will be AI-first (OpenDevin-ready), privacy-conscious, and built to scale.
If you feel excited, nervous, or inspired — come join! Whether you want to design cute UI, harden auth flows, or train the AI, there is room here for every kind of dev-heart. UwU
- Made with lots of coffee, curiosity, and tiny kawaii energy.
FussionCord team (you + me + friends) ✧
P.S. If you want this README tweaked — more technical diagrams, a simpler one-page version, or a less-uwu tone — say the word and I'll make it purrfect! (^_^)