https://github.com/pre63/couillard
Couillard is a small trebuchet you aim and launch at your users.
https://github.com/pre63/couillard
a-b-testing abtesting design-thinking lean user-experience
Last synced: 2 months ago
JSON representation
Couillard is a small trebuchet you aim and launch at your users.
- Host: GitHub
- URL: https://github.com/pre63/couillard
- Owner: pre63
- License: mit
- Created: 2020-12-08T20:51:10.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2020-12-11T22:17:29.000Z (about 5 years ago)
- Last Synced: 2025-10-15T16:45:12.073Z (5 months ago)
- Topics: a-b-testing, abtesting, design-thinking, lean, user-experience
- Language: JavaScript
- Homepage: https://github.com/pre63/couillard
- Size: 16.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README


# Couillard
Couillard is a [small trebuchet](https://en.wikipedia.org/wiki/Trebuchet#Couillard) you aim and launch at your users. It's a *lean* A/B testing tool to validate hypotheses and determine what to build.
## More About Lean A/B Testing
- [Unit 3 Module 1: An Introduction to Experimental Product Development
](https://www.youtube.com/watch?v=HEnpiMUhRJ0)
- [Unit 3 Module 2: A/B testing overview](https://www.youtube.com/watch?v=08hBllMQ770)
- [Unit 3 Module 4: Guidance on Experiments](https://www.youtube.com/watch?v=jHo4w-ErXaI)
- [Tech planet 2014 트랙2 세션5 Nell Thomas](https://www.youtube.com/watch?v=4Ov61a9IqBU)
- [Emily Robinson - A/B Testing in the Wild - 2017-07-26](https://www.youtube.com/watch?v=SF-ryGgLOgQ)
## Install
```
yarn add couillard
```
## Usage
```javascript
// Your metrics store, can be Segment, Amplitude, SQL, mongo, or whatever you like.
const saveMetrics = metrics =>
fetch('...', {
method: 'POST',
body: JSON.stringify(metrics)
})
// Create variation A component.
const WelcomeA = props => (
Welcome I'm experiment A, {props.name},
Click Me
)
// Create variation B component.
const WelcomeB = props => (
Welcome I'm experiment B, {props.name},
Click Me
)
// Aim your experiment at your users.
const Welcome = aim('welcome', 50, saveMetrics, {
A: WelcomeA,
B: WelcomeB
})
// Only WelcomeA or WelcomeB will render.
const Home = () => {
launch('welcome', saveMetrics)
return (
Home
)
}
export Home
```