Have you used Anvil for large projects?

Hello Anvillistas,

I have played for a while with Anvil and I’m happy about the all included package. It allows to create small apps very quickly. I have the feeling that most regulars in this forum are in the same position: all using Anvil for small projects.

Right now I’m ready to start rewriting an old app that I made with CherryPy. It is not huge, but it will very likely evolve and grow to a size that could be not manageable with Anvil. It is for internal use in my company. It will never be the next Facebook or Dropbox, just a few hundreds users and a continuous interaction with documents stored in our network drives (we will eventually completely go to the cloud, but that’s farther in the future).

I am tempted to switch to Anvil because it will be easier to manage the UI, the server, the database, the user services, and all the goodies that come with it.

I am skeptic because I will still need an uplink server to create thumbnails and to upload documents.

I am scared because Anvil limited database capabilities may force me to add more and more features to the uplink server and I will end up doing the work twice, once in the uplink server and once in the Anvil app.

So, my question for experienced Anvil users is: what are the pros and the cons of using Anvil for large projects?

Very likely if you have tried Anvil with a large app and you are not happy you are not reading this, but I’m still interested on your (biased) opinion.

Thanks,
Stefano

1 Like

Hi Stefano,

depends what you mean by big. I have a live application (private, unfortunately, so I can’t show it) that shows telecoms stats. It reads from a MySQL database that injects approx. 1 million records an hour. That’s pretty big and important, but probably only about 12 screens.

I know though that you are talking about application size :slight_smile:

My flagship product will be in Anvil, which is again a telecoms management system handling stats, number allocation & routing, service (IVR) writing, invoicing (linking into www.kashflow.co.uk via their API), live call tracing and various other bells and whistles. It’s 3/4 finished, largely due to changing specs., market demands and regulatory curve-balls.

As I offload nearly all my DB work externally, I don’t really have any comment on the performance of the built in Data Tables. I love the idea, but I already have 30+ servers and a few DB clusters so the uplink and external DB setup suits me.

I will be using it for several up and coming projects (including an internet & mobile billing aggregation system) because it’s handled everything so far.

Pros :
Very, very fast for the UI.
One language (mostly) front end and back.
I love the balance between magic and your own code.

Cons-ish:
The IDE needs some extra features (be sure to upvote my FRs :slight_smile: ) such as some way to organise large numbers of forms and modules.

Neither pro nor con, just unknown :
Unknown performance with hundreds of customers all using it at once.
Unknown thresholds for when servers will need to be upgraded (connected users, load, etc.)

That’s all I can think of at the moment.

EDIT -
on rereading the above, I just wanted to add that none of the cons or unknowns are concerns that are stopping me from committing almost totally to Anvil for my app dev. But no system is perfect. It’s just that, in my opinion, Anvil is by an order of magnitude less not-perfect than all the alternatives :slight_smile: Plus I can change the specs. of an app myself rather than paying a contractor to correct my mistakes…

One of the early startups to build with Anvil is Lightning AI. They manage $25,000,000 of advertising spend on FB etc. on behalf of their clients, if their homepage is to be believed (I have no reason to doubt it):
https://lightningai.com/

I’m a freelancer and I’ve recently created an app for one of my customers to handle their entire customer/credit application process. It doesn’t handle huge volumes of data, but it’s vital to their business, sits publicly on their website and is the first thing potential new customers see when interacting with the company.

Building it was a breeze - the company had virtually no existing infrastructure for developing or hosting this kind of app and I was able to get them up and running in no time at all.

I’ve now recommended Anvil for a second client in the financial sector who want a system handle all their analytical data and replace their myriad spreadsheets. Again, they have little or no existing infrastructure, no experience in managing that kind of kit and Anvil allows them to get started quickly on what really matters to them.

1 Like

That’s awesome! How do you backup your data? How do you reliably test before production? How do you allow robots to crawl urls they need to where they give better results to server rendered html / css?

Thanks :slight_smile:

Well, all data is on an external Galera cluster so I have standard db backups running. I know that’s not related to Anvil but I already had my data.

Interesting. I have a dummy “real” database. It’s an old client from a while back who didn’t mind me using their data in this way. I test my dev “branch” that way, then I clone the app to make it live for a client. My multi-tenant system is to have a wrapper app that loads dependencies for the functionality. Each tenant is a clone and I modify/customise there.

I don’t. I use Anvil only for the application, not for any searchable pages. You only have access to these pages when you sign up, the sales page is standard html and is what appears in search engines.