Austin Ogre
New Contributor
@maverick asked me a couple of great questions in my intro thread and I felt like they deserved a broader conversation so I've moved them here. Hopefully others will add their thoughts as well.
I've worked on 3 major SaaS start-ups and each of them used really different technology stacks.
Start-up 1: Primarily java & javascript front end, used an open source project for a large piece of core functionality which was written in PHP (open source project called Horde). Backend was a mix of everything but primarily C and java. We were early adopters of a number of toolsets and at one point ran the largest Puppet deployment in the world.
Start-up 2: Primarily a javascript front-end I think we were using a UI framework similar to Bootstrap (though I forget which one exactly) for look and feel. Backend was a mix of java, c# and a bunch of PowerShell.
Start-up 3: Mostly javascript front-end. Backend is a mix of C, Lua (which is a game dev language actually) and pretty much everything under the sun in at least small amounts.
So across these I guess java and javascript are pretty common. And that makes sense when you're developing a web based application. Lots of developers in that pool to choose from and outsourcing project work can be pretty straightforward/modular. I know there are lots of open source libraries we've used, but I don't have a great list. Some of those projects died a slow death and sometimes we tried a project and moved on to another if it didn't meet our needs.
I do like AdminLTE as a UI framework for reporting though. I was actually looking at it last fall for a personal project. For reporting internally we often use tools like Grafana and Kibana. Our logging and reporting needs are a bit crazy... I think we publicly stated we generated logs at a rate of 50GB/s in 2013 (it's uh... more now).
One thing I would point out is that as you're thinking about rendering logs/data to customers for reporting you need to think a lot about how the data is stored, when you can show aggregate data across all customers and when/how you need to display customer specific data. If you're tracking all the website visits in say Apache logs then the queries to pull out data specific to a customer can be a little tricky... more so if you want to allow them to drill down into individual visits (it's one thing to be slightly off in your query when you are reporting aggregates) but when you drill down to a specific log entry it damn well better be for the customer in question.
But the key is to make sure you're storing and collecting data first. Every login attempt for a user should be logged for example along with customer ID, username, origin IP, success or failure. Would it be nice to show in a UI? Yes, but the more critical point is to have the data. If you needed to you could run a SQL query to give that information to a customer. They might bitch that it's not in the UI, but at least you can get it.
Frameworks are good. Bootstrap, AdminLTE? Yep, highly recommend where they make sense. Where they don't as tools themselves they still suggest good design patterns which can be used/reused. When I did product management I really didn't focus on toolsets. I mocked up a basic UI, talked about the intended functionality, use cases and possible long term features I didn't want to box us out of in our initial design decisions. Then I sort of set the developers free and using agile development check pointed with them often to course correct, get their feedback on what an idiot I was and try to adapt based on their feedback. Fun stuff.
Not sure that exactly answered your question(s), but hopefully it's enough random babble to open a good discussion here on the topic.
Ogre
1- What tools/templates would you recommend using to minimize the amount of development work that is needed? I'm mainly interested in hearing what open source tech you generally use (e.g. AdminLTE for your admin area: AdminLTE 2 | Dashboard). The tech stack that you use is also interesting to know.
Thanks!
I've worked on 3 major SaaS start-ups and each of them used really different technology stacks.
Start-up 1: Primarily java & javascript front end, used an open source project for a large piece of core functionality which was written in PHP (open source project called Horde). Backend was a mix of everything but primarily C and java. We were early adopters of a number of toolsets and at one point ran the largest Puppet deployment in the world.
Start-up 2: Primarily a javascript front-end I think we were using a UI framework similar to Bootstrap (though I forget which one exactly) for look and feel. Backend was a mix of java, c# and a bunch of PowerShell.
Start-up 3: Mostly javascript front-end. Backend is a mix of C, Lua (which is a game dev language actually) and pretty much everything under the sun in at least small amounts.
So across these I guess java and javascript are pretty common. And that makes sense when you're developing a web based application. Lots of developers in that pool to choose from and outsourcing project work can be pretty straightforward/modular. I know there are lots of open source libraries we've used, but I don't have a great list. Some of those projects died a slow death and sometimes we tried a project and moved on to another if it didn't meet our needs.
I do like AdminLTE as a UI framework for reporting though. I was actually looking at it last fall for a personal project. For reporting internally we often use tools like Grafana and Kibana. Our logging and reporting needs are a bit crazy... I think we publicly stated we generated logs at a rate of 50GB/s in 2013 (it's uh... more now).
One thing I would point out is that as you're thinking about rendering logs/data to customers for reporting you need to think a lot about how the data is stored, when you can show aggregate data across all customers and when/how you need to display customer specific data. If you're tracking all the website visits in say Apache logs then the queries to pull out data specific to a customer can be a little tricky... more so if you want to allow them to drill down into individual visits (it's one thing to be slightly off in your query when you are reporting aggregates) but when you drill down to a specific log entry it damn well better be for the customer in question.
But the key is to make sure you're storing and collecting data first. Every login attempt for a user should be logged for example along with customer ID, username, origin IP, success or failure. Would it be nice to show in a UI? Yes, but the more critical point is to have the data. If you needed to you could run a SQL query to give that information to a customer. They might bitch that it's not in the UI, but at least you can get it.
Frameworks are good. Bootstrap, AdminLTE? Yep, highly recommend where they make sense. Where they don't as tools themselves they still suggest good design patterns which can be used/reused. When I did product management I really didn't focus on toolsets. I mocked up a basic UI, talked about the intended functionality, use cases and possible long term features I didn't want to box us out of in our initial design decisions. Then I sort of set the developers free and using agile development check pointed with them often to course correct, get their feedback on what an idiot I was and try to adapt based on their feedback. Fun stuff.
Not sure that exactly answered your question(s), but hopefully it's enough random babble to open a good discussion here on the topic.
Ogre
Dislike ads? Become a Fastlane member:
Subscribe today and surround yourself with winners and millionaire mentors, not those broke friends who only want to drink beer and play video games. :-)
Last edited:
Membership Required: Upgrade to Expose Nearly 1,000,000 Posts
Ready to Unleash the Millionaire Entrepreneur in You?
Become a member of the Fastlane Forum, the private community founded by best-selling author and multi-millionaire entrepreneur MJ DeMarco. Since 2007, MJ DeMarco has poured his heart and soul into the Fastlane Forum, helping entrepreneurs reclaim their time, win their financial freedom, and live their best life.
With more than 39,000 posts packed with insights, strategies, and advice, you’re not just a member—you’re stepping into MJ’s inner-circle, a place where you’ll never be left alone.
Become a member and gain immediate access to...
- Active Community: Ever join a community only to find it DEAD? Not at Fastlane! As you can see from our home page, life-changing content is posted dozens of times daily.
- Exclusive Insights: Direct access to MJ DeMarco’s daily contributions and wisdom.
- Powerful Networking Opportunities: Connect with a diverse group of successful entrepreneurs who can offer mentorship, collaboration, and opportunities.
- Proven Strategies: Learn from the best in the business, with actionable advice and strategies that can accelerate your success.
"You are the average of the five people you surround yourself with the most..."
Who are you surrounding yourself with? Surround yourself with millionaire success. Join Fastlane today!
Join Today