HNHacker News
TopNewBestAskShowJobs

tylertreat

1,748 karma · joined December 9, 2013

[ my public key: https://keybase.io/tylertreat; my proof: https://keybase.io/tylertreat/sigs/sN5UDMHODgSfCzN94mna8UrD2glGSFWIHUezt57IeoM ]
submissionscomments
tylertreat··on Please don't discontinue Gemini 2.5 Flash
I am more concerned about the cost step up from Gemini 2.5 Flash to 3.5 Flash, with the latter being roughly 3x more expensive. I thought the intention of the Flash models was to be relatively low-latency and more affordable compared to Pro, but the newer Flash models aren’t being priced as such. Then again, the era of cheap and plentiful AI might be coming to an end…
tylertreat··on Ask HN: What Are You Working On? (December 2025)
I posted this in another comment but couldn't help but notice this discussion since it seemed relevant. I've been working on https://mealsyoulove.com, which is a meal planning app that also integrates with Kroger and Instacart for ordering groceries. Jow looks similar (not sure what their pricing model is?), but I'm leveraging AI to build highly tailored recipes and meal plans while allowing you to also import your own recipes to incorporate.
tylertreat··on Ask HN: What Are You Working On? (December 2025)
https://mealsyoulove.com

Basically personalized meal planning and grocery integration. Since the Show HN I posted a couple months back I've been incorporating user feedback to add things like meal prepping, better ingredient reuse across meals, and cooking style preferences.

One of the biggest points of feedback has been adding more grocery stores but I'm really limited by who has APIs to actually integrate with, which is basically just Kroger and Instacart. Walmart has an API but ignored my API access request. Would love to hear if anyone has ideas on how to approach this.

tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
Sorry, fix what page? I'm not sure I understand.
tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
Gemini 2.5 Flash works quite well for it.
tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
Let me know what you think or if there are areas that can be improved!
tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
I get the skepticism as I shared similar thoughts on what recipe quality would be like. I'm also quite sensitive to AI slop. My wife, who really is an outstanding cook, was even more skeptical, and she has a _very_ high bar for recipes. To be clear, we don't use it to generate recipes for every meal. She has a collection of go-to favorites and then peppers in 1-2 AI recipes throughout the week, often to explore new things. She also uses it to create "Quick Bite" recipes for when we need something fast with whatever we have on hand, outside of an actual meal plan.

Honestly, I wasn't sure if the AI recipes were going to meet her standards when it comes to food, but so far she's been quite happy overall with the recipe quality. She often will request replacements or customizations, so the first pass suggestions are not always what she's looking for.

I realize it's definitely not for everyone though.

tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
I'm sorry you hit that as it should definitely respect instructions around things like protein sources and ingredient selection. I'll take a look at that.
tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
Please let me know what you think. I really value any and all feedback!
tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
Not at all a nitpick, it is one of the things that is painful in the app IMO. I think the length of time for some of the operations is one of the bigger reasons for people to bounce after initial sign up. I need to think if there are some clever ways to improve the onboarding experience such as trying to pre-generate some recipes during/after the onboarding flow.
tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
Yeah that tracks. I'm currently only hosting out of us-central1 in GCP. Haven't got around to setting up multi-region or a proper CDN yet.
tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
You can specify this in "Preferences & Requests" in the meal planning wizard or "customize with instructions" on an existing meal plan recipe.
tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
You're right that Meals You Love integrates with Instacart and Kroger for ordering meal plan groceries but it's not primarily a grocery funnel and this has no impact on meal plan construction. Really these are just value-add integrations IMO. For our family, the real value is actually providing a means for us to save our favorite recipes and get AI-recommended recipes peppered in. The grocery ordering is secondary, though quite useful for us.

The second big value prop for us has actually been the new "Quick Bites" feature which generates recipes based on ingredients you have on hand (either tracked in your pantry in the app or simply input manually). For instance, we'll often have some ingredients we want to use up but need suggestions on what to make. In this case, there's no grocery integration at all since we're using entirely stuff we already have.

Good question on the meal calendar. You CAN share meal plans (as well as recipes), though there isn't a calendar as such beyond the weekly meal plan view.

Preferences are primarily handled via the AI (uses Gemini on the backend) and this is the primary driver in how recipes are constructed and recommended.

tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
Ah, I hear you on the onboarding wizard. I did my best to keep it streamlined but understand it's still overwhelming. Hard to balance keeping it light with collecting enough data to provide reasonable recommendations.

The meal plan generation does take a bit, _typically_ it's around 90ish seconds but it does vary a lot. That's odd the images are loading slowly, I'll need to look into that.

You can ask for meal replacements (with or without input instructions) from the meal plan view. The replacements are not particularly snappy though. Trying to balance efficient usage of AI with a snappy UX is tricky.

tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
It's actually a pretty decent API. I've hit some quirks with it, but for the most part works reasonably well overall. The best part about it was there were no hoops to jump through to start using it.
tylertreat··on Show HN: Meals You Love – AI-powered meal planning and grocery shopping
Totally agree on a video walkthrough, and it's on my list. I've mostly been putting it off because I'm not sure if I'm capable of making a polished enough presentation, which is a bad excuse.

Also 100% on messaging to differentiate from just using an LLM to do this yourself. This one feels a bit harder to me because I think it perhaps is not obvious until you get into the product and use it for a bit, though the integrations are a pretty good concrete example.

tylertreat··on Cloud Run GPUs, now GA, makes running AI workloads easier for everyone
> It's nice for toy projects, but it's a money sink for anything serious, at least from my experience.

This is really not my experience with Cloud Run at all. We've found it to actually be quite cost effective for a lot of different types of systems. For example, we ended up helping a customer migrate a ~$5B/year ecommerce platform onto it (mostly Java/Spring and Typescript services). We originally told them they should target GKE but they were adamant about serverless and it ended up being a perfect fit. They were paying like $5k/mo which is absurdly cheap for a platform generating that kind of revenue.

I guess it depends on the nature of each workload, but for businesses that tend to "follow the sun" I've found it to be a great solution, especially when you consider how little operations overhead there is with it.

tylertreat··on Opinion: Is a split imminent? – Synadia demands NATS back from the CNCF
This is already out of date: https://www.cncf.io/announcements/2025/05/01/cncf-and-synadi...
tylertreat··on Protecting NATS and the integrity of open source
I worked (briefly) at Apcera as well and on the NATS team as a core contributor on the project. I sympathize because it is really difficult to build a viable business around OSS. But the move to contribute it to CNCF, which put it on a stage that it simply never would have had without the foundation, and now trying to withdraw it because it is still a fledgling project is just not a good look.

The irony is how would this have played out if it _did_ turn into a thriving project under CNCF? In that scenario, the NATS brand would have substantially more value and equity. That would have made a relicensing even more impactful, made it even more difficult to claw back from CNCF, and even more controversial. Because NATS remains relatively niche, I suspect the thinking is that not enough people will really care for it to matter, but if that's the case, why not just make a proprietary fork under a new name?

I don't know how this situation doesn't result in a fork. Either the BSL will be a fork or the OSS will be a fork. But because nearly all of the contributors are Synadia employees, I don't know what this will mean for the longevity of the project.

tylertreat··on Show HN: Koreo – A platform engineering toolkit for Kubernetes
We added a more extensive comparison on kro here: https://koreo.dev/compare/kro
tylertreat··on Show HN: Koreo – A platform engineering toolkit for Kubernetes
Really great feedback! Better examples and docs is definitely something high on the list.
tylertreat··on Show HN: Koreo – A platform engineering toolkit for Kubernetes
The underlying engine is actually completely decoupled from yaml as it's really just structured data. We chose to stick with yaml for the "interface" since that is ultimately what it's managing—Kubernetes manifests. Personally, I tend to prefer keeping the configuration true to the underlying thing being configured rather than abstracting it away with DSLs, but I realize it's not for everyone.
tylertreat··on Show HN: Koreo – A platform engineering toolkit for Kubernetes
Also, what's interesting about Koreo is that you can actually build "meta" Workflows. That is, Workflows that produce Workflows, meaning you could implement something like Kro itself in Koreo fairly easily. This is why it's really closer to a programming language and runtime for programming Kubernetes control loops.

Koreo would also allow you to implement a workload spec such as Score rather easily for the same reason. https://score.dev

tylertreat··on Show HN: Koreo – The platform engineering toolkit for Kubernetes
> The CLI does not currently emit the materialized manifests purely because our initial use cases needed to map values from reconciled manifests into other manifests. It is completely viable to emit the materialized manifests though.

Only in cases where the values are statically known, however. If you have resources that depend on the output of another resource, then we can't know that at "template time" as you pointed out.

tylertreat··on Show HN: Koreo – A platform engineering toolkit for Kubernetes
Koreo and Kro share a lot of similarities in that both allow you to build abstractions that encapsulate a lot of complexity. For instance, in Kro you could implement a ResourceGraphDefinition that builds a "Workload" abstraction that produces a Workload CRD that, say, lets you specify a container image, a database, and a bucket. Then when you create an instance of this CRD, Kro might map this to a Lambda function, RDS instance, and an S3 bucket, perhaps using ACK for example. In Koreo, this would be a Workflow that has various ResourceFunctions which produce the Lambda, RDS, and S3 bucket. Just like with Kro, this would be triggered off of a CRD. In essence, both let a platform team (or whoever) provide high-level APIs that encapsulate resource management.

One difference is just in how the two approach doing this. Koreo takes an approach of providing primitives that can be composed or reused and, importantly, are actually testable (since testing is a first-class thing in Koreo). This lets you more easily validate automations but also makes it easier to provide "building block" like components that can be shared between Workflows.

Another difference is in how Koreo solves configuration management. Rather than relying on string templating or unstructured YAML overlays, Koreo treats configuration as structured data. This allows you to specify and tweak configurations in a predictable and typesafe way by transforming, validating, and composing them programmatically. Koreo is very much modeled after functional programming principles, so we can, for instance, define functions that validate preconditions or apply standard tags to resources in an environment. This model also enables configuration reuse and overrides across teams and environments without introducing tight coupling or duplication. Instead, we can apply configuration "layers" to build up a resource. Kro really focuses more on resource orchestration and leaves the configuration management up to the user.

tylertreat··on Show HN: Koreo – A platform engineering toolkit for Kubernetes
I thought Crossplane v2 was only a design proposal at the moment: https://github.com/crossplane/crossplane/pull/6255

But I guess there is an actual preview implementation now? https://docs.crossplane.io/v2.0-preview/

The comparison on Kro would definitely be good to include as there are quite a few similarities. I can write up more on how it compares in a bit.

tylertreat··on Show HN: Liftbridge – Lightweight, fault-tolerant message streams
Thanks, this is a good suggestion. The docs definitely need a lot of work still!
tylertreat··on Show HN: Liftbridge – Lightweight, fault-tolerant message streams
Some of the key differences:

- Written in Go rather than Java/Scala (big benefit here IMO is getting a small static binary rather than having to run a JVM)

- Doesn't rely on Zookeeper

- Is integrated with NATS (can extend NATS with Kafka-like semantics, but in the future will allow for abstracting NATS away entirely)

- Uses gRPC for its API

- Supports "wildcard topics" - e.g. a stream can listen to the topic "foo.*" and will receive messages published on "foo.bar", "foo.baz", "foo.qux", etc.

- Allows for streams to be paused and subsequently resumed automatically when published to - on the roadmap is "auto-pausing" of sparsely used streams

- Exposes an activity stream that allows you to respond to events such as streams being created, deleted, paused, etc.

One advantage Kafka currently has is its consumer groups, which are on the roadmap for Liftbridge but not implemented yet.

There's a more complete comparison available here: https://liftbridge.io/docs/feature-comparison.html

tylertreat··on Show HN: Liftbridge – Lightweight, fault-tolerant message streams
I'm not super familiar with Akka beyond high-level/actor model so I can't competently compare the two. NATS can be used to implement an actor model and has a similar philosophy to Akka core in terms of delivery semantics (i.e. no real guarantees - https://doc.akka.io/docs/akka/2.1/general/message-delivery-g...).

Looking at Akka Streams, it appears to be more in line with Liftbridge, though I'm not totally sure. Liftbridge (like Kafka), is a message log, so messages do not get acked or removed from a stream (unless removed due to retention limits or compaction). I'm not sure if that's the case with Akka Streams.

I'm curious what your needs are around exactly-once delivery. From what I can tell, Akka only supports at-least-once semantics and is of the opinion that exactly-once isn't really possible as such (which is an opinion I agree with, but that's a more nuanced discussion). https://www.lightbend.com/blog/how-akka-works-exactly-once-m...

tylertreat··on Show HN: Liftbridge – Lightweight, fault-tolerant message streams
Good question. It's early days, so there's still a lot of work to be done around geo-replication/geo-aware. It depends on the specific use case, but there are a few approaches you could take. You could run a Liftbridge and NATS cluster in each DC with the NATS cluster connected to a global NATS supercluster. Alternatively, you could just run separate Liftbridge clusters and do replication between them (sort of like the MirrorMaker approach in Kafka, though the tooling here is still lacking for Liftbridge).

Longer term, I'd like to take advantage of the recent work in NATS around superclusters and geo-aware subscribers to provide better geo-replication primitives directly inside Liftbridge (https://www.slideshare.net/nats_io/deploy-secure-and-scalabl...).

Page 1 of 3Next →