If I were to make a custom application for personal use to help me do repetitive tasks–like recording sales data with very specific structure and calculations–what technologies should I use?
Is it common to just set up a development server for an API and a database locally and create a front-end interface to manipulate data? I’m very familiar with web development technologies.
Or would it be better to create a desktop app with Electron?
What do people usually do to make small, one-task, personal applications like this?
“Small one task applications with a target user-base of one (yourself)” usually means I cut a lot of corners, while still trying to build something that I’d enjoy using.
So if I had to build something like this I’d use the following:
Build it for free by making it a client-side only app
No back-end or authentication of any kind, use localStorage to store data between sessions (with an export to back up the data locally!)
Use whatever I’m familiar comfortable with
Keep-it-simple
Building “client-side only apps” allows you to leverage web technologies, while also leveraging lots of “free” hosting available so its still accessible around the web. Having it client-side only does mean you lose out on some features, like being able to access your data across multiple devices, or having online features, like sharing/teams, but you might not need/want these features.
Finally, keeping it simple means you’ll be able to use and leverage your app sooner. There is also nothing stopping you from building a more fleshed out version if you want or need it to be more extravagant.
If it’s numerical data, two most common would be Excel, or SQL + a relational Db (eg Postgres). Python, as a thing to glue everything together, that’s very common.
No. For what you’re talking about, doing that involves multiplying the complexity of the task by several orders of magnitude. I’m not saying that there aren’t many situations where that might be appropriate – eg maybe you need a form interface for other people to enter the data in a format you control, or you need a stats dashboard people can access via the web. But for you to process sales data, that’s a lot of extra work for no extra benefit