PHPackages                             audiogram/socializer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. audiogram/socializer

ActiveLibrary[Database &amp; ORM](/categories/database)

audiogram/socializer
====================

Automate the creation of marketing material for social media straight from your codebase!

211[5 issues](https://github.com/omarrida/socializer/issues)PHP

Since Jun 10Pushed 7y ago1 watchersCompare

[ Source](https://github.com/omarrida/socializer)[ Packagist](https://packagist.org/packages/audiogram/socializer)[ RSS](/packages/audiogram-socializer/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Socializer
==========

[](#socializer)

Automatically create social media post from Laravel models and post them via Buffer!

> Warning: This package has not been thoroughly tested and is still in development. Semantic versioning is not followed at this stage.

Installation
------------

[](#installation)

```
composer require audiogram/socializer

```

Then publish the vendor files.

```
php artisan vendor:publish

```

Add your Buffer credentials to the `config/socializer.php` file.

```
'buffer_credentials' => [
        'client_id'     => env('BUFFER_CLIENT_ID'),
        'client_secret' => env('BUFFER_CLIENT_SECRET'),
        'access_token'  => env('BUFFER_ACCESS_TOKEN'),
    ],

    'buffer_profile_ids' => [
        'facebook' => env('BUFFER_FACEBOOK_PROFILE_ID'),
        'twitter'  => env('BUFFER_TWITTER_PROFILE_ID'),
    ],
```

You should be all set now.

Usage
-----

[](#usage)

Pick a model that you'd like to start creating social media posts for. In this example, we'll use a model called `Event` which might represent a local event listed on your app.

Simply add the `SocializableInterface` on your model and implement the `toSocializable()` method.

```
use Illuminate\Database\Eloquent\Model;
use Audiogram\Socializer\SocializableInterface;

class Event extends Model implements SocializableInterface
{
  protected $fillable = ['name', 'location', 'image_url'];

  // ...

  public function toSocializable(): Audiogram\Socializer\Socializable
  {
    return (new Socializable())
      // Set the background image
      ->backgroundImagePath($this->image_url)
      // Set the image overlay text
      ->textOverlay($this->name)
      // Set the text for your post
      ->postText('Checkout our latest event ' . $this->name . ' taking place at ' . $this->location);
  }
}
```

Your model is now considered "socializable". To actually create a social media post and send it to Buffer, you can use this handy helper method. This is especially useful if you want to define an Eloquent event and call it from there. A good example is throwing an Eloquent event on model created where you pass the newly created model to the helper method and create a social media post on the fly.

```
$event = Event::first();
socialize($event);
```

Congratulations! Your post has been created with the attached image and desired post text and sent to your Buffer account.

Requirements
------------

[](#requirements)

Socializer depends on the packages below.

```
intervention/image: ^2.4
guzzlehttp/guzzle: ^6.3

```

Issues
------

[](#issues)

If you find yourself stuck, encounter a bug, or have any questions/suggestions for improving this package, feel free to create an issue on GitHub and I'll try to address it as soon as possible.

License
-------

[](#license)

This project conforms to the MIT License (MIT).

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/a30a8f6ece4c3a4ada2eb58d18721935f1bf7c232f90f6b30a6f235744e9ca2b?d=identicon)[omarrida](/maintainers/omarrida)

---

Top Contributors

[![omarrida](https://avatars.githubusercontent.com/u/29006806?v=4)](https://github.com/omarrida "omarrida (8 commits)")

---

Tags

bufferappeloquentimage-manipulationlaravelmarketing-automation

### Embed Badge

![Health badge](/badges/audiogram-socializer/health.svg)

```
[![Health](https://phpackages.com/badges/audiogram-socializer/health.svg)](https://phpackages.com/packages/audiogram-socializer)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M546](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
