Built a Moonshot AI (Kimi K2.6) driver for the new laravel/ai SDK
I just released my first public version of **laravel-ai-moonshot**, an open-source package that adds **Moonshot AI / Kimi K2** support to the official Laravel AI SDK.
GitHub: [https://github.com/jonaspauleta/laravel-ai-moonshot](https://github.com/jonaspauleta/laravel-ai-moonshot)
The goal is simple: use Moonshot/Kimi through Laravel AI’s native provider system instead of building a separate integration.
It supports:
* Text generation
* Streaming responses
* Tool calling
* Image input
* Kimi thinking mode
* Document Q&A via Moonshot Files API
* Per-tier model overrides
* Custom base URL support
* Laravel AI agents, `agent()`, `Ai::textProvider()`, and provider attributes
Install:
composer require jonaspauleta/laravel-ai-moonshot
Basic usage:
use function Laravel\Ai\agent;
$response = agent('You are a helpful assistant.')
->prompt('Explain Kimi K2 in one sentence.', provider: 'moonshot');
echo $response->text;
The package is intentionally strict about what Moonshot supports. No fake embeddings, no fake image generation, no fake provider tools. Unsupported features fail clearly instead of pretending to work.
This is the first clean public release, so feedback is welcome — especially around Laravel package structure, README clarity, edge cases, and real-world Laravel AI usage.
https://redd.it/1svhq81
@r_php
I just released my first public version of **laravel-ai-moonshot**, an open-source package that adds **Moonshot AI / Kimi K2** support to the official Laravel AI SDK.
GitHub: [https://github.com/jonaspauleta/laravel-ai-moonshot](https://github.com/jonaspauleta/laravel-ai-moonshot)
The goal is simple: use Moonshot/Kimi through Laravel AI’s native provider system instead of building a separate integration.
It supports:
* Text generation
* Streaming responses
* Tool calling
* Image input
* Kimi thinking mode
* Document Q&A via Moonshot Files API
* Per-tier model overrides
* Custom base URL support
* Laravel AI agents, `agent()`, `Ai::textProvider()`, and provider attributes
Install:
composer require jonaspauleta/laravel-ai-moonshot
Basic usage:
use function Laravel\Ai\agent;
$response = agent('You are a helpful assistant.')
->prompt('Explain Kimi K2 in one sentence.', provider: 'moonshot');
echo $response->text;
The package is intentionally strict about what Moonshot supports. No fake embeddings, no fake image generation, no fake provider tools. Unsupported features fail clearly instead of pretending to work.
This is the first clean public release, so feedback is welcome — especially around Laravel package structure, README clarity, edge cases, and real-world Laravel AI usage.
https://redd.it/1svhq81
@r_php
GitHub
GitHub - jonaspauleta/laravel-ai-moonshot: Moonshot AI (Kimi K2) provider for the Laravel AI SDK. OpenAI-compatible chat completions…
Moonshot AI (Kimi K2) provider for the Laravel AI SDK. OpenAI-compatible chat completions, streaming, tool calling, and Kimi thinking-mode reasoning. - jonaspauleta/laravel-ai-moonshot
I built scout-postgres: a PostgreSQL-native Laravel Scout engine for search without Meilisearch/Algolia/Typesense
I just released **scout-postgres**, an open-source Laravel package I built.
It is a **Postgres-native Laravel Scout engine** that uses PostgreSQL full-text search and `pg_trgm`, so you can add search to Laravel apps without running a separate service like Meilisearch, Algolia, or Typesense.
The goal is not to replace dedicated search engines for every use case. It is for apps where:
* you already use PostgreSQL
* you want Laravel Scout integration
* you need simple, practical search
* you do not want extra infrastructure
* you are okay with Postgres handling the indexing/search side
It supports generated search columns, weighted search vectors, trigram similarity, ranking, filtering, ordering, and normal Scout-style querying.
Repo: [https://github.com/jonaspauleta/scout-postgres](https://github.com/jonaspauleta/scout-postgres)
I would appreciate feedback from Laravel/Postgres people, especially around API design, docs, edge cases, and real-world usage.
https://redd.it/1svihnd
@r_php
I just released **scout-postgres**, an open-source Laravel package I built.
It is a **Postgres-native Laravel Scout engine** that uses PostgreSQL full-text search and `pg_trgm`, so you can add search to Laravel apps without running a separate service like Meilisearch, Algolia, or Typesense.
The goal is not to replace dedicated search engines for every use case. It is for apps where:
* you already use PostgreSQL
* you want Laravel Scout integration
* you need simple, practical search
* you do not want extra infrastructure
* you are okay with Postgres handling the indexing/search side
It supports generated search columns, weighted search vectors, trigram similarity, ranking, filtering, ordering, and normal Scout-style querying.
Repo: [https://github.com/jonaspauleta/scout-postgres](https://github.com/jonaspauleta/scout-postgres)
I would appreciate feedback from Laravel/Postgres people, especially around API design, docs, edge cases, and real-world usage.
https://redd.it/1svihnd
@r_php
GitHub
GitHub - jonaspauleta/scout-postgres: Native Postgres full-text search + pg_trgm engine for Laravel Scout. Drop-in replacement…
Native Postgres full-text search + pg_trgm engine for Laravel Scout. Drop-in replacement for Meilisearch/Algolia/Typesense when you already run Postgres. - jonaspauleta/scout-postgres
[Hiring] Senior Platform / DevOps Engineer – Remote or Brussels – PHP/Symfony, Ansible, Linux, PostgreSQL, Nginx – $150k–$180k
/r/devopsjobs/comments/1suq5yx/hiring_senior_platform_devops_engineer_remote_or/
https://redd.it/1svl000
@r_php
/r/devopsjobs/comments/1suq5yx/hiring_senior_platform_devops_engineer_remote_or/
https://redd.it/1svl000
@r_php
Reddit
From the symfony community on Reddit: [Hiring] Senior Platform / DevOps Engineer – Remote or Brussels – PHP/Symfony, Ansible, Linux…
Posted by cloudpepper_io - 1 vote and 0 comments
I built scout-postgres: a PostgreSQL-native Laravel Scout engine for search without Meilisearch/Algolia/Typesense
/r/laravel/comments/1svihnd/i_built_scoutpostgres_a_postgresqlnative_laravel/
https://redd.it/1svihxj
@r_php
/r/laravel/comments/1svihnd/i_built_scoutpostgres_a_postgresqlnative_laravel/
https://redd.it/1svihxj
@r_php
Reddit
From the PHP community on Reddit: I built scout-postgres: a PostgreSQL-native Laravel Scout engine for search without Meilisea…
Posted by jonaspauleta - 1 vote and 0 comments
Non-incremental sequential IDs using BIGINT?
I've been looking at various ways to obfuscate database IDs to thwart enumeration. Hashids are out because they're not actually secure. UUIDv7 and ULID are good but their length will make for some big indices once you factor in foreign keys too.
Then I had a thought: We're all using BIGINT primary keys these days. A millisecond Unix timestamp easily fits with some headroom. So why not use:
If we move the epoch from 1970 to 2025, we buy back more space for randomness. With 1,000,000 variations per millisecond, you'll need to be writing >1,000 records per ms for a 50% chance of a collision.
You could go further and just use microseconds and be fine unless you're writing more than 1,000,000,000 records per second somehow. (I suspect some platforms don't advance the clock accurately enough for this, resulting in duplicate times)
For non-mission critical applications that can absorb very occasional collisions, ULID looks overengineered. What do you think?
https://redd.it/1svmvxm
@r_php
I've been looking at various ways to obfuscate database IDs to thwart enumeration. Hashids are out because they're not actually secure. UUIDv7 and ULID are good but their length will make for some big indices once you factor in foreign keys too.
Then I had a thought: We're all using BIGINT primary keys these days. A millisecond Unix timestamp easily fits with some headroom. So why not use:
[timestamp][randomnumber]?If we move the epoch from 1970 to 2025, we buy back more space for randomness. With 1,000,000 variations per millisecond, you'll need to be writing >1,000 records per ms for a 50% chance of a collision.
You could go further and just use microseconds and be fine unless you're writing more than 1,000,000,000 records per second somehow. (I suspect some platforms don't advance the clock accurately enough for this, resulting in duplicate times)
For non-mission critical applications that can absorb very occasional collisions, ULID looks overengineered. What do you think?
https://redd.it/1svmvxm
@r_php
sqids.org
Sqids FAQ
Answers to FAQs about Sqids, a library for generating short, URL-safe IDs from numbers. Learn about customization, blocklists, and best practices.
Built a Moonshot AI (Kimi K2.6) driver for the new laravel/ai SDK
/r/laravel/comments/1svhq81/built_a_moonshot_ai_kimi_k26_driver_for_the_new/
https://redd.it/1svhqvb
@r_php
/r/laravel/comments/1svhq81/built_a_moonshot_ai_kimi_k26_driver_for_the_new/
https://redd.it/1svhqvb
@r_php
Reddit
From the PHP community on Reddit: Built a Moonshot AI (Kimi K2.6) driver for the new laravel/ai SDK
Posted by jonaspauleta - 0 votes and 0 comments
Need a XAMPP Alternative?
Hey fellow PHP devs,
If you’re still using XAMPP or getting annoyed with Laragon’s license pop-ups, you might want to check this out.
I built PyAMPP, a lightweight Windows tool that works similarly to XAMPP or Laragon, but with a more streamlined setup and less overhead. It allows you to quickly install and manage Apache, MySQL, PHP, and phpMyAdmin through a simple interface without dealing with complicated configuration.
I originally made this because I got tired of local server tools breaking or acting up, so I learned how to set up my own stack and eventually turned it into a reusable tool.
If you’re working with PHP or Laravel and want something straightforward and fast for local development, feel free to try it out.
GITHUB: https://github.com/rdevz-ph/PyAMPP-Windows
DOCUMENTATION: https://rdevz-ph.github.io/PyAMPP-Windows/
Feedback is welcome.
https://redd.it/1svrzbk
@r_php
Hey fellow PHP devs,
If you’re still using XAMPP or getting annoyed with Laragon’s license pop-ups, you might want to check this out.
I built PyAMPP, a lightweight Windows tool that works similarly to XAMPP or Laragon, but with a more streamlined setup and less overhead. It allows you to quickly install and manage Apache, MySQL, PHP, and phpMyAdmin through a simple interface without dealing with complicated configuration.
I originally made this because I got tired of local server tools breaking or acting up, so I learned how to set up my own stack and eventually turned it into a reusable tool.
If you’re working with PHP or Laravel and want something straightforward and fast for local development, feel free to try it out.
GITHUB: https://github.com/rdevz-ph/PyAMPP-Windows
DOCUMENTATION: https://rdevz-ph.github.io/PyAMPP-Windows/
Feedback is welcome.
https://redd.it/1svrzbk
@r_php
GitHub
GitHub - rdevz-ph/PyAMPP-Windows: PyAMPP is a specialized Windows-based management utility designed to automate the deployment…
PyAMPP is a specialized Windows-based management utility designed to automate the deployment and orchestration of a local web development environment. It facilitates the integrated management of Ap...
Symfony Kit For Developers - Last Updates
Hi guys!
Last post doing auto-promo of the extension. I do not want to spam.
So have uploaded the latest version, also I have published the repo
https://github.com/andrescevp/symfony-kit-for-developers
It is the public site and will be used to coordinate bugs, questions, features requests, and insider program
The website is in https://andrescevp.github.io/symfony-kit-for-developers/
Hope this can evolve as I expect, and hope you guys found the extension usefull.
Have great dev journey!
https://redd.it/1svvr1w
@r_php
Hi guys!
Last post doing auto-promo of the extension. I do not want to spam.
So have uploaded the latest version, also I have published the repo
https://github.com/andrescevp/symfony-kit-for-developers
It is the public site and will be used to coordinate bugs, questions, features requests, and insider program
The website is in https://andrescevp.github.io/symfony-kit-for-developers/
Hope this can evolve as I expect, and hope you guys found the extension usefull.
Have great dev journey!
https://redd.it/1svvr1w
@r_php
GitHub
GitHub - andrescevp/symfony-kit-for-developers
Contribute to andrescevp/symfony-kit-for-developers development by creating an account on GitHub.
Symfony Kit For Developers - Last Updates
/r/symfony/comments/1svvr1w/symfony_kit_for_developers_last_updates/
https://redd.it/1svvr9q
@r_php
/r/symfony/comments/1svvr1w/symfony_kit_for_developers_last_updates/
https://redd.it/1svvr9q
@r_php
Reddit
From the PHP community on Reddit: Symfony Kit For Developers - Last Updates
Posted by ngg990 - 1 vote and 0 comments
kreuzcrawl, an open source crawling engine with PHP bindings
kreuzcrawl is a high-performance web crawling engine. It was designed to reliably extract structured data, operating natively across multiple languages without enforcing a specific runtime. More details: https://github.com/kreuzberg-dev/kreuzcrawl.
The MCP server is integrated from the start, enabling web-crawling AI agents as a primary use case. Streaming crawl events allow real-time progress tracking. Batch operations handle hundreds of URLs concurrently and tolerate partial failures. Browser rendering supports JavaScript-heavy SPAs and includes WAF detection.
Supported language interfaces are Rust, Python, Node.js, Go, Ruby, Java, C#, PHP, Elixir, WASM, and C FFI, and each binding connects directly to the core engine.
Kreuzcrawl is part of the Kreuzberg org: https://kreuzberg.dev/
We welcome your feedback and would be happy to hear how you plan to use it
https://redd.it/1svze3w
@r_php
kreuzcrawl is a high-performance web crawling engine. It was designed to reliably extract structured data, operating natively across multiple languages without enforcing a specific runtime. More details: https://github.com/kreuzberg-dev/kreuzcrawl.
The MCP server is integrated from the start, enabling web-crawling AI agents as a primary use case. Streaming crawl events allow real-time progress tracking. Batch operations handle hundreds of URLs concurrently and tolerate partial failures. Browser rendering supports JavaScript-heavy SPAs and includes WAF detection.
Supported language interfaces are Rust, Python, Node.js, Go, Ruby, Java, C#, PHP, Elixir, WASM, and C FFI, and each binding connects directly to the core engine.
Kreuzcrawl is part of the Kreuzberg org: https://kreuzberg.dev/
We welcome your feedback and would be happy to hear how you plan to use it
https://redd.it/1svze3w
@r_php
GitHub
GitHub - kreuzberg-dev/kreuzcrawl
Contribute to kreuzberg-dev/kreuzcrawl development by creating an account on GitHub.
A Week of Symfony #1008 (April 20–26, 2026)
https://symfony.com/blog/a-week-of-symfony-1008-april-20-26-2026?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1sw2apj
@r_php
https://symfony.com/blog/a-week-of-symfony-1008-april-20-26-2026?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1sw2apj
@r_php
Symfony
A Week of Symfony #1008 (April 20–26, 2026) (Symfony Blog)
This week, SymfonyCasts announced a new course on Doctrine inheritance. In addition, we published the schedule for the SymfonyDay Montreal 2026 conference. Lastly, we continued polishing the new featu…
Redesigned my Stopwatch profiler with ui.sh (before/after)
Bought a ui.sh license a few months back. Closed the tab, forgot about it. Sat down with it properly this week and ended up rewriting the HTML render of one of my packages in an evening. Left side of the image is 0.4.x. Right side is what I tagged today.
before\/after
It's a small Laravel profiler I maintain (SanderMuller/Stopwatch). You drop checkpoints, it shows where time went. The render had been the same plain table forever. On my "tomorrow" list for at least a year.
You describe what you want, you get 2–3 directions back, you pick one. First round is usually whatever, by round 3 or 4 I was tweaking actual details. It noticed I had CSS variables in the file and themed around them instead of replacing them, which I appreciated.
Iterations aren't mockups either. Sometimes you get a screenshot, sometimes a carousel of live versions you can actually click through. At one point a tooltip kept misaligning, turned out a parent
Went in just wanting visual polish, ended up adding a bunch of stuff I hadn't planned. Overview bar with per-checkpoint segments. Tiered slow highlighting. A light/dark toggle. A clipboard button that copies a Markdown summary so I can paste slow profiles into Claude. Half of those came from the tool nudging me — like, it suggested theme support and I realized yeah, I'd actually use that. Also inline-styled with hex fallbacks so the same render works in notification emails, which was a pain.
If you use /ui or ui.sh, what do you point it at? I've mostly done component-level things, would love to hear if anyone's used it for marketing pages or full app shells, and whether you've found an iteration workflow that holds up. I kept losing track of which round had the best version of which detail. Felt like I needed git for screenshots.
If you haven't tried it, what's stopping you? Price, generic-AI-design vibes, prefer to write the CSS yourself?
Paying customer, not affiliated.
https://redd.it/1swcbrv
@r_php
Bought a ui.sh license a few months back. Closed the tab, forgot about it. Sat down with it properly this week and ended up rewriting the HTML render of one of my packages in an evening. Left side of the image is 0.4.x. Right side is what I tagged today.
before\/after
It's a small Laravel profiler I maintain (SanderMuller/Stopwatch). You drop checkpoints, it shows where time went. The render had been the same plain table forever. On my "tomorrow" list for at least a year.
You describe what you want, you get 2–3 directions back, you pick one. First round is usually whatever, by round 3 or 4 I was tweaking actual details. It noticed I had CSS variables in the file and themed around them instead of replacing them, which I appreciated.
Iterations aren't mockups either. Sometimes you get a screenshot, sometimes a carousel of live versions you can actually click through. At one point a tooltip kept misaligning, turned out a parent
transform was making a new containing block, and we ended up restructuring the DOM.Went in just wanting visual polish, ended up adding a bunch of stuff I hadn't planned. Overview bar with per-checkpoint segments. Tiered slow highlighting. A light/dark toggle. A clipboard button that copies a Markdown summary so I can paste slow profiles into Claude. Half of those came from the tool nudging me — like, it suggested theme support and I realized yeah, I'd actually use that. Also inline-styled with hex fallbacks so the same render works in notification emails, which was a pain.
If you use /ui or ui.sh, what do you point it at? I've mostly done component-level things, would love to hear if anyone's used it for marketing pages or full app shells, and whether you've found an iteration workflow that holds up. I kept losing track of which round had the best version of which detail. Felt like I needed git for screenshots.
If you haven't tried it, what's stopping you? Price, generic-AI-design vibes, prefer to write the CSS yourself?
Paying customer, not affiliated.
https://redd.it/1swcbrv
@r_php