HNHacker News
TopNewBestAskShowJobs

fahad19

43 karma · joined March 16, 2012

submissionscomments
fahad19··on Show HN: Eventvisor – govern, transform, filter tracked events via remote config
GitHub repo: https://github.com/eventvisor/eventvisor
fahad19··on Ask HN: What are you working on (August 2024)?
I’m building Featurevisor: https://github.com/featurevisor/featurevisor

It’s an open source tool for declaratively managing your feature flags, a/b tests, and remote configuration for your applications and services.

Has SDKs for JavaScript, Swift, and Kotlin already.

fahad19··on [dead]
Featurevisor is a feature management solution for developers with GitOps, building on top of the principles established by IaC.

GitHub: https://github.com/featurevisor/featurevisor

fahad19··on [dead]
Featurevisor is a Git-based feature management tool covering feature flags, a/b testing, and remote configuration with custom targeting conditions for rollout rules. It now comes with a React SDK that can be used in both React and React Native.

GitHub: https://github.com/fahad19/featurevisor

fahad19··on Feature Flags: Theory vs. Reality
Useful post outlining a lot of common pain points I have experienced myself in my career.

One of the reasons I went for an open source solution ( https://featurevisor.com ) that's Git based, and every change is done via Pull Requests.

Building blocks:

- Attributes for conditions: https://featurevisor.com/docs/attributes/

- Segments for targeting users: https://featurevisor.com/docs/segments/

- Features with variations and rules: https://featurevisor.com/docs/features/

Process:

- Merge PRs

- Trigger CI/CD pipeline: https://featurevisor.com/docs/deployment/

- Consume with SDK: https://featurevisor.com/docs/sdks/

Use cases:

- User entitlements: https://featurevisor.com/docs/use-cases/entitlements/

- Testing in production: https://featurevisor.com/docs/use-cases/testing-in-productio...

- A/B testing & experimentation: https://featurevisor.com/docs/use-cases/experiments/

- Remote configuration: https://featurevisor.com/docs/use-cases/remote-configuration...

You can also generate types as a package for compile-time safety:

- Code generation: https://featurevisor.com/docs/code-generation/

The post and the comments here give me more ideas on how to improve it with more features now.

fahad19··on Feature Flags: Theory vs. Reality
I feel your pain.

This is what drove me to build an open source solution: https://featurevisor.com/

fahad19··on Show HN: Featurevisor – Git-based feature flags and experiments management
Mutually exclusive experiments are now supported via latest Featurevisor v0.16: https://featurevisor.com/docs/groups/
fahad19··on Show HN: Featurevisor – Git-based feature flags and experiments management
this is really good feedback. thanks for this.

for now, I have created this GitHub Issue for adding support for exclusions: https://github.com/fahad19/featurevisor/issues/60

fahad19··on Show HN: Featurevisor – Git-based feature flags and experiments management
it's one of the first things that a data scientist friend of mine asked.

Featurevisor SDK is stateless, in the sense that it evaluates features against given attributes and the content of the currently parsed datafile.

if we want to have native support of exclusions in the SDK, it has to become stateful on its own. either in memory, device level, or having a backend service that's aware of the session to go cross-device.

therefore, it currently does not support it. but I am open to exploring an API for it in future.

as a work around, what can be done for now is to track manually whenever a feature is activated (SDK has onActivation handler), and then pass that knowledge as an attribute when evaluating another feature. The second feature can then have a `not` operator in its segments to exclude itself in that case.

Links that can help:

Activation: https://featurevisor.com/docs/sdks/#activation

`not` operator: https://featurevisor.com/docs/segments/#not

fahad19··on Show HN: Featurevisor – Git-based feature flags and experiments management
thank you!

I have just announced the React integration here: https://twitter.com/fahad19/status/1650580700687376399

You can find more docs here: https://featurevisor.com/docs/react/

I will explore NextJS and how Featurevisor can be utilized at both SSR and SSG level as well. While of course working on adding more tests, and tagging a v1.0 stable release soon.

Regarding Swift (for iOS) and Kotlin (for Android) SDKs, I am not so sure if I will attempt those myself. But I am asking around in my network for help there, and would like to have official cross-platform SDK support.

fahad19··on Show HN: Featurevisor – Git-based feature flags and experiments management
Thanks for the kind feedback!

As I kept building it, I realized I can also extract all the history of changes belonging to all features/segments/attributes in the repo and show them nicely via the static site generator as well, which serves as a status report for your wider team/organization.

You can see the screenshots here: https://featurevisor.com/docs/site/#screenshots

fahad19··on Bower Packages – search bower components instantly
Using the same URL for fetching list of packages though. The main reason of rebuilding it was because of sharing searched results with team members as URLs.
fahad19··on I got hired at a Bangladesh sweatshop. Meet my 9-year-old boss [video]
Being a Bangladeshi myself and having spent the first two decades of my life there, I can't agree more with the three points you made.
fahad19··on Singool.js - lightweight JS framework for single-page web apps
It is clearly stated in the documentation that you are not required to write your app in CoffeeScript if you want to build with Singool.js. The choice is totally yours.

You can also view the docs examples in JS if you visit this URL: http://fahad19.github.com/singool/?viewas=js

fahad19··on Singool.js - lightweight JS framework for single-page web apps
Lightweight in the sense that Singool.js utilizes the features existing in Backbone.js without trying to add too much to it. What it does is provide more of a structure to your apps.