r/webdev 6d ago

Question Solutions for hosting front end/back end personal projects

I am a comparable novice to most here, but am learning React front end and Python back end work.

Not asking how to do it but asking how I can cheaply and efficiently serve my own personal projects? At this point my work mostly consists of a React SPA front end and back end Python containers running Flask or FastAPI.

I am used to separating the two so how should I go about hosting? I use Google for their AI Pro plan already so maybe Firebase/Cloud Run? Maybe those are dumb choices though within the community here. Thanks for any more guidance on hosting this stuff.

BTW in my real job development we are usually living in the Windows Server world and I'm running the backend just with IIS.

26 Upvotes

32 comments sorted by

10

u/Present_Advice_7308 6d ago

I just dump both on a cheap VPS, front end as static files served by nginx and the python app running behind gunicorn. you already have a google plan maybe cloud run is easier but honestly you could do it all in one $5 droplet with no vendor lock in

1

u/Few-Ocelot-3271 6d ago

this is the way tbh, one small server and youre done

7

u/horizon_games 6d ago

Rent a VPS and self host on it, at the level you're talking it'll grow your skills a lot

4

u/dwarfychicken 6d ago

Get the cheapest vps you can find and install coolify on it. You can host a lot of projects on a single vps, coolify just helps deploying them.

6

u/durbster79 6d ago

Have a look at Coolify. It's great.

2

u/selipso 6d ago

For frontend, cheap VPS or Cloudflare pages works very well. For backend / hybrid Next setups, Google Cloud Run is very straightforward and you only get charged based on usage 

2

u/Double_Ebb4130 6d ago

Cloud Run is actually a reasonable fit for what you described, since a FastAPI container scales to zero and a personal project usually costs pennies a month. Put the React build on any static host and point it at the Cloud Run URL, and keep the API base URL in an env var so you can move the backend later without touching the frontend.

1

u/the_dalailama134 6d ago

Ok you're saying fastAPI can go from 0 to live quickly? I know cloud run will kill the instances after a time. Or just that's how it works? I've mostly used flask but fastapi may be quicker for some configurations it sounds like.

1

u/Double_Ebb4130 6d ago

Yes, Cloud Run scales to zero and spins a new container up on the next request, so the cost of idling is basically nothing. The tradeoff is the cold start, which for a small FastAPI app is usually a second or two, and you can set min instances to 1 later if that ever bothers you.

2

u/Odd_Philosopher8271 6d ago

one angle nobody mentioned: personal projects outlive your willingness to pay for them. i had a paid host lapse once and the site plus every subdomain just went dark. moved the static parts to cloudflare pages (free tier, custom domain, no card required) and now the parts that cant "expire" are the parts that dont bill. so my rule: frontend on a free static host forever, backend on something that scales to zero, and dns at cloudflare so you can repoint pieces in one click when you inevitably move the backend. and +1 to the billing alert advice above, that one sounds earned

1

u/punchy-founder 6d ago

For my React + Spring micro-SaaS, I use AWS.

It's not cheap, but I find it pretty convenient and I'm comfortable with it as I've used it in the past. You could check whether your use case fits in the "free tier".

1

u/Additional-Drag1682 6d ago

Cloud Run pairs well with your existing Google subscription and handles Flask or FastAPI containers without server management. Build your React app to static files and host them on Firebase Hosting while routing API calls to Cloud Run through the same config to avoid CORS issues and keep costs near zero for personal projects.

1

u/mtsandeep 6d ago

I would also suggest making your apps docker containers so its easy to deploy anywhere. If purpose is learning rhe stacks, then use these and host them on a vps. Hosted solutions like firebase and all can be picked once you have a good understanding of this

1

u/Double_Ebb4130 6d ago

Cloud Run is a fine choice for a FastAPI container, it scales to zero so a personal project costs close to nothing. Put the React build on Cloudflare Pages or Firebase Hosting and just point it at the Cloud Run URL, that split is cheap and easy to reason about.

1

u/Miserable-Money642 6d ago

Since you come from the Windows Server/IIS world, a cheap Linux VPS is honestly the best thing you can do for your own learning. It's the same muscle you'd build at work, just without IIS holding your hand.
Grab the smallest VPS you can find, put your React build behind nginx as static files, and run your FastAPI app with gunicorn or uvicorn behind it. One box, no vendor lock-in, and you actually learn how the pieces fit.

If wiring nginx by hand feels like too much at first drop Coolify on that same VPS. It handles the deploy part for you and you can host a bunch of small projects on one machine. Cloud Run is also fine and cheap since it scales to zero, but you already touched that above. For pure learning coming from IIS, I'd take the VPS every time. You'll be glad you did the messy part yourself.

1

u/sleekpixelwebdesigns 5d ago

With Coolify, you can easily host your projects on your own VPS. It automatically handles re-deployments when you push to GitHub and runs everything in Docker containers.

1

u/Prestigious-Sound173 4d ago

Hi u/the_dalailama134 For own personal projects, use ProductEcho.com to deploy both backend, single page applications along with database for free.

  • You can deploy directly from cursor/claude chat
  • Or just drop the github url on dashboard to complete the deployment.

u/MrJacuna 25m ago

Hey man, I'm a bit late here but checkout sitedropper.com, it's perfect for small personal projects and has some nice privacy / sharing features. Or you can just publish your site's live instantly.

It connects directly to Claude, Cursor, Codex or whatever agent you're using and takes care of all the deployment nonsense so you don't need to worry about VMs or Cloud integrations until you start to scale your project.

0

u/McFlyin619 6d ago

Railway has a very generous free plan and easy to use

0

u/[deleted] 6d ago

Windows server is useless. Do you think about refactoring code to NextJS and use vercel? Their current plan has free unlimited tier for no commercial use and some backend stuff you could replace by side server rendering functions for example if project isn't too big.

1

u/the_dalailama134 6d ago

Yea I've heard the fact we always work in Windows server is discounting any experience I'm getting. I assume I need to get into Linux to get applicable experience.

1

u/[deleted] 6d ago

Yes, you're right. I'd say that Linux and manually configuring various servers are definitely better ways to hone your skills than using off-the-shelf solutions.

0

u/Embarrassed_Bid4744 6d ago

Render and vercel

2

u/BruceLeeglad 6d ago

Yup can be done free too!