# tompave/fun_with_flags

Feature Flags/Toggles for Elixir

Repository: https://github.com/tompave/fun_with_flags
Canonical: https://ross.abutalabs.com/products/fun_with_flags
Homepage: https://hexdocs.pm/fun_with_flags/FunWithFlags.html
Language: Elixir
License: MIT
License Family: permissive
Topics: elixir, feature-toggles, feature-flags, redis, ecto, phoenix-framework
Last push: 2025-09-21T21:44:26+00:00

## Health v2 (maintenance only)
Score: 52/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 43, release rhythm 35, longevity 100
- inputs: {"age_days": 3503, "days_push": 346, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1166, forks 96 (observed 2026-08-28T04:03:50.181818+00:00)

## What it is
FunWithFlags is an Elixir feature flag library packaged as an OTP application, offering an API to enable, disable, and query flags with gates for actors, groups, and percentages. It persists flags in Redis or a relational database via Ecto, caches them in ETS for fast lookups, and syncs nodes via PubSub, with an optional web dashboard.

## Use cases
- toggle features on and off in an Elixir app
- roll out features to a percentage of users
- enable features for specific users or groups
- manage feature flags across multiple nodes
- control feature flags from a web dashboard

## When to choose
- you run an Elixir/Phoenix application and need feature toggles with actor, group, and percentage gates
- you need fast flag lookups with local ETS caching and cross-node synchronization
- you want persistence in Redis or PostgreSQL/MySQL/SQLite via Ecto

## When to avoid
- your stack is not Elixir/Erlang
- you need a hosted SaaS feature flag service with advanced targeting UIs
- you don't want to run Redis or a relational database for flag storage

## Facets
- artifact type: library
- maturity: stable
- function: feature-flags, caching, configuration-management
- domain: backend, web-development, developer-tools
- platform: elixir, self-hosted
- tags: feature-toggles, redis, ecto, phoenix, otp-application, ets-cache, pubsub, web-dashboard

## Member repositories
- tompave/fun_with_flags (main) score 52

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:50.181818+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:29:18.708570+00:00, confidence not recorded.
  - readme: https://github.com/tompave/fun_with_flags (fetched 2026-08-28T04:03:50.181818+00:00, sha 701e11028a33)
  - homepage: https://hexdocs.pm/fun_with_flags/FunWithFlags.html (fetched 2026-08-29T12:35:11.331503+00:00, sha e7a5e4d960f9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
