Welcome to Aya
Aya is an open-source community platform built with modern web technologies to connect individuals, organizations, and communities. Born from the response to the February 2023 Turkey-Syria earthquake, Aya has grown into a comprehensive platform for content sharing, collaboration, and community building.Community First: Aya was created by a passionate community of 24,000+ individuals who share a common interest in open source software and leveraging technology for social good.
What is Aya?
Aya is a full-stack web application that provides:Profile System
Create individual, organization, or product profiles with rich customization options
Story Publishing
Share articles, news, events, and other content with internationalization support
Community Features
Q&A sections, discussions, messaging, and team collaboration tools
Multi-language Support
Built-in support for 13 locales with intelligent fallback patterns
Technology Stack
Aya is built as a modern monorepo with carefully chosen technologies:Frontend (webclient)
- Runtime: Deno - secure JavaScript/TypeScript runtime
- Framework: TanStack Start - full-stack React framework with file-based routing
- Build Tool: Vite - lightning-fast bundler
- UI Library: shadcn/ui - beautifully designed components
- State Management: TanStack Query - powerful data synchronization with SSR support
- Styling: CSS Modules with Tailwind
@applydirectives
Backend (services)
- Language: Go 1.25 - fast, reliable, and efficient
- Architecture: Hexagonal (Ports & Adapters) - clean separation of business logic
- Database: PostgreSQL 16 - robust relational database
- Code Generation: sqlc - type-safe SQL queries
- Hot Reload: Air - live reload for development
Infrastructure
- Containerization: Docker Compose for development and deployment
- Development Environment: Optional Nix flake for reproducible builds
- CI/CD: GitHub Actions for automated testing and deployment
Core Features
Profiles
Users can create and manage multiple types of profiles:- Individual: Personal profiles with bio, links, and content
- Organization: Company or community profiles with team management
- Product: Showcase projects and products
- Custom slugs (e.g.,
aya.is/en/eser) - Profile pictures and custom domains
- Multi-language translations
- Social link integrations (GitHub, LinkedIn, X, etc.)
- Custom pages and resources
Stories
Content publishing with rich features:- Markdown/MDX support for rich content
- Multiple content kinds: articles, news, events
- Cover image generation
- Discussion threads and interactions
- Series grouping for related content
- Date proposals for events
Internationalization
Aya supports 13 locales out of the box:- European
- Asian
- Others
- English (en)
- Turkish (tr)
- French (fr)
- German (de)
- Spanish (es)
- Portuguese (pt-PT)
- Italian (it)
- Dutch (nl)
Design Philosophy
Hexagonal Architecture
The backend follows hexagonal architecture principles:- Business logic is framework-agnostic and testable
- Easy to swap adapters (e.g., change database)
- Clear separation of concerns
Backend Object Pattern
The frontend uses a centralized backend facade:- Single import point for all API calls
- Consistent error handling
- Easy to mock for testing
React Query with SSR
All data fetching uses TanStack Query with server-side rendering:- Fast initial page loads (SSR)
- Automatic cache invalidation
- Background refetching
- Optimistic updates
Use Cases
Aya is designed for:Community Hubs
Organizations building member directories and content platforms
Open Source Projects
Developer communities showcasing projects and contributors
Event Platforms
Publishing and managing community events with date proposals
Knowledge Bases
Multi-language documentation and article platforms
Open Source & License
Aya is fully open source under the Apache 2.0 license:- Free to use, modify, and distribute
- Commercial use allowed
- Contribution-friendly
- Active community on GitHub and Discord
Next Steps
Quickstart
Get Aya running locally in under 5 minutes
Installation
Complete setup guide for Docker, Nix, and environment configuration
Architecture
Deep dive into Aya’s architecture and design patterns
Development Setup
Configure your development environment