amranidev/laracombee
Laracombee is a Laravel package offering a simple, Laravel-friendly interface to the Recombee recommendation API. Manage users, items, interactions, and personalized recommendations for e-commerce, media, and marketplace applications.
laracombee:migrate, laracombee:seed --chunk=250, laracombee:rollback, laracombee:reset) means a small team can go from install to a populated demo database in an afternoon. Use that to set a hard go/no-go checkpoint: if recommendation click-through or conversion lift isn't measurable within a fixed evaluation window, you have not lost much engineering spend.$laracombee property mapping fields to Recombee types, the recommendation schema lives next to your migrations in version control rather than in an external dashboard. That is the right default for reviewability, and it means a vendor change is a schema diff, not an archaeology project.laracombee:new ReportingLaracombee) plus per-instance database ID/token/region/protocol/timeout configuration means separate recommender databases per brand, region, or environment are a configuration concern, not a fork. That unlocks a phased market-by-market rollout instead of a global flag day.recommendUsersToUser). For e-commerce, media libraries, and marketplaces, the surface list is essentially pre-written — the PM job becomes prioritization, not integration scoping.Consider it when most of the following hold:
AbstractRecombee — but nobody should assume a fast upstream response.Look elsewhere, or plan to write your own client, when:
http (not https) default are things you must consciously override. Recommendation calls return promises directly and are fired immediately, unlike the rest of the API which builds requests for send()/batch() — a subtle asymmetry that warrants wrapping in your own service layer so application code isn't handling promises ad hoc.$laracombee property and facade conveniences assume familiarity with the framework's idioms; other stacks get a steeper ramp than the package's simplicity suggests.For executives — the one-paragraph version. Personalization is a common roadmap ask and an expensive one: it normally means either hiring ML specialists or building an event pipeline and a ranking system from scratch. Laracombee lets us test the opposite, cheaper hypothesis first — rent the recommendation engine (Recombee) and buy only the integration, which for us is roughly one dependency and a configuration file. It is a Laravel-native adapter that lets our existing models act as the catalog and user base, with commands to set up and populate the recommender and a small API to log the behaviors we already track (views, carts, purchases, bookmarks) and request recommendations. The strategic value is optionality bought cheaply: we get a measurable answer on whether personalization moves engagement or conversion, in weeks rather than quarters, before committing headcount.
What we're asking for. Approval for a time-boxed pilot on one surface with one catalog, using a staging Recombee database. Success criteria defined up front — lift in click-through on the recommended rail, or incremental cart adds — not "the integration works." Explicitly out of scope: any commitment to Recombee as a permanent vendor, and any production traffic until the pilot reads out.
For engineering. It is a thin, MIT-licensed wrapper around the official Recombee SDK, so we inherit the vendor's capabilities and none of their lock-in at the code level. PHP 8.2+, Laravel 10–13, service provider auto-discovery, publishable config, and an AbstractRecombee base class we can extend for custom error handling or database targeting. Schema is declared in model statics and applied via laracombee:migrate/rollback; backfills via laracombee:seed --chunk=; multiple databases via laracombee:new. Two caveats to plan around, not to be surprised by: request-building is fluent for writes but recommendation reads fire immediately and return promises, so we should wrap all of it behind our own RecommendationService interface; and laracombee:reset wipes the remote database irrecoverably, so it must be environment-guarded in our tooling. The dependency is small and lightly adopted — zero dependents, ~113 stars, though the changelog shows steady maintenance and a current 1.0.0. Treat it as replaceable: our own interface boundary means if the package stalls, we swap the adapter in days.
For the wider business. A concrete, low-cost experiment with defined kill criteria, run behind our own abstraction so we keep negotiating leverage on the vendor, and scoped so that a negative result costs a few engineering weeks rather than a roadmap quarter.
How can I help you explore Laravel packages today?