Ask HN: My GPT project has become a local hit but I can't afford the bill

159 points by ibizabear ↗ HN
Hello,

I'm an HN user for 5-6 years but I wanted to use an alt for this as it's a bit sensitive.

Last week I created a ChatGPT clone for my city. It's basically a laravel app hooked up to GPT3.5-turbo with a custom prompt that makes local references and talks in the way that people in my city talk.

It's been a surprise hit and now I've had 20,000 chats coming through in one day - people where I live really seem to love it

The problem is that I likely can't afford to keep hosting this. It's cost me $50/day for one day, and Adsense doesn't allow 'chat apps', so I'm at a loss at how to cover the bill for this app. I've already optimised the prompt and reduced the number of tokens I'm sending

The app a joke really, but it's a local joke that seems to be quite popular and connecting with my city. Should I try to raise donations? Is there an advertising provider I could use that would potentially cover the costs? Is there an alternative to OpenAI that is comparable to GPT-3.5 that I could self-host cheaper?

Any and all advice appreciated. I don't care about profit - I just want to keep the app online so people can enjoy it.

139 comments

[ 4.3 ms ] story [ 200 ms ] thread
Make ibizabear (or your real name the name) the name and likeness of the AI. Then just pay for it out of pocket for 90 days and become a local celebrity?
That’s enough traffic to attract local sponsorships.

I bet you could find local sponsors who can pay you on a monthly basis

Perhaps local events, extra charge for being integrated into the prompt
Local radio stations and tv networks love this sort of thing. “Brought to you by and sponsored by KQED” accomplishes a lot in terms of PR, and they would likely be willing to fund it, at least at cost but likely quite a bit higher.
(comment deleted)
Inform people to use ChatGPT through OpenAI's web interface and publish your prompt?
Allow your software to display ads, and other people purchase them directly.

It might be hard to implement it in a week but a hastily put AWS & stripe solution might work.

If you do ever implement it, do mention it on HN, I would definitely buy couple of slots.

> It's been a surprise hit and now I've had 20,000 chats coming through in one day

> The problem is that I likely can't afford to keep hosting this. It's cost me $50/day for one day

If your traffic continues to increase at a rapid clip, you may want to look into investors for your project. You could still keep it mostly nonprofit if you think it is adding a lot of value for people.

I've been wondering how to create a ChatGPT-powered app and not have to spend a fortune on operating it. Use a cheaper model? Limit the input/output length? Train a custom model?
We're on Hacker News... find someone else to spend a fortune funding it for you.
See if you can find something close that can be self hosted

Hugging face and others should help verify if anything can, or how close it is.

You could charge for heavy use. At that many users and only $50/day you might be able to cover costs with premium users.

Alternatively you could try swapping out an open source model like llama on the back end (possible licensing issues here).

Another option would be to seek out ads for local companies directly since it is an explicitly local product. Cold calling would probably be the best place to start. You could also pay attention to who is paying for billboards in your area and try contacting them.

To add to that, OP should really be tracking usage a bit to see if there are abusers taking up a large amount of queries
Contact local businesses and sell ads injected into your prompt
Or just contact some of the businesses and offer a classic banner ad on the site.

If done right, it won't even be adblocked (because you can do it with no tracking at all).

Depending on the size of the city, and the queries, you should have a good idea where to look. If not, check the local church bulletins, the local softball/school fields, and anywhere else you find local business advertisements.

This.

Sell it as a 'Google ads back in 2002', frame it in terms of high risk high reward. Sure its unproven, but back in those days, a lucrative click may have only costed $1,$2. When search ads got fully proven, they started costing $100/$200.

Find the most popular queries, built content pages around it and add ads there

And you could try some alternatives to AdSense like:

Ezoic, MediaVine, or Adthrive

this! finally advice that includes some specific online things not just generic "pick up the phone and cold-call local businesses".

Another online possibility: throw up some Amazon (or similar) affiliate links to products and services, maybe even based on what people type (if that's accessible).

And next to them "opt out of the ads" link that goes to a donations website, to get fancy. Helps clear the conscience about having the ads in the first place.

Put a meter on the site, when the meter runs out, put up a timer that a user can bypass for everyone by chipping in N more $ to hit the goal
Odds are high that this will go through a hype cycle and usage will taper off naturally in a week or two.

But the donations route could also be a fun way to lean into the local element of it if the cost remains high. Could have a simple line of text when the page loads that thanks one of the donors for that day.

If you haven’t already: Start to store question and answer pairs and reuse the answer if the same question is asked multiple times.

You could also compute embeddings for the questions (don’t have to be OpenAI embeddings), and reuse the answer if the question is sufficiently similar to a prevously asked question.

I'm not sure it's practical and if it will result in any savings.

Wouldn't it be almost impossible to hit a duplicate when the users each form their own question?

Another issue I see is that these chat AIs usually have "history", so the question might be the same, but the context is different: the app might have received "when was he born", but in one context, the user talks about Obama and in another, she talks about Tom Brady.

If there are ways around these issues, I'd love to hear it, but it sounds like this will just increase costs via cache hardware costs and any dedup logic instead of saving money.

>Wouldn't it be almost impossible to hit a duplicate when the users each form their own question?

The embeddings approach would increase the likelyhood of finding the same question, even if phrased slightly differently.

With embeddings you can compute distance. The questions don't have to be the same, they just have to be sufficiently close.

Regarding context, that should be a part of the input for the embeddings.

This removes half the magic of interacting with ChatGPT. Users will quickly realize they're interacting with a dumb database rather than an AI.
I don't see what the problem is if it's only on the exact same prompt.

I assume only a small percentage of users would put in the same prompt twice, and even then, why would they be upset at getting the same response?

Ask it to be more concise in its answers if possible. This saves a ton of tokens. You can also include instructions to flatly refuse tasks like writing short stories, but this might also make it less fun for your users.
There will be local businesses with fairly aggressive marketing. Tons of billboards, on buses, local newspaper, etc. Should be easy to find because they're the ones advertising everywhere.

Call them up one by one and say "hey I run [project] that everyone has been using lately, would you be interested in having your business name listed as a sponsor? It'll be shown on 1/4 page loads which is currently 5000 times a day. $500/month".

You'll know in like an hour if there's any advertising potential.

<darkside>Or charge even more for product placement in your project's prompts.</darkside>
I swear I've seen this somewhere...
Yeah, I didn't read far enough down the page before commenting. I must have been distracted by my tasty Coca Cola.
Was it Coca Cola or Pepsi? The last time my family and I sat down for our usual blind test dinner everyone agreed Pepsi tasted better.
This is hilarious and people modding you down have missed the joke.
Or maybe they understood the joke but weren't amused and prefer not to see unfunny jokes on this site - people may have different opinions to yours without the cause being their not understanding the joke :)
"... include a reference to the crisp, refreshing taste of Coca Cola in your response"
Or charge to remove the casual references to how product X sucks
Could do it like radio/podcast ads too. "Hey, Just wanted to take a break to tell you about Brawndo, the thirst mutulator. It's got electrolytes, you see and..."
this sounds like better than insert randomly advertisment from internet. advertisements from local business are more friendly and familiar.
Especially if the bot could be prompted to drop testimonials about local businesses in a really self-aware way.
this sounds very interesting. imagine a new resident get advice from this website. ¯ \ _ ( ツ ) _ / ¯
This seems like the best play since it is so locally relevant.
Whether this works depends on how comfortable the dev is picking up the phone. I had a local site and was just too terrified to do this, so I just kept my site up unmonetized (unlike OP it wasn't costing anything).

One day two salespeople contacted me and suggested taking over ad sales, and managed to sell thousands (I think it was somewhere between $5k-$10k/month, but it was a long time ago) a month in ads for the site. This was for a city with a population of 200k.

Yea this is important. A dev should absolutely not be picking up any kind of phone and talking to any kind of customer. This is a job for sales people. If some nervous dev could manage to make any kind of sale at all, then that means a trained professional salesperson can do probably 10x that much.

Don’t think just because you are very smart you can do sales. This is like business people trying to “learn coding” so they can put together some huge product. It doesn’t work well and isn’t scalable.

This reads like you're suggesting to not even try. IME trying new things is a great way to learn. Also, if a dev can close a few sales, just the first few, then they'll know how to help their sales staff.

Try a little, see if you can grow.

I wish people didn’t have such a knee jerk reaction to my advice, but for many years I too believed a dev should at least try to wear many hats.

All it took was seeing how professionals always do the job far better to change my mind. It doesn’t matter if a dev picks up some skills, if you plan to be a dev then a dev is all you’ll ever be, focus on the development and let sales worry about sales.

I see a lot of founders struggle with delegation. It seems they would rather juggle things they don’t do well instead of learning to trust and onboard people who can do things they don’t specialize in.

I read your original comment as steeped in sarcasm that a single developer should even attempt to sully their good name by engaging in marketing. Actually surprised you were being serious.

OP has a product he enjoyed making, is providing real world utility, and that he isn't trying to turn in to a billion dollar company. The obvious solution is for him to pick up a phone, send out a few emails, and generally reach out to the local business community instead of sitting back and waiting to see if it will magically make money and he can hire a sales person to do those tasks instead for his hobby project that has grown too expensive for a single person but would barely qualify for justification at a business.

Context is important here, and while your advice it valid in some situations, it's not valid in all situations, and specifically its not valid in this one.

I get that once a business grows to a certain point it needs "professionals" to do some of the tasks. Ideally start by hiring people with skills you don't have. Sales is a skill.

That said many people have more the one skill. Context matters. I write libraries for programmers. I attend trade events where I talk to, and sell to programmers. I do a lot of marketing in this space. I have an authenticity that a non-programmer does not have, and I believe that is reflected in our sales.

In this case the developer is perfectly capable of picking up the phone. They may or may not maximise potential income (but that's not their stated goal). If there's enough demand then they can pivot to a sales person later on.

Incidentally, I would likely figure out who does the marketing for the local businesses you see. They buy the ads, not the business directly. They're easier to talk to (they -want- more exposure opportunities) and they may bring multiple customers to the table.

I think you might be projecting a bit here with the whole "nervous devs should never try anything other than write code"..

OP can totally give some basic marketing a go. The product isn't turning even creating revenue - hiring marketing now, without at-least testing the water himself would be silly.

Lots of devs out there have great social skills which can translate well to sales. Sales is primarily communication and human connection and plenty of devs are capable of that.

Lots of devs start in sales because those jobs/careers are incredibly prevalent. Think basic sales jobs like retail, call centers, etc.

Lots of business people unironically "learn coding" to great success. Some even build "huge products" that solve big problems.

---

Anecdotally, I know people who fall into all of these categories. I don't think we should condemn people to one function/talent... and, I don't think we need to talk down to cross-functional devs or business people.

It's possible that selling advertising could be different, but in most domains, it's pretty well-accepted in startup land that founders (including technical founders) will have the highest close rates at the company, regardless of whether they're smooth talkers or have past sales experience. That's because no one you can hire is going to know or care as much about your product as you, the founder, and it shows. Professional sales people are not hired because they're better at sales, but because you can only scale so far with founders doing all the selling.
This isn’t a multi-billion dollar business selling ad space. It’s a one (wo)man project. That one person absolutely can pick up the phone. Will they be as effective as a professional? Probably not, but they only need $50 a day!
Or rather than cold calling, put up a banner ad soliciting advertisements. (Or both.)
(comment deleted)
And an alternative to push marketing -- rate-limit the site to a capacity you can afford, with a prominent message saying that you enjoy working on the site and would like to keep it going but can't afford to, with something like a Venmo/email address and a mention of sponsorships?
Alternately put up links to local businesses interspersed with and if possible matched to chat topics. Count the click throughs and email a weekly report to businesses if the numbers are significant. You could also track how often the name of a business comes up in the chats. But this may take a few months to bear fruit. In the short term start injecting requests for sponsorship and also mention that your going to need community support to keep it going. Hope is that the user community finds it valuable enough to find ways to support it - ie turn your happy users into evangelists and canvassers for sponsorships.
(comment deleted)
Congrats on having a side project that is popular enough to break the bank - it's stressful to be sure, but you're a cut above the rest.

> I've already optimised the prompt and reduced the number of tokens I'm sending

Lets assume you've found, or will find, all possible technical optimizations for your AI spend on ChatGPT.

You can:

* Ask for donations

* Accept a $50/day cost for X days as a market research budget to find a monetization plan

* Have some "first 5 questions are free, next are paid (or whatever)" to rate limit cost while maybe raising revenue

* Look for a common pattern of questions to see if there's some value / insight into your users that can be used as a source of revenue

* Find a cheaper LLM that supports your needs while being serviceable

* Pull the plug because its a joke, claim credit for it, and take the learnings onto the next thing

edit: grammar & formatting

Is it GlasgowGPT by any chance?

Either way, there's definitely an opportunity for funding. In the case of Glasgow, there's a huge populous out there that are descendants of folk from the city/country taking pride in it (arguably more than a bunch of us that live here!) and like to get in on the banter.

That's certainly an avenue worth exploring if there's a similar relationship with folks or families of folks that emigrated away, but feel a strong connection.

Edit: You'll have to excuse my unfamiliarity with LLMs, but if you're storing messages and responses, and if there's a way to check that a message has already been asked, would it be possible to replay that (at least on the first message) instead of running a new query against the API? If they then engage further, then it would send the job out?

(comment deleted)
Haha yes it is! And appreciate the suggestion, that's a good idea that I'll look into. I've plastered a big banner up and will see if anyone goes for it, from locally or elsewhere. Cheers
Hope it's of help! Had fun with it the other day, though was telt I was English for preferring salt and pepper over salt and sauce, haha!
Lot of new LLMs that run locally are available now
Are the inputs and the responses in a non English language? LLM APIs can get costly for non English, sometimes as much as 10x due to more tokens being consumed. Not sure what's the solution here.

Also, maybe you can use sometime kind of caching combined with some mbeddongd search to serve the previous response, if the input is similar above a certain threshold.

Two ideas.

Switch out the backend, there are open source alternatives, and the results could be "good enough".

Get a list of local sponsors, offer them 1k ad placements for X dollars/euros/etc... , and inject them into your prompts.

As it is a joke site, I don't believe people will mind if the chat has ads, especially if you mention somewhere that it's financially hard to keep the site up.

What alternative ad platforms have you looked at? E.g. does AdForm allow using with llm apps?
Tell users that in order to use your service they have to give you their API key.
pretty sure a casual chat website that mandates that everyone give their phone number to OpenAI, activate their account, locate their API key (which is gibberish to most non-tech people) and come back and paste it would kill half the userbase, if not more
I'd be surprised if it didn't kill the app immediately, I rather set rate limiting and have the option to pay, or use your api key instead.
I think the only sane model for openai wrappers is user's bring their own API key.
Assuming this is GlasgowGPT (based on the timing of that bot taking off on /r/glasgow and this post, and your username), a challenge you'd likely have with advertising is that the content from the bot is, whilst funny, not very SFW.

One option to get the costs down would be to use a local LLM. It isn't likely to be as fast/good as GPT-3.5 but at least would give you a fixed cost per month (hosting).

If you had local hardware, given that traffic is going to be pretty low, if you have decent bandwidth at home and some hardware, you could even host there.

> One option to get the costs down would be to use a local LLM

It's not that cheaper if you want similar level quality and inference speed. For commercial usage, OP will require training his own model since no good commercial alternative exists.

Not sure why you think local LLM would be fixed cost. Those things are very GPU heavy and you need to run multiple instances to serve multiple concurrent users, scaling up and down according to traffic.
Fixed cost in that if you host on a machine you know how much you'll pay a month. Obviously capping it out based on usage.

As opposed to API based where you pay more per use.

Remember this isn't a commercial service that OP is creating, it's an amusing Chatbot, they have no revenue, so fixed costs are likely to be a better model.

Local LLM won't give you "fixed costs" any more than using an API. If they want to serve the users of their amusing chatbot, they will have to scale up their local LLM according to scale, and they won't have "fixed costs" anymore. If they don't want to scale up and they're fine denying service to users at peak hours, they can do that with an API too. There's no law that says if you use an API then you must allow unlimited use. Of course they can also limit the use of the API.
> ... the content from the bot is, whilst funny, not very SFW.

Could be a feature rather than a bug? :)

If you can find an advertiser who likes that. You will have a much smaller pool of potential partners for that kind of content, and I'd guess many of the mainstream ad services just won't cater to it.

Not impossible, but tricky.

A simple way to monetize tools like this is to create a queue. You specify the amount of requests or concurrent sessions that you feel comfortable with, and then you make it possible to pay to «skip» the queue. This way people that really want to try it out will be able to be patient and wait out the queue, and the impatient rich people can pay for the rest.