TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Tier.run – Terraform for Stripe

140 pointsby jmacdover 2 years ago
Hi HN, we are Jevon, Blake and Isaac, we&#x27;ve been working on Tier for a little while ( <a href="http:&#x2F;&#x2F;github.com&#x2F;tierrun&#x2F;tier" rel="nofollow">http:&#x2F;&#x2F;github.com&#x2F;tierrun&#x2F;tier</a> )<p>Tier is &quot;Terraform for Stripe&quot; but it goes further and gives you feature flag style access checks, and allows you to count&#x2F;report usage which can be used for metered billing.<p>When we started Tier, we knew that there was something interesting in the SaaS pricing and packaging space. Adjusting price is the single most effective lever a business can use to achieve product&#x2F;market fit, and there&#x27;s a strong correlation price nimbleness and market success.<p>In spite of overwhelming evidence of this, most startups pick the price for their product once and then never change it, opting instead to invest in less effective levers like CAC, sales efficiency, &quot;virality&quot;, churn, etc. Why?<p>It&#x27;s just too hard. Any change you make to the pricing model means refactoring not just the entire product, but sometimes the entire <i>company</i>. The path of least resistance leads to a place where there&#x27;s no single source of truth, and changes anywhere require changes everywhere.After over 50 or so customer conversations and user research chats, this represents our third or fourth implementation (depending on how you count them), and our conception of how best to solve it has been refined and adjusted along the way.<p>The concept of &quot;PriceOps&quot; came out of those conversations, looking at where mature companies end up after several expensive rounds of iterating on how they implement their prices for flexibility and order. <a href="https:&#x2F;&#x2F;priceops.org" rel="nofollow">https:&#x2F;&#x2F;priceops.org</a><p>What we&#x27;re releasing now is an open source tool you can use to set up your Stripe system that keeps everything organized around a single source of truth. With this, changes to your pricing model don&#x27;t require changes to your application code or business processes.<p>As a bonus, I think it&#x27;s actually easier to integrate with than integrating with Stripe the &quot;normal&quot; way. Use the identifiers for your customers and features that you already have. Define plans and subscribe customers to them. No ever-growing pile of object ids to manage.<p>If you are just starting to think about adding pricing to your product, or if you&#x27;ve built something custom but would like something less maintenance intensive, then please give Tier a try and we&#x27;d love your feedback.

19 comments

mdanielover 2 years ago
I&#x27;m not in that problem domain in order to know: why make &quot;like terraform, but for stripe&quot; when you could have made &quot;terraform-provider-stripe&quot; and then been _actual_ terraform for stripe?<p>Because the recipes still look like they&#x27;re targeting a very technical user, which was my mental model for why one would build a whole new DSL
评论 #33430531 未加载
评论 #33432320 未加载
评论 #33433495 未加载
brycelarkinover 2 years ago
How is this better than the Stripe Terraform provider? <a href="https:&#x2F;&#x2F;registry.terraform.io&#x2F;providers&#x2F;franckverrot&#x2F;stripe&#x2F;latest" rel="nofollow">https:&#x2F;&#x2F;registry.terraform.io&#x2F;providers&#x2F;franckverrot&#x2F;stripe&#x2F;...</a>
评论 #33434514 未加载
baristaGeekover 2 years ago
This looks very cool! Stripe is very hard in 2022. We just integrated such for our VS Code extension.<p>With our current architecture (a very simple one) a simple thing such as iterating on the price of our product requires changing an env var on Vercel. Not complicated, but feels cumbersome for changing a price. Iterating this on a pricing.json file feels easier.<p>Things get more complex if we decide to do something like giving the user the possibility of choosing between a monthly or a yearly subscription (with a variable quantity, because we charge per seat). That would imply a code refactor.<p>Would tier.run help us with that????<p>Really excited about feature flags as well. How would this work exactly? Do I set up which features belong to every plan on the pricing.json file, and then consume your SDK on the frontend to only show the tier to a certain category of paying user?<p>We currently handle that by querying a SQL table of paying users, and if the email address of the authed user belongs to the table, we show the feature, else not.<p>I also saw you want to build your product as an Auth0 action. Would that be used for this use case?<p>Anways, congrats on the launch!!
评论 #33438660 未加载
hobofanover 2 years ago
Very interesting approach, and nice to see someone tackling that problem area! You see a hundred blog posts of &quot;why you should experiment with your pricing&quot;, but actually doing that is often such a pain that nobody ends up doing that (and admittedly the reason why I would have shied away from such projects in the past).<p>Two things that come to mind:<p>- What are your plans like regarding the integration of entitlement checking in the service and SDK? As far as I can tell, that&#x27;s still a missing piece? I really love how oso[0] has managed to separate the authorization checking from the authorization definition via their DSL and SDKs. Ever since I saw that, I was wondering if a very similar system could work for entitlement checking.<p>- I think where your system could provide a lot of benefit would be in help tracking usage metrics that can be harder to calculate (and with that more of a pain to use). It&#x27;s already nice not having to implement a simpler &quot;number of action N taken the last billing period&quot; metric. However something like a &quot;N number of active users last billing period&quot;, where you now would also have to keep track of which users you have already seen before to prevent double-counting them becomes increasingly annoying to implement.<p>[0]: <a href="https:&#x2F;&#x2F;www.osohq.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.osohq.com&#x2F;</a>
评论 #33438432 未加载
O__________Oover 2 years ago
(a) &gt;&gt; Adjusting price is the single most effective lever a business can use to achieve product&#x2F;market fit,<p>(b) &gt;&gt; and there&#x27;s a strong correlation price nimbleness and market success.<p>Would it be possible to expand on and&#x2F;or provide additional sources for each of these claims, since while I get that given all other aspects being equal that price is frequently a defining factor, but my understanding is that even then loss aversion [1] means it’s economically a bad strategy to a market.<p>- [1] <a href="https:&#x2F;&#x2F;wikipedia.org&#x2F;wiki&#x2F;Loss_aversion" rel="nofollow">https:&#x2F;&#x2F;wikipedia.org&#x2F;wiki&#x2F;Loss_aversion</a><p>______<p>(c) &gt;&gt; <a href="https:&#x2F;&#x2F;priceops.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;priceops.org&#x2F;</a><p>Might be wrong, but brief review of this appears to show the “thesis” of PriceOps is yield-based metered feature pricing, but again not seeing any research to backup this approach and&#x2F;or measure of fitness of this approach to a given situation. Do you have an related research to link to?
评论 #33431275 未加载
benmannsover 2 years ago
This is pretty cool! Do you have ways for elegantly handling grandfathering old customer plans, scheduled rollouts of new pricing, etc? I think more than testing&#x2F;changing the value of the $tier_2_price variable is how you communicate and&#x2F;or apply it to existing customers.
评论 #33431046 未加载
viggityover 2 years ago
If I&#x27;m thinking about pricing, I&#x27;m likely also highly interested in a nice UI&#x2F;Design for my page. IMHO Your <a href="https:&#x2F;&#x2F;priceops.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;priceops.org&#x2F;</a> needs some major design TLC. Personally, when I see a gray background, or a especially a serif font on a web page trying to sell me something I&#x27;ll be pretty skeptical. It doesn&#x27;t need to be wizz-bang amazing, but something cleaner is in order. I&#x27;d just grab something from one of the many bootstrap css template stores that are out there. The tier.run site looks a million times better.<p>It lookslike a cool product, good luck to you!
评论 #33438034 未加载
pqdbrover 2 years ago
From the Pricing JSON page, on the &#x27;Why Each Plan Must Have At Least One Feature&#x27; question, it says:<p>&gt; Without this restriction, it would be significantly more expensive to fetch your pricing model from Stripe&#x27;s data.<p>I didn&#x27;t quite get that. I understood that application code should reference features (and not plans directly) so it becomes easier to change plan structure (via <a href="https:&#x2F;&#x2F;priceops.org&#x2F;4-entitlement" rel="nofollow">https:&#x2F;&#x2F;priceops.org&#x2F;4-entitlement</a>), but that&#x27;s not the reasoning laid out here, is it?
评论 #33432136 未加载
swyxover 2 years ago
congrats guys, i&#x27;ve been interested in UBB for a while and i think an &quot;as code&quot; type of approach makes a ton of sense (and maybe can build a low code layer on top). this is the killer line:<p>&gt; With this, changes to your pricing model don&#x27;t require changes to your application code or business processes.<p>i would go so far as to produce a scenario or skit or whatever to use this all over your marketing materials as any growth PM or founder would immediately understand this one
评论 #33434616 未加载
davnnover 2 years ago
Very interesting. I‘m not very knowledgeable in the payment space, unfortunately. Do you think there is a way to abstract the concepts over multiple, pluggable payment providers (other than Stripe) in the future?
pfoofover 2 years ago
We don&#x27;t have SaaS apps but having something like that for in-app purchases that will deploy over App Store, Google Play and PayPal at once would be appreciated. Just a suggestion.
评论 #33434446 未加载
rco8786over 2 years ago
Has Stripe gotten complex enough that there is again room in the market for a simple &quot;one line of code&quot; product to accept credit cards on your website?
hobofanover 2 years ago
Small heads-up: The &quot;Read docs&quot; button on your website isn&#x27;t clickable directly after page load (only after scrolling down, when it moves to the header).
macmania314over 2 years ago
Do you have plans to add other subscription vendors like Zuora in the future?
tyreover 2 years ago
very cool!<p>Since you’re well within the power user category, any feedback on how to make the Stripe APIs better? Either for customers’ uses or for your own. I hear you on the object ids :)<p>Happy to hear here or maddox@stripe.com
评论 #33431567 未加载
mousetreeover 2 years ago
Where does Terraform fit in here? Title is very misleading.
dchiaover 2 years ago
&quot;Pricing as Code&quot; would be a better tagline I guess?
评论 #33430764 未加载
tadpolover 2 years ago
Hey, Tier team, this looks promising! Is it possible to run Tier in NextJs API routes?
评论 #33438508 未加载
评论 #33443676 未加载
8n4vidtmkvmkover 2 years ago
not sure why this needs to be a product... stripe already facilitates price versioning. shouldn&#x27;t be too hard to sync with my app. my app is tiny right now so I&#x27;m doing it by hand but building a little sync command wouldn&#x27;t take me more than a day.
评论 #33433738 未加载
评论 #33431217 未加载