Welcome HN! Here's a promo code for a free month of Tamber FIFO
Tamber has been acquired!
It has been an incredible journey building and scaling our personalization platform to so many talented developer teams, and millions of end users. We are excited to begin the next phase of Tamber's journey at Beek.io. Read more here.
Give users what they like
Engage users the second they land with personalized content, optimized to make sure they see something they will click on right away.
const items = await tamber.discover.recommended({
user: "user_rlox8k927z7p",
number: 10
});
items, info, err := discover.Recommended(
&tamber.DiscoverRecommendedParams{
User: tamber.IdString("user_rlox8k927z7p"),
Number: tamber.Int(10)
}
)
TMBDiscoverParams *params = [TMBDiscoverParams discoverRecommended:[NSNumber numberWithInt:10]];
[[Tamber client] discoverRecommended:params responseCompletion:^(TMBDiscoverResponse *object, NSHTTPURLResponse *response, NSString *errorMessage) {\
if(errorMessage){\
// Handle error\
} else {\\
object.discoveries // Array of recommendations\
}\
}];
items = Tamber::Discover.recommended(
:user => 'user_rlox8k927z7p',
:number => 10
)
$ curl https://api.tamber.com/v1/discover/recommended \
\ -u Mu6DUPXdDYe98cv5JIfX: \
\ -d user=user_rlox8k927z7p \
\ -d number=10
JSONObject resp = tamber.discover.next(new JSONObject()
.put("user", "user_rlox8k927z7p")
.put("number", 10)
);
items = tamber.Discover.recommended(
user='user_rlox8k927z7p',
number=10
)
const items = await tamber.discover.next({
user: "user_rlox8k927z7p",
item: "item_83jx4c57r2ru"
});
items, info, err := discover.Next(&tamber.DiscoverNextParams{
User: tamber.IdString("user_rlox8k927z7p"),
Item: tamber.IdString("item_83jx4c57r2ru")
})
TMBDiscoverParams *params = [TMBDiscoverParams discoverNext:@"90674"];
[[Tamber client] discoverNext:params responseCompletion:^(TMBDiscoverResponse *object, NSHTTPURLResponse *response, NSString *errorMessage) {\
if(errorMessage){\
// Handle error\
} else {\
object.discoveries // Array of recommendations\
}\
}];
items = Tamber::Discover.next(
:user => '583480',
:item => '90674'
)
$ curl https://api.tamber.com/v1/discover/recommended \
\ -u Mu6DUPXdDYe98cv5JIfX: \
\ -d user=user_rlox8k927z7p \
\ -d item=item_83jx4c57r2ru
JSONObject resp = tamber.discover.next(new JSONObject()
.put("user", "user_rlox8k927z7p")
.put("item", "item_83jx4c57r2ru")
);
items = tamber.Discover.next(
user='user_rlox8k927z7p',
item='item_83jx4c57r2ru'
)
Create a path of discovery
Create a path of discovery that keeps users clicking. Tamber’s next-model learns on sequences of user actions to predict what users will most want to interact with next.
Reel them back in
Keep users coming back by sending recommendations via email or push notification. Tamber’s push-model ensures that content is always relevant, and your messages always delightful.
Integration easy as π
Track user events just like you do for analytics, or use our Segment integration for a codeless install.
[Checkout our SDKs on Github
- Node.js
- Ruby
- Python
- Go
- Objective-C
- Java
- curl
var tamber = require('tamber')('Mu6DUPXdDYe98cv5JIfX');
const items = await tamber.discover.recommended({
user: "user_rlox8k927z7p"
});
package main
import (
tamber "github.com/tamber/tamber-go"
"github.com/tamber/tamber-go/discover"
)
func main() {
tamber.DefaultEngineKey = "SbWYPBNdARfIDa0IIO9L"
d, info, err := discover.Recommended(
&tamber.DiscoverRecommendedParams{
User: tamber.IdString("user_rlox8k927z7p"),
}
)
}
@import Tamber;
[Tamber setPublishableProjectKey:@"your_project_key"];
[Tamber setUser:@"user_rlox8k927z7p"];
TMBDiscoverParams *params = [TMBDiscoverParams discoverRecommended:[NSNumber numberWithInt:8]];
[[Tamber client] discoverRecommended:params responseCompletion:^(TMBDiscoverResponse *object, NSHTTPURLResponse *response, NSString *errorMessage) {\
if(errorMessage){\
// Handle error\
} else {\
object.discoveries // Array of recommendations\
}\
}];
require 'tamber'
Tamber.engine_key = 'SbWYPBNdARfIDa0IIO9L'
Tamber::Discover.recommended(
:user => 'user_rlox8k927z7p'
)
$ curl https://api.tamber.com/v1/discover/recommended \
\ -u :SbWYPBNdARfIDa0IIO9L \
\ -d user=user_rlox8k927z7p
Tamber tamber = new Tamber("Mu6DUPXdDYe98cv5JIfX", "SbWYPBNdARfIDa0IIO9L");
HashMap<String, Object> discoverParams = new HashMap<String, Object>();
discoverParams.put("user", "user_rlox8k927z7p");
JSONObject resp = new JSONObject();
try {
resp = tamber.discover.recommended(discoverParams);
} catch (TamberException e) {
System.out.println(String.format("%s=%s", e.getClass().getName(), e.getMessage()));
}
import tamber
tamber.engine_key = 'SbWYPBNdARfIDa0IIO9L'
tamber.Discover.recommended(
user='user_rlox8k927z7p'
)
[\
{\
"item": "item_83jx4c57r2ru",\
"score": 0.94321,\
"item_created": 1481167989\
},\
...up to 200 items per page...\
]