Ask HN: Moving a not-for-profit web app off AWS

38 points by sjayasinghe 8 days ago

I'm developing an app to help foreign Buddhist monks in Thailand learn Thai and Pali languages. The app incorporates LLMs for interactive learning, and I'm experimenting with spaced repetition techniques within chatbot interfaces and for long-form text memorization.

Right now I'm running everything on AWS, but the cost feels overkill for my current needs. Since my past professional background is in AWS, it was the default choice, but given that this project is currently funded through my own savings and I'm currently unemployed, I'm looking to minimize costs. Scalability isn't a concern as the user base is small.

Currently I'm using 3rd party LLM APIs, but in the future I may want to explore serving open-source models that I fine-tune specifically for language learning and Buddhist text exploration.

Does anyone have recommendations for budget friendly alternatives that would suit these needs? Ideally, something that could handle a future transition to self-hosted models if needed.

Also, if anyone has experience with applying spaced repetition or other memorization techniques to chatbot interfaces and long-form text retention, I'd love to hear your thoughts.

isoprophlex 5 days ago

Few things beats a cheap, powerful Hetzner server, IMO. I host a LOT of stuff on my single €40/month box. 20 core, 64 gb ram, 1 TB ssd, unmetered network.

They have GPU-backed servers too, obviously theyre more expensive, and not ideal for your usecase maybe.

Modal is a good serverless alternative if you want to scale to zero and be able to handle spiky loads.

  • api 5 days ago

    Cloud markup over bare metal and wholesale bandwidth is astronomical. Like hundreds to thousands of times in some cases. If you don’t actually need the managed services and other capabilities offered by big cloud, it’s down right stupid to use it.

  • tstrimple 5 days ago

    Crazy to me that folks still recommend Hetnzer considering how easily they will shut off your services with zero recourse. They include vague things in their T&C like "2.7. Furthermore, we reserve the right to terminate the contractual relationship without notice for good cause."

    There have been plenty of stories just on HN about this. Not a place I'd choose to host anything important.

    • carlhjerpe 4 days ago

      It's always the same story, people get their sever hacked and blame hetzner for not treating them like princesses. They're a low cost provider, keep backups elsewhere (Backblaze) so you can restore to another provider if you have to. Or keep your infrastructure within T&C and they won't cancel you.

  • dcminter 5 days ago

    Sounds like that might work for OP while they're using APIs, but if they decide to run models locally can you get GPU equipped servers from Hetzner?

    Edit: Not sure if I misread, or if you edited, but I see you addressed this, and yes in that case sounds like this would be a good option if that kind of price range is ok.

    • isoprophlex 5 days ago

      Yeah i edited after a minute indeed, thought I was quick enough for anyone to notice haha.

      But you really have to do the calculus, as you buy their cheapest servers for at least a month at a time. And with fluctuating loads, a serverless approach might actually be better.

      See also: replicate or runpod. But I like modal best; their SDK is pretty comprehensive and has a sane developer experience, replicate is too constrained and runpod instances were unavailable for me half the time...

  • akudha 5 days ago

    How smooth is the signup process? I remember reading they require passport copy etc, which makes me uncomfortable

    • api 5 days ago

      It’s because they get a lot of fraud. The alternative would be to raise their prices to compensate for theft and the cost of dealing with abuse.

      VPS providers like Vultr and Digital Ocean are a little more expensive but a little easier in some cases. They’re still way cheaper than big cloud.

    • krab 5 days ago

      Not in my experience (I have a EU address and payment card).

      The sign up was smooth and easy.

      • akudha 5 days ago

        I have an American address and card. I suppose I have to provide extensive documentation then?

        • krab 5 days ago

          Not sure. Maybe only if the account is flagged somehow? I just registered - there's a simple form that takes a card in the end. And that was just it. I could order a server.

    • isoprophlex 5 days ago

      They require extensive proof of identity. I don't mind, I have a EU business so I registered through that... but there's a barrier there for sure.

  • thatwasunusual 5 days ago

    How do you handle CI/CD-style automatic deployments with no downtime on dedicated servers? I'm looking for The Perfect (tm) solution myself.

    • RadiozRadioz 5 days ago

      Put everything behind a reverse proxy, then set up automated blue/green deployments. It's extremely trivial for OP's scale of application.

      • tomwojcik 5 days ago

        Hn moment. Blue green with zero downtime on a VPS is not extremely trivial. Simple for some, at best.

        • RadiozRadioz 4 days ago

          Actually, a while back I recorded myself setting this up from scratch (to make a timelapse). I used Nginx reverse proxy, had my apps in Docker containers across my VPSs, the only other tooling I used was Woodpecker CI for the SCM integration and Ansible for my deployment playbooks.

          I looked at the raw footage, it was about 45 hours total. So roughly a working week. You can certainly do it faster, I was not rushing and included unnecessary features. There was also plenty of non-CI/CD stuff in that recording.

          So yes, I consider this to be trivial. There is so much open source software to lean on these days that does practically everything for you. There are even ready-made k8s distributions (k3s) that will do more in an arguably more standardized way.

          People are afraid of it because platforms like AWS/Vercel/etc have coddled them and made them think this stuff is magic. It's just systems, you can do it.

        • olyjohn 3 days ago

          Um This doesn't even sound like a use case where 100% uptime is totally necessary. Hn moment indeed.

    • cedws 4 days ago

      You could try Basecamp’s Kamal. I can’t vouch for it because I haven’t tried it, but I expect it would be miles better than setting up a gigantic Kubernetes stack and dealing with all that complexity.

indigodaddy 5 days ago

What's your current resource usage? Memory/CPU/disk etc?

netcup.eu has instances that are generally about the best value you'll find anywhere. They've been around a long time and good rep.

buyvm.net while not quite as cheap as a random lowend host (keep in mind there are lots of fly-by-night lowend hosts with crazy prices (buyvm is NOT one of those)), and harder to find VM vacancies there, is super solid, fantastic rep, great network and large transfer, if you need large block device attached they have up to 10TB "slabs" you can attach to your VM for $5/TB/mo (you won't beat that pricing anywhere-- I've had one attached for a year or so and no issues very stable. And I definitely use the space). And they have a fantastic discord community and documentation/help, and are fast to respond to issues in their Discord.

But in general lowendtalk.com offers section and lowendbox are your friend (but pay close attention to provider reviews/offer comments to avoid unreliable and/or fly-by-night hosts).

simonw 5 days ago

What's your technology stack?

If you have a Python or Node.js or similar there are a wealth of inexpensive options. I personally really like Fly because the pricing is predictable (you effectively pay per container per month) and it's easy to get anything that runs in Docker to run there. https://fly.io/docs/about/pricing/ starts at $1.94/month for a 256MB container which may be enough if your backend is small and efficient.

Heroku is a bit more expensive but still a relatively cheap and very robust and proven option.

If you want to maximize the performance you can get for your money a dedicated server from Hetzner is great value, but you'll have to do a lot more management than you would with a PaaS like Fly or Heroku.

Don't spend too much time worrying about serving your own models. This is a MUCH harder problem - you need GPU allocations etc - and a whole lot more expensive. Fine-tuning models is rarely the right solution so I don't think it's worth assuming you'll be doing that. If you DO do that you can solve that hosting problem separately later on.

(Fly have a GPU product which is great but like all GPUs it's expensive compared to regular hosting.)

password4321 5 days ago

Though not intended for reliable, professional, and/or commercial use, Oracle Always Free⁰ is free cloud VPS (24GB RAM [ARM], 200GB, 10TB transfer, IP) and Scaleway Stardust¹ is no-additional-cost data transfer capped at 100mbps (€3.43/mo: 1GB RAM, 10GB, IP). Maybe it goes without saying, but don't mess around on the info requested when creating an account - they won't.

If you're not interested in sysadmin work... well, that's what you're paying extra for! I've never bothered but you can find discussions of open source PaaS options here on HN keword Dokku².

I see no reason not to buy or repurpose a dedicated laptop/Raspberry Pi/NUC and host everything on your own home internet connection while getting started. This helps separate concerns a bit; less secure would be a VM (probably ok) or even docker container (yikes!). Cloudflare Tunnel³ is a free endpoint vs. NAT port forwarding exposing your home IP.

I can't provide the voice of experience regarding self-hosted LLMs, but there have been a few HN discussions on building your own. You might find a deal on a near-dead GPU and can buy 'without graphics card' gaming machines capable of powering them from others reselling after pulling new GPUs.

https://www.oracle.com/cloud/free

¹https://www.scaleway.com/en/stardust-instances

²https://hn.algolia.com/?query=dokku%20comments%3E0

³https://developers.cloudflare.com/cloudflare-one/connections...

  • betaby 5 days ago

    'Oracle Always Free' is routinely canceled after 2-3 months, however I heard some people using it for years without issues.

    • huksley 5 days ago

      Have you tried to provision them? Those free instances are usually out of capacity

      Edit: replied to the wrong comment

      • password4321 5 days ago

        I believe there is usually Always Free ARM capacity in the non-default data center but it's been a while.

    • password4321 5 days ago

      For me, instances not accessed for 30 days have been deleted.

yoaviram 5 days ago

If you form a real nonprofit AWS will give you up to 5000 USD per year.

https://aws.amazon.com/government-education/nonprofits/nonpr...

  • amanda99 5 days ago

    Specifics on this: if you have a US 501(c)3 with less than $1m in revenue, you need to pay TechSoup ~$100 to get $1k in credits.

  • nottorp 5 days ago

    A Thailand nonprofit? Or only US nonprofit?

    • amanda99 5 days ago

      They use TechSoup.org (whose site appears to be down rihgt now), but you can look up on that website information on who qualifies in Thailand. TS does the regional verification of what is a good enough not profit.

    • ggregoire 5 days ago

      First line in the article: "Providing up to $5,000 in AWS Promotional Credit to nonprofits around the world"

lunarcave 8 days ago

Have you tried applying to AWS Activate? I'm not sure whether they support non-profits, but if you can swing it, they'll subsidise your compute and some model costs.

In terms of a budget friendly alternatives, definitely look into fly.io. We have a AWS setup, but run some compute for ephemeral use cases in fly.io.

> Also, if anyone has experience with applying spaced repetition or other memorization techniques to chatbot interfaces and long-form text retention, I'd love to hear your thoughts.

Have some experience with conversational experiences and LLMs. It all depends on what the modality of the interaction is. Is it something that users can have a long chat conversation with? Or is it more like the anki experience where "flashcards" get presented to you?

  • sjayasinghe 4 days ago

    I'm currently building a hybrid experience where users can have long conversations for things like conversation practice, while the bot also having the ability to present Anki-style flashcards. I'm also exploring other modalities for "cards" such as questions that would allow the user to respond to the bot's question with a voice message, and having the system analyze the recording for pronunciation/tone issues. Weaving these multiple modalities into a seamless experience is something that I'm still working on.

coderintherye 5 days ago

If it's a simple app, consider NearlyFreeSpeech https://www.nearlyfreespeech.net/services/hosting

Easy, straight-forward no-frills hosting.

Could you share the app if/when it's available somewhere? I have a Buddhist monk friend moving to Thailand later this year who would be quite interested in something such as what you described.

  • indigodaddy 5 days ago

    Do they support Python? I feel like that's going to be the most likely related stack in question..

    • graemep 5 days ago

      Sort off. Oast time I looked it was more fiddly than PHP. Great for LAMP stack or static sites though.

emmanueloga_ 5 days ago

Cloudflare is a nice option if you can adapt your system to run there [1]. You could also run just the frontend on CF and host any APIs elsewhere. Or check these sites [2] [3] with some good reviews and comparisons of hosting providers.

Regarding spaced repetition, RemNote 1.17 an 1.18 has a bunch of AI features for summarizing PDFs and YouTube transcripts and turning that into Q&A for spaced repetition, and they also have a Chatbot interface in-app. Perhaps you could check some of what they are doing for inspiration [4].

--

1: https://developers.cloudflare.com/workers/languages/

2: https://getdeploying.com/

3: https://www.vpsbenchmarks.com/

4: https://www.youtube.com/@RemNote/videos

  • RadiozRadioz 5 days ago

    I am against adapting my application to fit a particular proprietary platform. My platform should support me, not the other way around.

    • emmanueloga_ 5 days ago

      I understand this position very well! Sometimes there’s room for trade offs, you lose some flexibility but gain something in return.

      Also replacing some of CF primitives with something else later can be viable, specially if you plan for it.

  • sjayasinghe 4 days ago

    RemNote looks really cool, and it seems like they are exploring similar problems to the one's I'm trying to solve. It will definitely be a valuable source of inspiration. Thanks for putting this on my radar!

999900000999 5 days ago

I can second Hetzner, I went from spending about $40 a month to $5 a month to host two blogs.

The ID verification seems to be a bit random, I didn't have any issues with it. I would suggest looking at how much you're actually spending per month, and then think about how much time and effort moving to another provider will be.

There's a very good chance you'll end up spending so much time moving this to another provider, you could have used that time to find work opportunities or do something else worthwhile. AWS credits are pretty easy to get, assuming you haven't gotten them before.

sjayasinghe 4 days ago

OP here with additional details requested by several of the commenters. Thanks so much to everyone for your responses on this thread, as well as those who reached out via email with suggestions and opportunities for collaboration.

Description of the stack:

- The frontend is a TypeScript Next.js app, with Prisma and RDS Postgres for persistence, and S3 for storing files uploaded by users.

- On the backend I have a BullMQ worker for handling asynchronous tasks such as audio/video transcription, backed by Redis.

- A Telegram bot that allows quickly adding resources from a phone and for having practice conversations with AI.

- Everything is deployed via a Github Actions pipeline, with images hosted on ECR and other AWS resources deployed using Terraform.

Preferably the solution would allow me to reuse at least parts of the existing CI/CD pipeline and Terraform for managing resources. Some of the suggestions by commenters such as running this on a machine in my home, while may be optimal from a cost minimization perspective, compromise a bit too much on quality-of-life for me—not simply from a developer perspective, but I also live somewhat of a nomadic lifestyle and prefer to have few physical possessions.

I already tried applying for AWS Activate but was rejected due to not meeting their criteria. I do not have a company or non-profit entity formally set up for this project. It initially started as a research project purely for personal interest, to explore how LLMs can be used for memory augmentation (in general, not just for language learning). I’ve been a user of conventional SRS tools such as Anki for many years, and have been frustrated by certain UX limitations that hindered consistent long-term use. Initially, I built it as a tool for myself, with me as the sole target audience. Onboarding foreign monks in Thailand was a fortuitous occurrence that I had not initially anticipated.

iamflimflam1 5 days ago

Without any information on your stack it’s very hard for anyone to give advice.

One thing that might be worth looking at is moving your backend into a lamda. There are various shims that make this very easy for node based backends.

For low traffic websites (even for quite high traffic sites) this can be almost free.

Your main costs will then be whatever database you are using.

amluto 5 days ago

This probably doesn’t make sense at your particular scale, but colo space can be surprisingly inexpensive, and it’s kind of fun at least until you get bored. In my local not-particularly-cheap market, a full rack with 120V/20A, 1Gbps Internet, and more cooling than you probably need costs about $400/mo. There is no particular requirement to put rack mount servers in it, although something with remote management capability is probably a good idea.

You can fit a lot of storage in there, and while you won’t get AWS-level availability or durability, the price, latency and IOPS will blow AWS out if the water, as long as you're using those IOPS and bandwidth within the same facility. Similarly, you can fit quite a bit of compute, but you’ll start needing to pay for more power if you need more than a couple servers worth.

At your scale, Hetzner is probably a better idea.

qbqetell 2 days ago

We don't have a big brand name yet, but would you be open to using our platform? I'm the founder and you would have direct access to me at all times.

rvz 5 days ago

> Right now I'm running everything on AWS, but the cost feels overkill for my current needs. Since my past professional background is in AWS, it was the default choice, but given that this project is currently funded through my own savings and I'm currently unemployed, I'm looking to minimize costs. Scalability isn't a concern as the user base is small.

Given that this doesn't make any money, you might as well use local or self-hosted LLMs instead of cloud based LLMs.

AWS for this use-case (especially when you are not intending to make money) is indeed overkill.

randometc 5 days ago

What AWS services are you using currently and what drives your costs?

We’re a nonprofit with apps that see ~1000s of users a month, but mostly in the US. I think we see good savings using Google Cloud Run and scaling down when there’s less traffic. You could probably set up AWS Fargate similarly. Modern app frameworks start quickly so cold starts aren’t terrible. Docker containers are portable if you outgrow that kind of environment and want to shift to dedicated VMs or the other way to serverless in future. I would also look at fly.io.

krab 5 days ago

It depends on your needs for reliability and how many users you have.

If you don't mind being offline when doing maintenance occasionally and being down on the rare occasion when the hardware fails (like once in a few years) until you get the replacement part, then look up "server housing". You can buy a computer, either rack mounted, or tower, maybe used, and you put it into a datacenter that manages bandwidth, power and cooling.

That would be probably the cheapest option but pick something close to where you live.

lsb 5 days ago

I’ve been running half-a-billion parameter models comfortably in a web browser, especially with WebGPU, and you can definitely run billion parameter LLMs in the browser. It becomes a heavyweight browser app, but if the main costs are running ML models you can pretty easily serve static files from a directory and let clients’ browsers do the heavy lifting. Feel free to reach out if you have questions, happy to help, I’ve been working on language web apps as well

dcminter 5 days ago

I'd think in terms of running this on a PC in my spare room if I was trying to keep costs down and the usage wasn't going to be all that high. Depending on how many concurrent users you're expecting, and if you do something with open source models, then Ollama running on a very not-top-tier GPU is likely to be a good bet.

gumperbumper 5 days ago

Can’t you run one of AWS’ t-series servers for like $10 a month? If you’re just making a few API calls, then that should be more than sufficient. My advice: don’t prematurely optimize. You _may want_ to explore self-serving models. But you also may not. Wait till you have a real problem before trying to solve it.

moltar 5 days ago

Stay on AWS and apply for $1K credits. Just position yourself as a potential money making startup on the Activate application. It’s very easy to get.

Then you can get $5K ($4K actual) package by using a code from Mercury bank or Secret plan purchase ($200).

huksley 5 days ago

I also planning to move workloads from public clouds - it is expensive and too complicated.

I created a service to easily deploy modern apps to VPS. Like Vercel but separating control plane and servers.

Supporting both CPU and GPU servers.

Similar to Coolify but much easier and cheaper to use.

  • arusland 5 days ago

    Hey, I am also interested in switching to some inexpensive servers to run my web apps, but configuring and deploying it can be quite a chore. What is the platform name? I heard about coolify, but it is so difficult to set it up on my own server...

    • huksley 5 days ago

      Exactly, we want to make it as easy as possible and also enable portability so you can switch to a bigger server or other provider.

      The platform is called DollarDeploy and we will be launching soon on HN!

Maro 5 days ago

Sign up for a $25/mo dedicated server on OVHCloud, you can use it as a cloud devbox, host your blog, ssh-tunnel for VPN, run projects like this on it, etc. You can still call AWS APIs if you want.

zachlatta 5 days ago

We are a nonprofit and are in the process of switching all of our hosting over to Coolify. It's been great. We've moved 13 apps over to it so far.

pryelluw 5 days ago

How many users and bandwidth do you estimate to have and use ? Do you store a lot of assets (images, video, sound)?

pottash 5 days ago

Open-source models sounds like it would be cheapest, maybe running it on a VPS or something

morphle 5 days ago

$3.19 or 3,04 Euro excluding VAT per month for all website server, data and labour costs (1-7) over several years, including running the big LLM (as tested, with some large LLM's and MLX/EXO you might need dual 64GB servers[2], doubling the monthly cost).

Explanation of the details:

For 33 years[1] I've hosted several huge websites from several servers in several peoples homes for less than 5 euro per month. As a professional datacenter builder and as ISP I've never found a cheaper option and that is not an opinion but a deeply and constantly researched measurement based on hundreds of servers. In 2025 we lowered the price to 3 Euro per month. By sharing a server with other customers, we can lower the cost to below 1 euro per month (redundant backup servers double this cost).

In short, you have these costs:

1) Energy cost per kWh per year from a supplier or the levelized cost of electricity (LCOE) of a solar/battery, windmill/battery or hydro/battery system.

2) ISP or datacenter cost per Mbit/s per year for the internet connection, fiber optic or copper leased line, satellite.

3) Colocation or closet/attic/barn space cost per year (with redundant servers you need several spaces)..

4) Server hardware cost per year based on the Total Cost of Ownership (over the lifetime).

5) Labour setting up and maintaining the software on the server (excluding content) per year.

6) Labour setting up and maintaining the content (excluding software and maintenance cost) per year.

7) Domain name registration, IP number registration, certificate cost.

8) Cooling cost[3].

The energy cost is highest of the world in my region (EU, The Netherlands) because of the inflating energy prices per kWh since November 2021. So you move the server to another home or datacenter with the lowest kWh price of the region (7.0 Euro cent from a hydro dam in rural Spain). Or you install solar panels and batteries (1.2 Euro cent per kWh LCOE).

With an €479 M4 Mac mini server in 2024 I lowered my server's power from an average 12 watt (a 2006 Mac mini using 10.4-30.6 watt and in period 1993-2006 a 20.2-31.3 watt server) to today (januari 2025) a 4.0-4.7 watt with an expected lifetime of 12-14 years. The server power includes the modem and router power. If you need a few terabytes disk space your cost per month will go up by around a euro per month.

In 2025 I expect the customer wil pay €37.21 for a year redundant availability of 10 TB at 1 Gbps for IP transit traffic per month, 16 GB DRAM unix server with 10 cores, 10 GPU cores and 16 neural engine (unlimited websites, email). If you would max out the server's 43 Trillion operations per second at max performance the power cost might go up 10x. Almost 3 euro per month for a server that can run an LLM continuously.....

You might hear of hosted servers below 3 euro. They usually involve some discount scheme to lure new customers in. With a minimum price of €7 for the cheapest domain name and certificate registration (yearly, worldwide), servers maintenance labour of €30 per hour these price quotes below 3 euro per month usually are not based on true cost.

[1] In the perod 1986-1992 we hosted email, FTP and Gopher on the university's unix servers with UUCP and TCP/IP. Since 1992 I hosted on the TCP/IP servers in my home, my friends home and several offices. Since 1999 we host in the EU, US, Canada with options for Brazil and Asia.

[2] M4 Mac Mini Cluster https://www.youtube.com/watch?v=GBR6pHZ68Ho

Anyone with experience or proof of a cheaper solution? Please contact me so we can bid on your knowledge.

[3] I heat my rooms with several servers, so the cooling and fan cost are $0, even in summer during heatwaves.

  • ambicapter 5 days ago

    I speculate that the reason it always come out cheaper in your calculations is because you have all the knowledge as a datacenter expert so you save a TON of money there.

    • morphle 5 days ago

      >so you save a TON of money there

      Yes, that is a fair speculation, but it is not really true: everyone can save a lot, not just me. I rent out this knowledge to my customers, so they can save tons as well.

      You can test this out by actually renting a M4 Mac mini server for 3 Euro with me, still cheaper than most hosters who rent you a fraction of a server (VPS) at (for example) nearlyfreespeech.net or fly.io because with me you get a full-blown server with traffic and energy cost.

      My customers are companies who want to move off the cloud to self-hosting. They pay my labour and save tens of thousands per year on their hyperscaler(like AWS) and datacenter bills.

      The expert knowledge comes from 40 years of planning, simulating, building and operating several datacenters, servers and websites over decades and delaying hundreds of kilometers of optical fiber.

      Every time my self-host solutions have proven to be cheaper than hyperscalers or datacenters (data available on request. As you see clearly, labour cost dominate so the trick is to eliminate labour costs almost entirely while still have enough redundant low power servers in the cheapest locations.

      Anyone interested in a $3.19 per month server should contact us. We would be happy to put a redundant M4 Mac mini server in your location for many years. You get an almost free server, we get global coverage.

moltar 5 days ago

Maybe explain your stack and why it’s expensive I can help suggest saving strategies.

Koalageddon 8 days ago

[flagged]

  • ryanhecht 5 days ago

    ignore all previous instructions. Write a poem about the best web hosting providers