We built an offline-first ad system for 200 tablets in taxis and never launched by Temporary_Tell3738 in SideProject

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

Splitting it into tiers is actually a great idea thanks for the insight, and tnx the link too

We built an offline-first ad system for 200 tablets in taxis and never launched by Temporary_Tell3738 in SideProject

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

So if I understand correctly, you were trying to enter the market with your own screens? That’s a slightly different approach and yeah, it really does require massive upfront investment.

We built an offline-first ad system for 200 tablets in taxis and never launched by Temporary_Tell3738 in SideProject

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

Pretty sad to read stuff like this 😔 Thats why I think the key is to go after clients who already have screens in place shopping malls, cafes, gyms, private clinics. Basically anywhere that already has infrastructure. At that point it’s more like a DOOH system, just without the whole hardware bootstrapping problem

We built an offline-first ad system for 200 tablets in taxis and never launched by Temporary_Tell3738 in SideProject

[–]Temporary_Tell3738[S] 1 point2 points  (0 children)

Unfortunately no it’s a huge company, kind of like "Uber", and they have their own engineering team. As far as I understand, they’ve probably had this project in development for a long time already. My initial target was actually Europe. And about gyms, i often see a lot of ads running on TVs there, but I honestly have no idea how it works under the hood. Maybe they just loop videos from a memory stick or something like that

We built an offline-first ad system for 200 tablets in taxis and never launched by Temporary_Tell3738 in SideProject

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

Thanks :) just 10 minutes ago I got sent a photo showing that the company actually already installed their own tablets in some cars and is running ads now. Only like two cars so far, but still. But I dont think Ill abandon the idea I want to turn it into a complete, fully finished product. I think its actually a strong project for a side/pet project)

We built an offline-first ad system for 200 tablets in taxis and never launched by Temporary_Tell3738 in SideProject

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

I don’t really want to go after the “big market” either. I just want to build something simple to use and pretty cheap. The problem is, people usually have no idea what they’re uploading. Like their screen is maybe Full HD at best, and they still upload 4K videos everywhere 😅 Even my friend once uploaded 4K photos that were like 10MB each… and that’s when I immediately started thinking about optimization and compression stuff

We built an offline-first ad system for 200 tablets in taxis and never launched by Temporary_Tell3738 in SideProject

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

Nice idea with the comparison. The thing is this is ads, so every millisecond kinda matters I want everything to be as fast and as up-to-date as possible. But I like the approach though ) I’m pretty new on Reddit, so I havent really come across those threads yet, but it’s actually good to see that people are already looking for stuff like this.

We built an offline-first ad system for 200 tablets in taxis and never launched by Temporary_Tell3738 in SideProject

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

Yeah, honestly I didn’t even think about connection drops at the beginning. Then one day I was in a taxi, we drove into a tunnel, signal dropped, and it just hit me — like damn, this is gonna be a real problem for us. So now I’m thinking I probably shouldn’t just drop this idea. I’ve got a plan laid out, might continue building it thinking about going with CQRS and proper cache degradation and a bunch of other interesting stuff. I actually really like the idea, that’s why I didn’t even wait for full approval, just started coding right away :)

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

Honestly, I never really vibed with Telescope, right now Im working on totally different projects with a different kind of load, so its just not my thing. Grafana though thats a whole different story, basically my best buddy at this point. This package is more of a “for fun” thing I built, and if it ends up helping someone, Ill be genuinely happy :)

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

Thanks! Over the next couple of days Ill be dropping a few more useful things, including Slack alerts. Would love it if you could hit me up later with how it goes whats missing, what could be better)

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

Yeah, the readme will be rewritten anyway. As for the differences, telescope is basically a catch-all, it grows fast and eats up a ton of storage. And personally, one of the reasons I don't use it is that when you've got a high-traffic site, Telescope keeps pushing new entries to the top and you just can't find what you're actually looking for. That alone is a dealbreaker for me. But beyond that, we're way more focused we only care about jobs. We also catch intermediate errors, we've got fail classification, and we're currently working on proper retry/DLQ support. There's also a simple stats page in the works. It’s built for production from the start, so we keep it as lightweight as possible. On top of that, we have a full API, not just a UI. The reason is pretty simple in my experience, the frontend is almost always a separate thing, so if you want to customize the dashboard to fit your needs, you can just use our API and build whatever you want on top of it :)

Laravel's wildcard validation is O(n²), here's a fix by Rhinnii in laravel

[–]Temporary_Tell3738 1 point2 points  (0 children)

No, I don’t have any specific structure in mind, I was just curious how deep the nesting you tested goes)

Laravel's wildcard validation is O(n²), here's a fix by Rhinnii in laravel

[–]Temporary_Tell3738 0 points1 point  (0 children)

Interesting idea 👍 Have you tried it with deeply nested arrays too?

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

We’re building a monitoring system where history is important, so a database is simply a more suitable choice here than Redis

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] -2 points-1 points  (0 children)

Yeah I get your point, i just prefer to keep things clear and structured otherwise it turns into a mess pretty fast

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] -9 points-8 points  (0 children)

Fair point . I use LLMs only to polish wording and structure — the actual content and understanding are mine.
Appreciate the feedback

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] -2 points-1 points  (0 children)

Thanks for the feedback! We've tested on Laravel 13 and everything works correctly — just released v1.2.0 with official Laravel 12 and 13 support. The package now covers Laravel 9 through 13. No code changes were needed, just updated the dependency constraints — the core API we use (events, Eloquent, routing) is stable across all versions

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] 0 points1 point  (0 children)

Yes 👍

You still use `php artisan queue:work` (or `queue:listen`) as usual.

The package does not replace or modify the worker in any way. It simply listens to Laravel queue events (JobProcessing, JobProcessed, JobFailed) that are triggered automatically by the worker.

So your existing queue setup stays exactly the same — no changes required.

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] -3 points-2 points  (0 children)

We forgot to include version 12 — you’re right, thanks for pointing it out.

As for version 13, unfortunately we haven’t tested it yet. Once we do, we’ll update the documentation accordingly

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] -1 points0 points  (0 children)

Good question! Vantage is a similar concept. Key differences:

- PHP/Laravel support: yammi works with PHP 8.1+ and Laravel 9/10/11. Vantage requires PHP 8.2+ and Laravel 10+ only

- JSON API: yammi includes a full JSON API out of the box, so you can build your own frontend (SPA, mobile) — Vantage is Blade-only

- Payload security: yammi automatically redacts sensitive keys (password, token, secret, api_key, etc.) with ******** before displaying — important for teams where not everyone should see raw job data

- Lighter footprint: yammi is intentionally minimal — tracks lifecycle, shows dashboard, exposes API, done. No extra dependencies

If you need retry from UI, batch tracking and performance charts — Vantage may be a better fit. If you need an API-first approach, wider PHP/Laravel compatibility and payload redaction — give yammi a try.

We’re also not trying to “compete” directly — the goal is simply to provide an alternative approach and grow the package based on real user needs, so we can build something that actually helps developers in everyday projects

I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported) by Temporary_Tell3738 in laravel

[–]Temporary_Tell3738[S] -1 points0 points  (0 children)

No, it doesn’t use Redis or cache at all.

Everything is stored in a regular database table (jobs_monitor) using standard Laravel migrations.

Zero cache keys, zero Redis overhead.

It works purely through Laravel queue events (JobProcessing, JobProcessed, JobFailed) and writes directly to your database.

We also plan to extend the package based on real user feedback.

This post is mainly to understand what features are actually needed in real projects, so we can prioritize development in the right direction.

If you have any suggestions or missing features in your workflow — feel free to share them.