My friends and I are working on a project to develop a user-friendly sales software tailored for local markets. We want to simplify what's typically an overly complicated system with tons of buttons, which the cashiers don't even utilize while serving customers. Our plan includes an inventory system that syncs across multiple cash registers, ensuring all cashiers have access to the same data. Eventually, we'd also like to add a mobile app for the store owner to track profits and inventory. I'm considering a desktop application using C# with WPF for the interface, and ChatGPT suggested SQLite for the database. We also thought about setting up a local network to share inventory instantly, but I'm not sure that's the best route. One of my partners mentioned a local website using a fast Python framework, which might allow for a more attractive UI, but we need to balance performance to keep the application quick, especially since cashiers need to serve customers rapidly. Plus, we're aware that the PCs we'll be using may not be very high-end. I'd love to hear your recommendations on the best technologies to use!
4 Answers
Just a small note—'Tech' is already plural, so you might want to say 'technologies' instead!
Just a heads up, these systems tend to get complicated for a reason—there's not much profit in selling simple POS and inventory systems for small businesses. Your target audience might not want to invest much in software. Instead of PCs, you might want to consider using tablets since mobile devices are on the rise. For the front end, try writing in Kotlin or Swift, and the backend could definitely be Python. Just keep in mind the reliability of internet access when it comes to hosting.
To keep things fast and efficient for cashiers using lower-end PCs, consider a setup that prioritizes local-first functionality. A common solution is to have a central database on one machine (like Postgres or MySQL) while each cashier operates a client app. This way, if internet connection is shaky, you'd still be fine on a local network. SQLite can work for single PCs, but if you're looking at multiple cashiers, syncing can get tricky. Don't forget about critical elements like backups, user permissions, and logging errors.
For the inventory system, definitely leverage chatbots like ChatGPT to bounce around ideas and gather insights. They can offer perspectives based on common practices in sales apps!

We've had experience managing sales POS systems linked to our small software, and it's quite varied out there. If you stick with PCs, consider using a remote server setup to manage things better.