Good morning, everyone! I'm working on a web application for my town's local council to create an online archive of historical photographs. The project is small and strictly for cultural and touristic purposes. From what I know, the council will only have one admin account for uploading images, and I'm estimating around 200 to 500 images to showcase. I've selected a tech stack but I'd appreciate your thoughts on whether it's the best fit, given the project's limited budget and specific requirements.
**The stack I'm considering includes:**
- **Frontend:** React with Tailwind for styling (I'm familiar with both).
- **Hosting:** Cloudflare Pages and Cloudflare Workers.
- **Database:** Supabase's free tier for photo metadata storage.
- **Storage:** Supabase Storage for the images.
- **Domain:** Managed through Cloudflare.
**Key Features Needed:**
- A public website to display photos along with descriptions, names, and map locations.
- An admin panel for uploading images.
- Automatic QR code generation for each image linked to its information page that will be placed at the physical location of the photos.
I'm looking to keep costs low without sacrificing reliability, so I'm curious if: 1) this tech stack fits the project? 2) Supabase's free tier will handle the storage and database needs? 3) Cloudflare pages will work well with Supabase? 4) Any other low-cost alternatives exist that could improve this setup? Any insights or experiences would be greatly appreciated!
5 Answers
I totally understand your intention to create a permanent archive. Have you thought about using a service like Internet Archive as a backend? It could be a fantastic way to store and manage historic content long-term, though I wonder about how well it could handle detailed metadata for your photos.
Why go with React? If you're focusing on simplicity, a static site built with a static site generator (SSG) might be all you need. Cloudflare Pages is great for this! You could store image URLs in your database instead of the images themselves, allowing for better performance. Plus, you might want to consider implementing a simple captcha to manage the expected traffic, as bots can skew your numbers.
Good point! I like the idea of keeping it straightforward and manageable.
Your stack seems pretty solid for the scale you're aiming for. One suggestion: consider using UploadThing just for image storage and keep Supabase for the database—that could simplify things. For your third question, combining Cloudflare Pages with Supabase shouldn't cause issues if you set the environment variables correctly. Overall, you shouldn't have major hitches with that setup!
Thanks for the tip! I hadn't heard of UploadThing before, but I'll definitely check it out.
This project sounds delightful! Personally, I'd recommend using the Sanity.io free tier for your backend. It's really user-friendly for content management and could streamline the updates on images and metadata for your admin. It also serves as a CDN for your photos, which helps reduce points of failure.
I appreciate the suggestion! I'm not too familiar with Sanity.io, so I'll have to take a closer look.
You might want to consider self-hosting everything on a cheap VPS if budget is a priority. A DigitalOcean server is only about $5 a month. With self-hosting, you have more control and flexibility. Plus, you can install a CMS for content management, run a Postgres database, and everything else you need. This way, you avoid relying on free-tier limits which can be uncertain over time.
That sounds like a really efficient approach! I'll look deeper into the self-hosting options.

This is an interesting suggestion! I'll have to read up on how that could integrate with my project.