Create a landing page for all your links and connect with like-minded people without the noise.
See the code
Welcome to Pinkary! Pinkary is a landing page for all your links and a place to connect with like-minded individuals without the noise.
Initially, it was created to help people share their links in a more organized way. In just 15 hours, we went from composer create-project to production, and after 24 hours, we reached over 1,000 users.
The source code still shows some signs of the rush; that's why we think it's important to share it with you—so you can see how we've built it, combining fast pace given the circumstances with the quality we always aim for.
Over time, we've managed to add more features, such as feed, explore, questions, likes, and more. We've also improved the design, added tests, and improved the overall quality of the code. There is still a lot to do, but most importantly, there is a huge opportunity to make this a community-driven project.
Pinkary is a regular Laravel application built on Laravel 13 and uses Livewire v4 / Tailwind CSS v4 for the frontend. If you are familiar with Laravel, you should feel right at home.
In terms of local development, you can use the following requirements:
If you have these requirements, you can start by cloning the repository and installing the dependencies:
git clone https://github.com/pinkary-project/pinkary.com.git
cd pinkary.com
git checkout -b feat/your-feature # or fix/your-fix
Don't push directly to the
mainbranch. Instead, create a new branch and push it to your branch.
Two ways to set up the project:
composer setup
Install the dependencies using Composer and NPM:
composer install
npm install
After that, set up your .env file:
cp .env.example .env
php artisan key:generate
Prepare your MySQL database connection and run the migrations:
php artisan migrate
Link the storage to the public folder:
php artisan storage:link
Regardless of which setup path you chose, run these in separate terminals.
Build the assets in watch mode:
npm run dev
Run the queue worker:
php artisan queue:work
Finally, start the development server:
php artisan serve
Note: By default, emails are sent to the
logdriver. You can change this in the.envfile to something likemailtrap.
Once you are done with the code changes, be sure to run the test suite to ensure everything is still working:
composer test
If everything is green, push your branch and create a pull request:
git commit -am "Your commit message"
git push
Visit github.com/pinkary-project/pinkary.com/pulls and create a pull request.
Pinkary uses a few tools to ensure the code quality and consistency. Of course, Pest is the testing framework of choice, and we also use PHPStan for static analysis. Pest's type coverage is at 100%, and the test suite is also at 100% coverage.
In terms of code style, we use Laravel Pint to ensure the code is consistent and follows the Laravel conventions. We also use Rector to ensure the code is up to date with the latest PHP version.
You run these tools individually using the following commands:
# Lint the code using Pint
composer lint
composer test:lint
# Refactor the code using Rector
composer refactor
composer test:refactor
# Run PHPStan
composer test:types
# Run the test suite
composer test:unit
# Run all the tools
composer test
Pull requests that don't pass the test suite will not be merged. So, as suggested on the Installation section, be sure to run the test suite before pushing your branch.
Pinkary is Hosted on Laravel Cloud with MySQL as the primary database and S3-compatible object storage for uploaded files.
The only service we use is Mailcoach to manage the send emails. Besides that, MySQL is used as database driver, sessions driver, queue driver, cache driver, etc.
Pinkary is an open-sourced software licensed under the GNU Affero General Public License
5,487 followers · starred Sep 2024
1,527 followers · starred Aug 2024
267 followers · starred Oct 2025
414 followers · starred Aug 2024
Create a landing page for all your links and connect with like-minded people without the noise.
See the code
Welcome to Pinkary! Pinkary is a landing page for all your links and a place to connect with like-minded individuals without the noise.
Initially, it was created to help people share their links in a more organized way. In just 15 hours, we went from composer create-project to production, and after 24 hours, we reached over 1,000 users.
The source code still shows some signs of the rush; that's why we think it's important to share it with you—so you can see how we've built it, combining fast pace given the circumstances with the quality we always aim for.
Over time, we've managed to add more features, such as feed, explore, questions, likes, and more. We've also improved the design, added tests, and improved the overall quality of the code. There is still a lot to do, but most importantly, there is a huge opportunity to make this a community-driven project.
Pinkary is a regular Laravel application built on Laravel 13 and uses Livewire v4 / Tailwind CSS v4 for the frontend. If you are familiar with Laravel, you should feel right at home.
In terms of local development, you can use the following requirements:
If you have these requirements, you can start by cloning the repository and installing the dependencies:
git clone https://github.com/pinkary-project/pinkary.com.git
cd pinkary.com
git checkout -b feat/your-feature # or fix/your-fix
Don't push directly to the
mainbranch. Instead, create a new branch and push it to your branch.
Two ways to set up the project:
composer setup
Install the dependencies using Composer and NPM:
composer install
npm install
After that, set up your .env file:
cp .env.example .env
php artisan key:generate
Prepare your MySQL database connection and run the migrations:
php artisan migrate
Link the storage to the public folder:
php artisan storage:link
Regardless of which setup path you chose, run these in separate terminals.
Build the assets in watch mode:
npm run dev
Run the queue worker:
php artisan queue:work
Finally, start the development server:
php artisan serve
Note: By default, emails are sent to the
logdriver. You can change this in the.envfile to something likemailtrap.
Once you are done with the code changes, be sure to run the test suite to ensure everything is still working:
composer test
If everything is green, push your branch and create a pull request:
git commit -am "Your commit message"
git push
Visit github.com/pinkary-project/pinkary.com/pulls and create a pull request.
Pinkary uses a few tools to ensure the code quality and consistency. Of course, Pest is the testing framework of choice, and we also use PHPStan for static analysis. Pest's type coverage is at 100%, and the test suite is also at 100% coverage.
In terms of code style, we use Laravel Pint to ensure the code is consistent and follows the Laravel conventions. We also use Rector to ensure the code is up to date with the latest PHP version.
You run these tools individually using the following commands:
# Lint the code using Pint
composer lint
composer test:lint
# Refactor the code using Rector
composer refactor
composer test:refactor
# Run PHPStan
composer test:types
# Run the test suite
composer test:unit
# Run all the tools
composer test
Pull requests that don't pass the test suite will not be merged. So, as suggested on the Installation section, be sure to run the test suite before pushing your branch.
Pinkary is Hosted on Laravel Cloud with MySQL as the primary database and S3-compatible object storage for uploaded files.
The only service we use is Mailcoach to manage the send emails. Besides that, MySQL is used as database driver, sessions driver, queue driver, cache driver, etc.
Pinkary is an open-sourced software licensed under the GNU Affero General Public License
5,487 followers · starred Sep 2024
1,527 followers · starred Aug 2024
267 followers · starred Oct 2025
414 followers · starred Aug 2024