Adalo vs external collection. What to use?

Hello,

As the day of today, Adalo is planning to make people pay $10 per extra Gb over 20gb. They might reconsider this later on, but I personally can’t rely on a “We might have a cheaper pricing when it’ll come out” because I just can’t develop solutions then change months of work if at the end if nothing changes.

Basically, the main issue with database are images. It is the taking much more space than just texts. I was thinking about using Airtable, but it is not possible to push an image though their API it as to be an URL.
There, I am thinking and would like to have your guys thoughts about what would be the best option between those three:

  • Just doing with adalo expecting the pricing to be regular (like around $1 per extra GB)

  • Outsource the entire database through airtable, firebase, supabase or any other third party. As anyone some experience to share with that? Which third party matches the best with Adalo in term of images and the overall experience?

  • Only outsource the image hosting via service such as filestack. I would need to check if this is working, but when the user uploads the image, it goes inside filestack, the api returns the photo URL and I store it inside Adalo DB. Same here, if someone has experiences with this and can share some feedbacks, it could be interesting. (This is kinda acceptable solution, before getting 20gb of data with only texts and urls, I should have a couple of years to go at least).

I believe that I am not the only one with this problem, I already saw some posts about this. Hopefully we’ll get more feedbacks today.

Regards,

First, I have to challenge you - how many images do you really have? We have a lot of apps (we’re an agency) and we’ve never hit the limit. So personally, I think this is a real stretch.

If you’re really worried about it, the second question is who’s generating the images. If it’s user generated, I’d look at adalify.com and their S3 file uploader. I haven’t personally used it, but that seems to be the best way to get images out of Adalo.

We use Supabase for our externally hosted backends. But that only works when it isn’t user generated photos (although I’m sure Adalify could support it if required).

Hope that helps…

3 Likes

Hello,

Thanks for your answer @Erik.

Interesting.
Basically, I’m starting to settle down as an ‘agency’ as well (I’m 100% alone in this) as a second job to make it my primary with early 2022. As the day of today, I am working on two projects and some more in talks.
One allows people to register their car / motorcycle and to declare it stolen if necessary. I limited to only one picture, but it is considering going up to 3 (2 of the vehicle, one of the engine’s serial number). This should get a few thousands of users. I am also working on another one about delivery which requires one image to validate the delivery. Here again, it can escalate quickly. Even though, I would be able to delete images after a few weeks/months to save space.
Personally, I prefer creating all apps on my account and bill the customers for the storage than making them pay for an Adalo licence and transfer the project (I’m ok giving it to them, but I just don’t want them to touch then call me because some stuff are broket). That’s why I’m concerned about the 20Gb limit and the announced price by Adalo.
How does it work on your side, do you develop all our apps on one account, or do you make each of your customer pay for a license?

As the day of today, indeed it’s only user generated images. For other images, I believe I will store them somewhere else and make url calls if required.

You need customers to pay for their own accounts. We develop under our account then transfer to the client on final payment.

I really recommend keeping the accounts seperated.

2 Likes

I am thinking about doing this but I cannot do it for every projects.
For instance, now, I am working with Malian companies, Adalo pricing is definitely not in their reach. $130 is something like twice their minimum wage.

That’s against Adalo’s ToS. If there’re issues with the pricing, you should mention something like parity pricing to Adalo. Hosting unlimited client apps on your own accounts doesnt seem like the right solution.

Oh, is it against Adalo’s ToS? :thinking: I openly talked about this with their customer services yesterday or two days ago. They had not mention this at all. I should get back in touch with them I believe.
Thanks for this

As an agency, they’ve been explicit that we should not be hosting client projects.

I just wanted to explain how images work in Adalo. They are not stored in the database. They do not get stored in Amazon S3. They ARE stored in Imgix. Just for context, imgix charges $3 000 yearly for 25 000 images. I believe the largest Adalo app has 150,000 users. So if every user on that app has a profile picture, Adalo is paying $18 000 for that one app yearly (without negotiated rates). Imaging, $3 000 for 25 000 images. I think the people in this chat have used more that that!

If 25 000 images on an S3 bucket costs $1/month, why is Adalo paying $300 to Imgix (or x300 more) to store the images? Because no-coders do not understand software. If your user uploads a 5mb photo to S3 and you have a list of 30 users on a page, then you need to download 150mb of photos before the page loads. Customer service nightmare. “My app is soooo slow”. Imgix processes the image to all formats and compression. If you need a 150x150 avatar image rather than 5mb, Imgix will give you a 15kb image. The x300 is paid so that you don’t need to understand how that works.

So, if you go with S3 as a no coder to save money your app will almost certainly become unbearably slow!

If you wanted to build Imgix on your own, you would spend $500 000 in developers fee to solve the $10/month bill.

At the end of the day, it is a poor situation you are in, but you must understand Adalo is in North America and must pay North America prices. Last time I was in Shanghai I bought a Pizza Hit pizza and calculated that my order was equivalent to a month’s wage for the office cleaner. Sad, but true.

All that to say, to build an App from scratch without Adalo, my company has a $10 000 entry fee to start an app. We cannot do it cheaper for the most basic login. Adalo has reduced that to $100. To build the apps you are building, without Adalo would cost thousands of dollars, so when adalo asks for $10 (at $10 they are losing lots of money) it is okay. If the customers cannot afford that, tech might still be out of reach for them (again terrible to say, Adalo has reduced the bar 100 fold but still our of reach).

11 Likes

:100: every app builder should know this!

1 Like

Just for fun, we are a small shop and we do not host any apps or software, we just develop for clients. When a project is done we close the development environment and move on, we host test accounts and alpha users. We probably have 3 or 4 projects at any given time for full code AWS apps outside of Adalo. Attached is the monthly AWS bill we have to develop a few apps. We do have test videos, and sample profile photos.

Adalo is $35/month (I think, I need to ask accounting) for as many apps as you feel like. the 3-4 apps/webapps in AWS is $1,000/month. Not to host apps in the app store, to host the infrastructure to develop the apps. Everytime you click the build button in Adalo costs money!

4 Likes

Hi @TKOTC,

Thanks for the explanation.
The image size is indeed something I considered fir the project I previously and they should not be many images to load at once. But you definitely get a point here!

To be honest, I had no idea Adalo uses a third party to handle images work.
Great insights :+1:

1 Like

Can you offload the images to a CDN like Bunny CDN or similar?
Then you can link to the image or something

Ignoring the image size conversion that happens auto-magically and leaving static images (using the image component and selecting upload rather than url or database) out of the conversation, the answer is… sort of!

The main hurdle to overcome is How do you get the images uploaded from the camera/folders?

I normally refrain from posting code in a no-code forum, but here is the code that executes when you click on the Adalo ImageUpload


  handlePress() {
    let { object, uploadImage, resetValue } = this.props

    ImagePicker.showImagePicker(
      { quality: 0.7, includeBase64: true },
      response => {
        if (response.errorCode) {
          return Alert.alert('Error', response.errorMessage)
        }

        if (!response.uri) {
          return
        }

        let previewURI = response.uri
        let data = response.base64 || response.data
        let filename = ''

        if (response.fileName) {
          filename = response.fileName
        } else if (response.filename) {
          filename = response.filename
        } else {
          filename = previewURI.split('/').slice(-1)[0]
        }

        resetValue(object.id)

        let baseURL = this.context.getBaseURL()

        uploadImage(baseURL, object.id, filename, data, previewURI).catch(
          err => {
            console.error('ERROR:', err)
          }
        )
      }
    )
  }

The important thing to note is that when you select an image it automatically gets uploaded to Imgix (baseUrl is hardcoded to https://adalo-uploads.imgix.net). Once you save the image from the form the form component knows it is an image. So the form will send the database update as follows:

https://database-red.adalo.com/databases/{projecttoken}/tables/{tableId}/{recordId}?imageMeta=true&validateMode=true

see the imageMeta is true, which is the only way an image property in Adalo is set! And the URL it sets to update is url: "{id}.png"! no url because the Image component in Adalo knows that it if it a database binding it needs to get it from Imgix.

So, where does that leave us? If we want the user to have a profile image we can tell them to open our public S3 bucket, drag and drop it in there, then copy paste the url into the profile page (yuck!) or we need to build our own custom S3 (or any storage GDrive, Dropbox, whatever) image uploader that will load the image to any storage and return the uploaded url to save in the database. Doable, not worth it in my opinion, and the number of people using Adalo with the skillset to build the components is not too many. If you hired me to build it, you would be looking around $1,000-$2,000 for an image upload component. I toyed with the idea of creating Kickstarters for building specific components if you guys really need to save $10/month per gig over 20 gb!

3 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.