14 ms·
Show HN: Avo – Build Ruby on Rails apps faster
- adrianthedev 4y agoHey HN, I'm Adrian, an indie developer and creator of Avo. For more than ten years, I built countless admin panels and back-offices for all types of apps. After a while, you start to notice patterns and extract functionality away to make the job easier. I took those patterns and applied them to Avo. Now, in just an hour, a developer can build production-ready applications that with traditional coding techniques take a few days, if not weeks. Avo is suited to agencies that build a lot of products for their clients and need to move fast and have a beautiful and robust UI, indie developers trying to test out their ideas fast, technical teams in companies of all sizes that need to build internal tools based on Ruby, and start-ups. Avo runs on top of Ruby on Rails, which is a powerhouse of a framework and uses the most modern tech stack (Hotwire, TailwindCSS, esbuild). Avo has three main parts that you can choose from: 1. The CRUD UI 2. The Dashboards UI 3. The custom content The CRUD UI is not something generated that takes maintenance in the long run. Instead, it's a familiar Ruby DSL that's easy to extend with Rails code if you need to break away from it. It features about 30 fields with more advanced ones like (one-liner) file uploads, WYSIWYG, and key-value fields. The Dashboards are a light layer on top of chartkick where one can query the data from the DB or an endpoint and quickly show the data in metrics, charts, or custom partials. The Custom Content part is the secret sauce of Avo. It enables the developer to extend it even further using regular Rails code. You get access to partials, controller, action, params, and anything else you need to bring your own logic into the UI on every level (field, resource, tool). Avo has a free Community version that features the powerful CRUD UI, and a paid Pro version for those who need more power and custom content. We also provide technical support for enterprise-like customers. I know that Rails devs will immediately think of Active Admin, administrate, and other similar projects, and I want to mention that Avo is not them. It's built on a modern stack, and its mission is to become the back-office app and not just an "obscure admin panel that only the core team visits". I don't want to seem harsh, but I challenge non-believers to give Avo an hour of their time to see how it's different. TBH, I believe Avo is the secret weapon in any developer's toolbox. I'm here to answer all of your questions. Thank you
- latsnoopy 4y agoHi! Is it possible to have multi language support? (translations of records, think globalize)
- adrianthedev 4y agoThe UI is fully translatable and you can hook into the localization system and have multilingual content too. https://docs.avohq.io/2.0/recipes/multilingual-content.html https://docs.avohq.io/2.0/recipes/multilingual-content.html
- picardo 4y agoWhy did you call it Avo? I'm curious because I know of at least 4 SaaS companies called Avo.
- adrianthedev 4y agoThe original name was project Avocado, but I didn't find any good domain names and social media handles. I agree the naming could have been better.
- 0des 4y agoI like it. Its better than naming it something with "rails" embedded like "trailsblazer".
- projektfu 4y agoAdd an accent and you get grandparent (avó)
- adrianthedev 4y agoI have a hard time with english (mostly US) speaking people that pronounce it "aivo". It's actually like "avocado" "avo".
- danneciu 4y agoAmazing! Keep up to good job Adrian! Really like the features you ship every week.
- adrianthedev 4y agoThanks Dan! I appreciate the support and the kind words
- martibravo 4y agoThis looks so good... I've been always using Node, Deno or .NET Core for backend infrastructure, but Avo makes me wanna learn Ruby and RoR and make the jump for client-related work. Congrats!
- adrianthedev 4y agoIt's not that difficult. Really. I have a developer friend that comes from Node.JS world and is amazed how quickly he can build apps with Rails. I'd love talk to you if you ever want to try it out.
- pantulis 4y agoThis delivers quite a lot of value in terms of developer time... pricing seems incredibily low!
- adrianthedev 4y agoThank you for the compliment. Yes, I agree the pricing is quite low. I launched this pricing scheme in March and since then I added a ton of features that, IMHO, have increased Avo's productivity 2x. I haven't updated the pricing yet, but I'll probably do it soon. I also spoke with other indie developers and they agree that the pricing is quite low. Thank you for the feedback!
- mgkimsal 4y agoThe pricing may be 'low', but you may help foster a larger 'avo' ecosystem if more people are using it (AKA, keeping the price lower). What was/is attractive about Nova and Filament in the PHP world is that both have moderate ecosystems of packages (free and paid) which extend out the base admin system in niche ways. "avo" might be really good on its own - coupled with dozens of custom add-ons that demonstrate a community of people building their own solutions on top would propel this even farther (imo).
- adrianthedev 4y agoTell me about it! Yeah, that's my vision too. To create the plugin system and enable developers to hook into that ecosystem and earn money.
- Simpliplant 4y agoWe've been using Avo on my latest side project (https://aoe4world.com https://aoe4world.com) and it has been great experience and Avo saved us a lot of time that we would otherwise spend on building admin interface. Highly recommended it.
- adrianthedev 4y agoThank you for the kind words. I appreciate it!
- mberning 4y agoLooks incredible. Seems like it is really tailored to small -medium sized apps or devs doing client work. How do you deal with objections around scaling out and lock in? I am loving the renaissance of “boring” tech stacks.
- adrianthedev 4y agoIt's Rails code under the hood. We do a little bit meta-programming but try to keep things as basic as possible exactly for this reason so we don't get in the way of the parent app. We mitigated the "tiny stupid" mistakes like n+1 with dedicated includes option. The front-end is powered by Hotwire so a very small JS bundle. We have a few customers that are running medium-to-large applications with Avo and they are quite happy with the results. I do admit they have started to do a bit of "magic" to support their use cases, but we're in contact with them and actively extracting things to make the developer experience better and support more use-cases. One example is the tabs and panels features that we're preparing to release next. Yup. Boring is good. It just works!
- canadiantim 4y agoLooks awesome. I'm a bit jealous Rails has this resource coming from the Django world (although I know django admin also great but has its limitations)
- boxed 4y agoLook into iommi (https://docs.iommi.rocks https://docs.iommi.rocks). It does similar things imo. Disclaimer: I'm one of the authors of iommi.
- canadiantim 4y agoThis looks amazing. I'll definitely be taking it for a spin; looks very full-featured. Might take me a bit to fully grok but looks powerful. Thank you for developing this! I'll let you know how it goes and try to contribute where I can
- jay3ss 4y agoThis is really cool and I like the Tony Iommi take too. Did you pick the name because Iommi's accident and instrument align similarly with Django Reinhardt's?
- boxed 4y agoYes. And I'm a huge Black Sabbath fan so that lined up super nicely :P
- focom 4y agoYes its a shame django isn't as active as rails
- canadiantim 4y agoCertain parts are and there is some encouraging development work going, e.g. Tetra (https://www.tetraframework.com/ https://www.tetraframework.com/) - but yeah it can be sparse.
- 4y ago
- gkoberger 4y agoHey! Minor bit of feedback on the homepage UI; I saw the pricing calculator and the big number wasn't obviously my savings (I assumed it was the cost). I'd make sure that for anyone scanning, it's clear the large $$ amount is savings vs the actual cost! (Also, while I do think it's important you come off as cheap, I wouldn't lead with "saving money" as the main reason to use your product. It looks like you've built something really interesting, and you don't want early customers to only use you because they think you're the cheapest option!) Overall, this looks really great... good luck!
- adrianthedev 4y agoWonderful! On point feedback! I had quite a tough time promoting the product and the homepage calculator was one push to highlight one quality of Avo ($ savings). But I agree, that's shouldn't be the biggest selling point. I'll make sure to position the product differently. Thank you!
- gkoberger 4y agoFor what it's worth, I do like that it builds as you scroll down! It shows how much goes into building an app. I wonder if switching the focus to just the dev time, or even have some sort of chart of all the other tools that slowly merges into Avo? EDIT: Or a cute "Dev todo list" that gets crossed off (https://roughnotation.com/ https://roughnotation.com/) as you scroll down, and Avo takes care of things for you?
- adrianthedev 4y agoThose roughnotation.com animations look so cool! I don't know how much time was spent on building those, but you don't want to know how much time I spent on building that calculator :grinning face with sweat:
- robocat 4y agoI saw roughnotation used beautifully here https://ifuckinghatejira.com/15/ https://ifuckinghatejira.com/15/ and I was jealous. Now I know how to do it myself, thank you.
- upupandup 4y agois there anything like Avo out there? This is great work but I'm not a Ruby/RoR dev
- adrianthedev 4y agoThere are a few free packages (Active Admin, administrate, rails admin) built a few years ago that can help you build a CRUD UI, but the conversations I had with developers is that they are a bit annoyed with them. I built Avo as a modern alternative learning from the past products and improving on them.
- alexalx666 4y agoI think it makes total sense for client work and almost no sense for startups
- adrianthedev 4y agoWhy do you say that? Start-ups by definition need to move fast and test out hypothesis. With a tool like Avo you could prototype something, get it out to your customers and get feedback fast. The secodn use-case is internal tooling. When I worked at a start-up we had a lot of "shady" internal tools built fast, crappy and unreliable (because it's just an internal tool) and we always had issues working with them. I build a lot of internal tooling using Avo and the process is quite painless.
- MSkog 4y agoActiveAdmin gets the job done well enough in my opinion. Not nearly as slick as Avo though.
- adrianthedev 4y agoYeah, for sure! This post, or Avo's existence is not about bashing other tools. Each project has it's own requirements and budget. Thank you for your message!
- andi999 4y agoPricing is unclear. It has a fixed price and later talks about subscription. How much is the subscription. Also at what is the frameworks strategie on locking doing transactions in the database.
- adrianthedev 4y agoSorry about that. I'll try to make that clearer. We have an FAQ item on teh bottom of the page. The pricing is per project (per app). You pay $250, and you get one year of updates and then use it forever. The license is a Perpetual Fallback License. When you stop paying for a subscription, you will still be able to keep and use the latest version of Avo at the point in time when the subscription ended but you will loose the ability to update to a newer version. Regarding locking and doing transactions, it does not support that, but that's a very good idea and not that difficult to add in the near-future. Ideally to let the developer specify what kind of locking strategies to use. I added this topic to keep track of. https://github.com/avo-hq/avo/discussions/982 https://github.com/avo-hq/avo/discussions/982
- danenania 4y agoThe "one year of updates" thing is kind of confusing. What if an app has a longer lifetime than that? Can you no longer get updates to Avo? What about bugs and security updates? I think you're over-complicating the pricing. Why not just say it's $250 per project per year? You can still keep the fallback option and explain it in your FAQ. It would be more immediately understandable this way imo.
- adrianthedev 4y agoI tried that and the question that popped up was "what if I don't pay anymore? will I not be able to use it then?". It kind of turned people away, and that's why I change the copy. If an app has a longer lifetime than a year, and I hope it does, then you'd have to resume the subscription to get the updates (bugs and security). It's the way the perpetual-fallback license works. There are plenty of products (table plus, jumpstart rails) and large companies (jetbrains) that practice this model. I wish there was an easier way of shipping those updates without a subscription.
- philip1209 4y agoLooks cool - looking forward to trying it out. One thing I feel is missing from rails today is a great text editor. ActiveText feels old compared to editors like TipTap. Any plans or recommendations on standardizing on a new rich text editor for Avo?
- adrianthedev 4y agoI feel your pain. I see the talk in the community around text editors and I monitor it closely. TBH, I haven't built anything like that before and I'm not sure if my efforts would be spent in the best way if I tried to. I added Trix to Avo because it played well out-of-the box with Rails. I'll be watching the text editors race and will add the winners to Avo.
- mgkimsal 4y agoSeems reminiscent of both Nova and Filament for Laravel/PHP. Nice work :)
- adrianthedev 4y agoNova was a big inspiration for me to build Avo. I don't think I would have started Avo without using Nova before. My train of thought was "Rails helps you build apps fast! If we had something like Nova it would make it 10x faster!". I belive the pair (Rails and Avo) is one of a kind in the frameworks world.
- mgkimsal 4y agoI suspect it won't be for long. The concept of the programmable/standard 'resource wrapper' around the models in a framework like laravel or rails provides a decent separation for adding on standard behavior without actually having to touch any of your existing code. If you're the first in the rails world to do this, you won't be the last. Look at filamentphp as well for some inspiration/ideas.
- adrianthedev 4y agoI agree with you. I'm aware that Avo (like Nova) is not suitable for any type of app. It's for "most apps" where you use common things like CRUD, dashboards, and cards. Speaking of competition, it's only going to make the ecosystem better, so I'm all up for it.
- sandGorgon 4y agothis is very very cool. Any plans of making this for the js ecosystem ? Unfortunately not all of us are on ruby...but everyone is on js. Would totally love something like this on React/Next.
- adrianthedev 4y agoHaha. Funny you should mention that. Me, together with my brother, built basetool, which should have been Avo but for TypeScript (framework agnostic). You give it a database URL and it will build the admin panel for you. Today was the day that I decided to sunset it, but you could try to use it with docker or compile it from source. https://basetool.io https://basetool.io https://github.com/basetool-io/basetool https://github.com/basetool-io/basetool
- sandGorgon 4y agowhy dont you put it up on codecanyon as a theme sale ? you can still keep it open source...but this is quite good a tool. maybe you will discover the niche ?
- adrianthedev 4y agoThat's not a bad idea. I'd do that if I didn't have to offer support. Are there products like that where after-sale support is optional?
- sandGorgon 4y agoactually most products the support is non existent. support has to be bought separately. if people dont like something, they can of course refund
- dchuk 4y ago> Unfortunately not all of us are on ruby...but everyone is on js. This is such an interesting statement.
- nico 4y agoThis is great. We definitely need more tools/frameworks like this to allow for faster development. It reminds me of Bullettrain: https://bullettrain.co/ https://bullettrain.co/
- adrianthedev 4y agoYeah, the guys at bullettrain do a good job! I think of them as being in the same category as Jumpstart. They give you the tools to build the SaaS part of your app, Avo takes it from there and enables you to move very fast with the rest of your app.
- jmann99999 4y agoI am excited to see more of these Frameworks on top of Frameworks happening. Folks interested in this may also want to check out Bullet Train [0]. They are also a Rails Framework/Framework. I believe they started out with a pricing model that was more expensive than this but have pivoted to open source. I appreciate Bullet Train’s opinionated idea that APIs and webhooks should be part of any project and they have built it in. Anyhow, it’s worth checking out, in addition to Avo. [0] https://bullettrain.co/ https://bullettrain.co/
- adrianthedev 4y agoYeah, I mentioned bullettrain somewhere in a comment below. It's an amazing SaaS starter kit. As far as I know, they have some things as open source and some not. Not sure if they published the pricing for the subscription packages though. A lot of people are wondering what that's going to cost. I used Avo with Jumpstart and they go together wonderfull. Probably with bullettrain too.
- gingerlime 4y agolooks neat. A quick question: you mention pundit, but we use cancancan. Would it cause any conflicts?
- adrianthedev 4y agoI'm confident there will not be conflicts. You will have to write pundit policies to enable authorization. Also, I think you could make some sort of adapter between the two. Pundit is mostly a Ruby class.
- fishtoaster 4y agoVery neat! My first thought was that this was a competitor to https://bullettrain.co/ https://bullettrain.co/. Looking into it a bit more, it seems more aimed at building admin panels than whole apps. I guess it competes against tools like https://activeadmin.info/ https://activeadmin.info/?
- adrianthedev 4y agoGreat comment! It does intersect a bit with Active Admin, but it's meant to do so much more. Avo is not meant to be an "obscure admin panel" where only the core team members go to do some CRUD operations. It's meant to be the interface on which you build your back-office. Something that you'd love to give to your users from day one. Something that will make you, the developer, look like a superhero, all with little to no sweat.
- jressey 4y agoThis is a serious question: Do any of you folks get paid good money to start projects? In my career I have "started" projects for maybe 2-5% of my time. All of the real effort goes in to massaging the app to actually solve unique business problems, about 80-90% on edge cases. Bold and cynical claim: Making and selling apps like this is akin to building a social media brand about building social media brands. The problem this solves is only experienced by serial creators who like starting projects, not making useful stuff. I personally know 2 people who are like that attempted to start this exact same concept for a company, and that was like 6 years ago, and it was Rails too.
- pmontra 4y agoI've been working on four projects in the last 12 months. I helped starting one of them in 2017 (Elixir / Phoenix.) I inherited a RoR one in 2012 and two Django ones in 2016 and 2019. Given the long life of projects that make money one doesn't start many of them but being able to show something in a short time is important. It helps to focus on features and not to get lost in architectural yak shaving.
- adrianthedev 4y agoYak shaving. It's "my mission in life" to avoid that. I like pushing things out fast and early. "Listen to your customers and push out the features they need, not the features you think they need."
- vladcodes 4y ago> Making and selling apps like this is akin to building a social media brand about building social media brands So much this. I really can't understand all the excitement above, unless you're starting a new proof of concept daily (but then, the price looks ridiculous) and you're ready for the "buy now - pay later" way of development. If "move fast break things" is still the thing in 2022, then it makes more sense to just draft an MVP in html/js with something like Firestore as a backend?
- adrianthedev 4y ago
- mdw 4y agoVery glad to see this, I’m currently building a SaaS with Rails and can totally use this for our admin panel.
- adrianthedev 4y agoOne of our biggest supporters Equipe Technique are building a Shopify like platform ontop of Avo. It's not their admin, but the actual user interface, so go for it! Dream big!
- rtcoms 4y agoDo you have any documentation for that about how to use this for non admin site ? That will actually make it a no-code platform.
- adrianthedev 4y agoNot sure what documentation should I write about that. Just build it like I do in the videos or from the docs site and the result is the actual website . Done!
- chourobin 4y agocongrats on launching, what's the landscape now and who are your competitors? it could be nice if you had a comparison page as a way to sell it further.
- adrianthedev 4y agoI'd say that the classic direct competition are Active Admin, Administrate, rails admin. They are the OG admin panel builders in the Rails world. They focus a lot on building just classic CRUD admin panels. I focused on making Avo a whole app development platform. It's not that hidden place where just a few team members go to update some records, but the actual UI that you give to your users. I'll make sure to create an "alternatives" page with competitors.
- sy_174 4y ago
- mediaman 4y agoCan I drop this into an existing Rails app? I use Jumpstart but would like a nicer admin experience.
- Simpliplant 4y agoYes, very easily.
- adrianthedev 4y agoYes you can. Our site uses Jumpstart (lovely app) and we use Avo everyday with it. Avo was designed to be unopinionated. I know that might sound off. Avo has a DSL, it must be opinionated, and it is with that DSL, but with the rest, we'd like to allow the developer to use what they want. BYOB. Bring your own authentication. You might not want to use devise, but something else. Avo enables you to add your own auth layer. Bring your own search. Avo plays well with ransack, but you can hook into it and do your thing with algolia or something else. Bring your own layer of multi tenancy. Scope things out as much as you need it. We have a customer that runs three platforms in one app using Avo. Believe me when I say they were able to scope out their data "to the bone". So yeah. Avo plays amazingly well with existing apps. It was designed that way.
- adrianthedev 4y agoI mentioned this before, that I spoke with Chris Oliver, and started work on bringing Avo inside Jumpstart rails as an alternative to rails admin.
- vlunkr 4y agoShouldn't the tagline be more like "Build Ruby on Rails admin panels 10x faster"? Since that seems to be the intent.
- adrianthedev 4y agoWhen one says "admin panel", the general belief is that it's an obscure space where only the core team comes to check on some stats, or update some records. Avo is more about building a real app with it. It's meant to be what the user sees when they interact with your app. You actually build your app with Avo. Avo becomes the app. When I talk to Rails developers and mention the words "admin panel", they automatically think about Active Admin, or administrate, which were great alternatives in the past, but nothing compared to Avo (apologies, sounds like I'm bragging, but I'm really not exaggerating). That's the reason I don't communicate that. I have a "Rails admin themed" page[0] where I speak more about the benefits as a Rails admin. https://avohq.io/rails-admin https://avohq.io/rails-admin
- stickyricky 4y agoBrilliant work. Looks terrific. Very easy, declarative interface.
- adrianthedev 4y agoThank you Ricky! I appreciate the kind words.
- bestinterest 4y agoLooks great from the demo https://avodemo.herokuapp.com/users/sign_in https://avodemo.herokuapp.com/users/sign_in My only suggestion would be to perhaps try out a beefer instance for heroku or perhaps it is http/1.1 limitation of heroku and a switching to one of the disruptors like render.com would help performance? It also may completely be because I am in the UK. Clicking around just feels slow 700-800ms+ response times, assuming its hosted in US. Also another quick fix might be sending the request on mouse down. I know unpoly (side competitor to Hotwire) does this https://unpoly.com/a-up-instant https://unpoly.com/a-up-instant
- adrianthedev 4y agoOh darn. I forgot about the demo site to beef up the hosting for this post. I'll do that this week. I'll probably move it to a separate instance. Yes, it's hosted in the US. Thank you for that and unploy. I'll have a look.
- MattyMc 4y agoadrianthedev: THANK YOU for implementing a one-time fee. It actually make using this realistic for us. Quick question: Do you have support for front-end frameworks (i.e. React)? I did try to crawl the docs to find out. We have a Rails monolith, but we're unique in that we have a highly interactive educational app with a boat load of javascript. Our mantra has been: use React only if we absolutely have to. I realize we're unique in this regard. Totally cool if not; just thought I'd ask. Great work on the project!
- adrianthedev 4y agoThanks for the kind words! Avo is built using Hotwire (Turbo and StimulusJS) so no fancy framework (React, vue, svelte) under the hood. We love Stimulus and goes very well with Rails development. That beign said, Avo supports adding your own custom content (erb templates) and your own asset pipeline (webpacker, sprockets, or something else), so in theory you could inject React or Vue sprinkles here and there.
- victor9000 4y agoAny similar back office projects written in python? I'd like to reuse some existing data access code and I'm currently looking at using django. So I'd love to hear if others have a better suggestion.
- adrianthedev 4y agoI wouldn't know. I'm not that connected with the Python ecosystem. Maybe someone else can shed light. I only know about Django Admin.
- boxed 4y agoTry iommi (https://docs.iommi.rocks https://docs.iommi.rocks). Disclaimer: I'm one of the authors.
- mattbrewsbytes 4y agoFor something like this, I bet a chunk of your target market for "Pro" level is people running ActiveAdmin. The beauty (and nightmare) of ActiveAdmin is it just looks at your tables and gives you an admin UI. If you have a mostly API based app, this can be great to give internal people some power tools so they leave the engineers alone. Would love to see demos with real world complexity level of things instead of the typical Blog or Todo list trackers. To give that some scope for a complex Rails application lets use counts of objects, something like 100 models and 80 active admin pages, scatter in some 50-100 jobs/workers and like 50-100 service objects. What does Avo provide for a menu-ing or UI customization to deal with that level of complexity?
- adrianthedev 4y agoI would say that the Community version (free) covers most of what Active Admin does. The search is paid with Avo (and included in AA). The Pro users are those who need to build upon Avo. They need custom content (fields, resource tools, custom pages), and they need to make it look the same as the rest of the app. Avo provides view components that help with that. This way you create a seamless UI for your users. I think of Avo as more than just and admin panel framework (although power tool sounds great), but the place where you build your app. It becomes the app your users see. Regarding API based apps, yeah, that's something I'd loke to support soon. Offer HTTP adapters where you coudl hook in your Stripe/Shopify/Intercom/Custom API endpoints. Regarding complexity, I tried to cram as much as I could (whenever I push out a new feature, I add it) to the demo site[0]. One of the biggest apps I've seen has about 41 resources, 431 fields, and quite some complexity because it's a multi tenancy app that serves three marketplace platforms. There's a lot of complex scoping applied to the data to match the accounts and views. But, yeah, I'd love to see an app that size. I think the project is still young (about two years. version 2.0 three months old) and these kinds of projects tend to get built out with time. I can't imagine there are a lot of teams with an app that size you mentioned that are in a hurry to rip out everything they have to replace it with Avo (or any other package or app) in such a short time. Even our customers above are slowly switching from their homegrown admin panel to Avo. Right now, the UI customization wasn't our main concern. I do want it to look amazing so I work a lot (alongside the designer) to keep it looking excellent. This being Rails, you can always override the partials and view components to add your own and tweak Avo's. The first iteration of UI customization will be to enable the developer to change the colors of the UI. Regarding general customization, you can already plug in Avo on multiple levels. One can add new fields, sections on resource pages, totally new custom pages, etc. Avo is ready for customization complexity. [0] https://avodemo.herokuapp.com/ https://avodemo.herokuapp.com/
- turriblegrapes 4y agoHow would you compare or contrast this with motor_admin https://github.com/motor-admin/motor-admin-rails https://github.com/motor-admin/motor-admin-rails
- adrianthedev 4y agoI haven't used motor admin extensively so I couldn't speak about it's features very precise. It seems to me that motor admin is like a giving a power tool to your end-users. It's empowering the citizen-developer. They can make their own admin panel. You might end up with a good product, but it also can go the other way and build something not that good. With Avo, you, the developer, draw the lines on what the user can and can't do. This way you make sure you give them the best experience.
- mark242 4y agoYou may want to check your branding -- https://www.avo.app/ https://www.avo.app/
- adrianthedev 4y agoDo you think my branding is similar to avo.app?
- AncoraImparo 4y agoPeople still use rails? Wild.
- adrianthedev 4y agoHaha. You're trying to stir sh*t up.
- strzibny 4y agoAnd earning money with it!
- adrianthedev 4y agoI sometimes think Rails is one of the best kept dev productivity secrets out there. Let the doubters doubt...
- adrianthedev 4y agoAs a disclaimer, I've done PHP (WP, Laravel, custom), Javascript (Node, JS, TS, back-end, front-end, full-stack) and Ruby, so I'm speaking from my experience.
- danbee 4y agoThis looks very similar to Administrate by thoughtbot https://github.com/thoughtbot/administrate https://github.com/thoughtbot/administrate
- adrianthedev 4y agoYes, they do intersect in some areas as you can build CRUD UIs with both. Avo takes it further to give it a nicely designed UI, all the "missing" features like extending the interface, adding custom content, supporting all associations thoroughly and more. I think of it like the next iteration of these kinds of tools. Have you built something using administrate?
- danbee 4y agoYeah, I've used Administrate a bunch. All those things are possible in Administrate as it generates controllers that can be customized, so anything it doesn't do out of the box can be added easily. It's also easy to define custom input types and content types.
- bradgessler 4y agoIt's great to see folks building frameworks on top of frameworks. I've started to look into full stack starter-kit frameworks that goes beyond the admin panel and here's what's out there these days. * https://bullettrain.co https://bullettrain.co - Opensource, $0/year * https://jumpstartrails.com https://jumpstartrails.com - Opencore, $249/year * https://www.bootrails.com https://www.bootrails.com - Closed source, ~$83/year I've even started to piece on together for my own projects at https://github.com/rocketshipio/monolith https://github.com/rocketshipio/monolith, which will be open source, $0, and MIT licensed. Some of the libraries I'm noticing that seem "settled" include: * Devise for authentication * Pundit for authorization I started to piece on together for my own projects at https://github.com/rocketshipio/monolith https://github.com/rocketshipio/monolith, which will be open source, $0, and MIT licensed. I'm hoping enough people converge around any one of these products where we end up with something as high quality as Rails. If the community agrees on how users, authorization, subscriptions, etc. should be modeled, it opens up the door for a set of APIs and plugins that will make creating SaaS products even easier. My thinking on the economics of this is the Opencore stuff will be a race to the bottom in terms of pricing towards free or a nominal fee (I guess $250/year is that). What will end up costing money is tech support. I do see an ecosystem of third-party services that integrate with SaaS kits emerging, such as rapid ways to deploy, analytics services, etc.
- ttymck 4y agoMonolith looks awesome! I love the name -- I too am embracing and championing the "monolith-first" approach. You've given me some inspiration for my own starter-kit built on FastAPI (trying to capture the magic of Django): https://github.com/tmkontra/fastapi-fullstack-boilerplate https://github.com/tmkontra/fastapi-fullstack-boilerplate I hope to follow along with your progress and perhaps share ideas/compare notes! Cheers.
- _bz2r 4y agoYears ago there was a site called prelang that tried to create a framework framework. It was incredibly cool, but I think it became abandoned. https://www.producthunt.com/products/prelang#prelang https://www.producthunt.com/products/prelang#prelang previously on HN: https://news.ycombinator.com/item?id=7985162 https://news.ycombinator.com/item?id=7985162
- boxed 4y agoI found the video to be dishonest. "Watch Adrian build a booking app in less than an hour" is the title but if you actually watch any part it's clear that it's at best going at 2x the speed. Probably more like 10x honestly.
- adrianthedev 4y agoThe real-time building of the app was an hour and 10 minutes. I posted a screenshot with the recording below. That recording contains also some setup on my part, it's not just actual coding on the app. https://share.cleanshot.com/hPUskT https://share.cleanshot.com/hPUskT The 10x speed-ups were actually data-entry which definitely nobody wants to see in real-time or would benefit from. The 2x-3x speed-ups were for the generators and slow typing speeds. I know the tendency is to exaggerate things, but I'm not for that. I like honesty because it's not complicated. When one lies they have to keep that in memory for the next time :P So yeah, the video is sped up, but the message is correct.
- gls2ro 4y agoI don't understand your assertion here: If it is about the video on the homepage of the product, I just check it as it is a video with a total length of 15 minutes. It includes also an explanation of the problem he tries to solve. I really don't find it dishonest. I am not sure what speed is the code writing presented (could be 2x like you say) but really for me, it feels like knowing how to use Avo one could write that code in under 1 hour.
- JamesBrooks 4y agoLooks like it fits a similar bill to many existing rails admin frameworks, e.g. https://trestle.io/ https://trestle.io/
- adrianthedev 4y agoYes, they intersect in features. The barrier that I'm trying to break and push through is that the result is not a hidden away admin panel where only a small number of core team members go to update some record. The result is a beautiful consumer-ready interface that you give to your user. Avo is your app. Not a part of your app. Avo is the UI your users see when they go and interact with it. Thank you for the message.
- w-ll 4y ago@adrianthedev I gave it an hour and here are my thoughts. Generators for resources should be smarter and look a models attributes and type_for_attribute and add all the fields for me. Things like enums should be easier than needed to also specify them as select options. You also dont have any datetime field types. (edit it appears you do but the docs dont list them on the https://docs.avohq.io/1.0/field-options.html https://docs.avohq.io/1.0/field-options.html) Also using the models schema should give you default filtering. Strings should be loose, numbers/enums should be exact, datetime should be ranged. All attributes should also be default sortable. The suggested generators for namespaced models ```bin/rails generate avo:resource Cms::Page``` dont seam to work. It feels like its for admin/mgmt stuff but you say its also for normal users and i feel like it under delivers on both. Hope this feedback helps.
- adrianthedev 4y agoThank you for trying it. I mean it! That's all I want :) > Generators for resources should be smarter and look a models attributes and type_for_attribute and add all the fields for me. Things like enums should be easier than needed to also specify them as select options. > The suggested generators for namespaced models ```bin/rails generate avo:resource Cms::Page``` dont seam to work I agree. The generators could be smarter. Maybe even generate a resource when you generate a model. There's a really old PR started a while back. https://github.com/avo-hq/avo/pull/182 https://github.com/avo-hq/avo/pull/182 > You also dont have any datetime field types. (edit it appears you do but the docs dont list them on the https://docs.avohq.io/1.0/field-options.html https://docs.avohq.io/1.0/field-options.html) We actually do have them. Date and DateTime with a wonderful date picker (flatpickr). Not sure how you landed on that page (it's for version 1.0). The correct link below. https://docs.avohq.io/2.0/fields.html https://docs.avohq.io/2.0/fields.html > All attributes should also be default sortable. TBH, I avoided that by default. I'm not sure you'd like the user to sort by anything from the start, but maybe that's just a thing of preference. > Also using the models schema should give you default filtering. Strings should be loose, numbers/enums should be exact, datetime should be ranged. Yes. I agree that an advanced filtering system is helpful and needed. The current filtering system is powerful too. You can make complex queries (query by multiple columns) from one toggle/dropdown, instead of adding multiple filters to get sthe same result. Thank you for this thorough review. Being a solo developer I have a lot on my plate. I'm talking development and others (marketing, sales, copywriting, etc.). When doing development I have to choose what's important and what can wait. That's why the generators are not that smart. I have a GitHub discussion started around the advanced filtering, but there's not that much ctivity around it. I'd love to bring it in soon. https://github.com/avo-hq/avo/discussions/739 https://github.com/avo-hq/avo/discussions/739 Until that point I'm focusing on bringing features that help the users and fix real problems for them. That was and is my main concern going forward. I'm sorry you think it underdelivers. I respect your comment, and I'd love to talk to you and see what you think really is missing. Except for the filters, all the other concerns are not really user-centered. https://calendly.com/adrianthedev https://calendly.com/adrianthedev Thank you!
- deleted 4y ago[deleted]
- irjustin 4y agoThis looks really good. So a bit of insight from a dinosaur, I'm one of those guys who is a diehard ActiveAdmin user. I've come and gone through the other admin interfaces and nothing is as fast as ActiveAdmin when it comes to the basics. Important note is ActiveAdmin is for internal/staff only. Benefits - It doesn't need to be pretty. It simply needs to function. - Layout actually should be allowed to be information dense. Less whitespace (i.e. not bootstrap). - DSL of ActiveAdmin is TERRIBLE, but once you learn the DSL, spinning up a page to edit an object is insanely fast because of it. - Changes to objects are typically one liners. - Escape hatches make everything else possible, but it's not intuitive at all. Difficulties of ActiveAdmin - Adding Wizards, step-by-step, pages is pretty annoying - Polymorphic relationships aren't intuitive. - Learning how to carry the page's context to use arb takes some time. - Customizing f.input is annoying and doesn't make sense. - Doesn't play well with bootstrap nor modals. In the end the difficulties are worth the problems because the time benefit is so high. It's measured in how much time our engineers spend working inside of ActiveAdmin. It's very low compared to other areas. In the past, I've been stuck fighting React, or doing too much boiler plate.
- adrianthedev 4y agoThank you for this thorough description! I'll keep an eye out for the shortcomings so they don't creep into Avo. I'd love it if you'd try Avo for a project (not just for 30 minutes) and compare the two. I think having an experienced developer on a real project would yield a real comparison.