2
16 Comments

I want to build an app so I can stop using Excel.

I am an engineer who does consulting for big construction and industrial projects. I have a few large spreadsheets that I use to calculate costs and want to build a web application to store all my data and do calculations faster. I have some preliminary designs and a prototype, but I need advice on how to really build something stable and secure that meets my functional requirements.

I would like to work on it myself but my coding experience is minimal and everyone I ask what to build it with says “it doesn’t matter what tech stack you use, any will do the job”, which doesn’t really help me in terms of knowing where to start. It’s also a bit overwhelming to tackle full-stack web development while continuing my day jobs. I guess I’m a bit lost as to how to proceed. I’m finding it’s hard to get freelancers engaged in something they’re doing on the side, and everyone seems more interested in simple flashy apps than diving into the logic of estimating construction costs.

I’d be happy to talk to anyone interested and appreciate any ideas or tips. Thanks...

on July 5, 2019
  1. 2

    Why not use airtable /sheets / casual / whatever other nocode solution there is?
    Going though a similar issue myself. Delayed launchjg by a year getting the backed cms decision right. I said f*** it and am building on WordPress.

    If you really want to build this out, what spend are you looking at ? Might be able to get it done for you.

    Also have you checked out the dashboarding tools? Try AWS insight, or metabase

    1. 1

      I have seriously considered nocode options. I'm worried they're too limiting for what my long-term goals are...I want to be using this for the next 10+ years, making changes as needed.

      I've got about $20k I can spend to get to an 'MVP' level.

      1. 1

        I think a nocode option could work for now. It'll help you figure out what you want/need long term much more quickly. Once you've got something working, you can start spending that money to make it better.

      2. 1

        Would love to help. Have read through more replies.
        I envision a reference DB with all of your inputs, and per project reports that one can edit before hitting publish/calculate and sending over to your clients.
        Could you send me an email naveen@standardmeta.com? Lets see if we can make this work

  2. 2

    I would love to work on a practical web app like this. My experience is mostly on iOS development, but I've made web apps before so I could help you start with something usable quickly.
    If you want to build it yourself, you could start off very basic with a simple script in Python that can take in CSV files and output the results based on certain calculations. You could do this by doing a file reading operation inside the script and then loop through the different values. You can even provide some basic inputs to the program to change its behavior accordingly or perform different calculations, etc.
    Once you're satisfied with the logic that the script handles, you can deploy a full web app using Python on Heroku (https://devcenter.heroku.com/articles/getting-started-with-python). Heroku gives you a free server with some limitations, but it's great for getting started. Once you have the server deployed, you can integrate the logic you made in your python script file into the python files for the server you deployed.

    There are other ways to do this stuff as well, but I've always felt that Python is a good starting language for beginners because of its readability and scripting capabilities.

    Feel free to reach out to me at sanv725@hotmail.com if you need help with anything.

    1. 1

      Thanks, I've actually done some python before for a data science course, did some basic stuff with csv data in pandas. I could probably reproduce the calculation logic of my spreadsheets in python without too much trouble.

      The trouble is I need a clean interface to display everything and create/edit estimates faster than the way I'm used to in Excel.

  3. 1

    If you are convinced your UX design is a big improvement on the excel workflow then your backend API can be anything it needs to be to best wrap the calculator logic! Not knowing the complexity of that logic or what you are comfortable learning I will suggest for you a stack in JS for simplicity.

    Static Frontend (hosted on netlify):

    Node.js backend (self-hosted 2GB RAM VPS or Heroku):

    • yoga/prisma2 graphql server - easy for auth, roles, rate limiting, data import.
    • mysqlDB (only used by prisma not developer)

    This is probably not how I would build the backend because it is a heavy stack, meant only for general data manipulations and doesn't scale well but I can't imagine an easier way to get from zero to full custom enterprise grade product for a newb.

    We devs generally start building every new backend project by playing around with the data SCHEMA of the boilerplate to get the relations perfect https://github.com/prisma/photonjs/tree/master/examples/javascript/graphql.

    1. 1

      Thanks for the ideas. The logic is really pretty simple, it's almost all multiplications and sums based on various rules. But there's a lot of it, a lot of hierarchical structures to keep everything organized...what you might call "highly relational".

      In some ways it's impossible to improve on the Excel workflow since I (and most people that do this kind of work) are so used to using it day in day out. The two ways I want to mitigate that are:

      1. using a good data grid plug-in like "ag-grid" that looks and feels a bit like Excel, and
      2. easy import/export. Naturally a lot of data is going to be coming in spreadsheet form. Also there will always be cases where I'd need to do some custom calculation and being able to get data out into a spreadsheet is necessary.
  4. 1

    We would love to help we are custom software solutions development shop.
    See us at figgli.com
    You can reach me directly at seagersdisposal@yahoo.com
    We have years of experience in construction from our former lives. We are able to help with development for many custom software solution.

  5. 1

    want to build a web application to store all my data and do calculations faster.
    By data do you mean your formulas and constants? If yes, you can make an online calculator. Javascript+HTML+CSS would be good enough. A simple process flow can be, user inputs values, the script calculates, the user enters the email address (creating a mailing list) and the user then gets the calculated answer(s). Or you can create a payment wall too. 🤑

    1. 1

      By data I mean all my data...everything from the price of structural steel in the US in 2015, to the hourly fuel consumption of a bulldozer, to the annual salary of an electrician in Russia in 2018. This info all gets used when building up cost estimates for my clients, then gets stored in an .xls file in a project folder. When I start on a new project, I have to go trudging through old files to find reference data.

      So unfortunately it's bigger than a simple online calculator.

      1. 1

        Do you want to completely automate the calculation process? Is that the goal?
        If yes, I believe you must get it formulated in Excel.
        Sorry, but you need to envision making it into a simple calculator. It will help you with Sales also later. 😉
        Could you please help understand the input parameters? Are those numbers/choices or something descriptive?
        Sorry for so many questions. 🤐 It is a really nice project.

        1. 1

          Yes, the process is "automated" already in the Excel files that I use. The goal of a web app is to reduce chances for errors, make it easy to re-use data from previous projects and compare projects, and have something professional-looking that I can sell to clients.

          There are many many input parameters....every job is organized into areas and sub-areas defined by the user, prices of materials, productivity rates, etc., are all inputs. Normally I copy a previous project when starting a new one and change things as needed.

          It's probably helpful to think of it as a package of many small calculators that come together into one big one. Hopefully that makes sense.

          1. 1

            With the formulation ready you have already made the work easier. 👍
            You have answered the question already with this;

            It's probably helpful to think of it as a package of many small calculators that come together into one big one.
            You could make many internal APIs that will work together into the main one, to build an MVP and test the market.
            Your data can be put in Google Sheets, which can be used as CSV by the APIs.
            Normally I copy a previous project when starting a new one and change things as needed.
            Taking a cue from this, for the input, create an HTML form with many inputs prefilled based on your data (CSV).
            Upon form submission, the APIs will be put in action.
            The result can be added into your data using the Webhook + Google Sheet 'zap' via Zapier.
            That would pretty much work. I manage my sponsored ads using table2api.com, something I built to harness Google sheets.

          2. 1

            I scoped out a potentially similar project recently for a company in the oil and gas sector. Still waiting to hear which parts of the proposal will be approved or not by the board, but it was interesting to learn about their business. Apparently their previous contractors just did the minimum and the current project will be a complete rewrite after a few years of pain.

            If you like, we could have a chat about what it would take to build what you have in mind. At minimum, I would be curious to hear more about your idea!

            <mail hidden>

  6. 1

    I have done this type of project several times! It isn't flashy at all, but the awesome thing is that it gets used everyday, which to me is way cooler than being flashy.

    I could help. I run a dev shop with a long term goal of building a platform to make it easy for someone in your position to build it themselves. :D You can get in touch at jeremy.thiesen1 at gmail

  7. 1

    This comment was deleted 7 years ago