Lean Analytics

A/B testing React apps made easy

πŸ’πŸΌβ€β™‚οΈYou are leaving money on the table when you do not test. Use Lean Startup principles and make your app data-driven, by conducting A/B tests on your website β€” for free β€” so it works better for your customers and your business.

Merry Christmas, Product Hunters! I made a tool that makes it very easy to add A/B testing into React websites. I was inspired by the well-known Lean Startup book, which talks about data-driven apps, continuous experimentation, and actionable metrics. If you have not read it yet, I definitely recommend it. A/B testing helps to improve user experience by conducting small controlled experiments. This works for text changes, pricing, offers, forms, design and much more. This version only supports react apps, but if you are using a different framework, and would like me to support it, let me know in the comments. Cheers.
@hermanhasawish Hey Herman, does this work with server side rendered react apps?
@hermanhasawish What are some of the unique challenges that React Apps face when A/B Testing that your product solves? Our company recently started migrating to React and we've begun A/B Testing on our legacy code, but haven't done any A/B testing on the new React code; I'd be interested to know what we should lookout for.
@paul_benigeri Great question. It works, except for one little quirk: react may complain that the pre-rendered html does not match html the user eventually sees in the browser, but other than this little warning, which I will try to fix over the next few days, it should be all good.
@michael_morrison2 I think the main value proposition is the seamless integration with my dashboard. It is entirely possible to do A/B testing using react-ab-test and integrate it with mixpanel or google analytics, and then create reports to make sense of the data. With this project however everything is already integrated, a non-technical person can create an A/B test, and copy/paste some code into a ticket for a developer, and wait for data to show up. I personally found this approach much easier.
really nice and hardcore demo video. i would make it bigger. also super tricky way to pass callback to components, but it looks to be not very convenient api. suppose if my experiment content isn't in the same container with CTA link – then i need to put Experiment at the top of the tree, and if i have a lot of them... it can be something like `Lean.getExperimentVariation()` and `Lean.trackExperiment()`. but do we still need react? do i want to use it as developer? in my project i have a handmade `/track` endpoint (google analytics is super hard haha) and then i analyze events by myself. basically i need to do these things: randomize experiment variation initially on the client and track event with this variation. i just need to add parameter to event and prepare two queries for comparison. same with google analytics i guess. so i would prefer to use my infrastructure. maybe it can be useful to someone who isn't familiar with programming (wordpress users)?
@reepush thank you! I really appreciate the feedback. First, regarding the api, I think that for apps with a more complex architecture perhaps the context api would be more convenient, but I haven't given it that much thought. My api was inspired by a handful of existing react packages for ab testing. Regarding the tracking infrastructure, why would you prefer your own? How do you reuse it across projects? I personally found it very easy to add Lean Analytics into a new project. Finally, regarding WordPress, I can't speak to that, because I don't have any experience with that platform. But I would imagine there be a plug-in for that. Great questions! There is definitely some room for improvement on the API side.
@hermanhasawish > My api was inspired by a handful of existing react packages for ab testing. ok, maybe they do more than just conditional rendering and tracking. otherwise i don't see benefits of using these wrappers and prefer to do everything manually. > Regarding the tracking infrastructure, why would you prefer your own? because i already have it and it's easy to integrate a/b tests. google analytics is free. why developer should choose your service? > Finally, regarding WordPress, I can't speak to that, because I don't have any experience with that platform. me neither. this comment continues a question about what "kind" of people are going to use and pay for your service. i found it very straightforward and easy to use comparing to google analytics, but at the same time i see demo showing code editor and react. is it for developers? but we can do it easily by ourselves. is it for non-tech people? but they don't know how to code.
@reepush you bring up some great points, here is what I think: > api It is just rendering and tracking. And the reason why not to do it manually is the same reason why you would import any other tiny package from npm. It's less code in your codebase, standardized api and patches. > google analytics/own infrastructure Google analytics is a great service. It's very easy to start with, but I find it difficult to set up custom reports, such as for ab testing. It's packed with functionality, and sometimes I feel like I need training just to make sense of it. Not many people have their own tracking systems, primarily because it's a lot of work to build them properly. And I am not the one to say this, because I built this project, but it's almost always better to use an off the shelf solution when it comes to things not specific to your application. > target audience Primarily I built this service for my own use. As a developer/maker who often comes up with new projects, I find it valuable to have an a/b testing tool that is easy to use. So, I think the react devs/makers would find this service useful. As for non-tech people, they usually have tech people working for them. If I was a product owner on a software development team, I could set up an account on this service, define an a/b test, and hand off the code I get to my developers for integration. These developers don't even have to know what leananalytics.io is. So I think there is an opportunity here to serve non-technical product owners too. I hope that answers your questions πŸ˜„