New web project, clean slate: what would you have in your stack?

OK here’s a fun question for all you web development folks.

I am an experienced, self-taught, full-stack web development dude who has worked almost exclusively, sngle-handedly, on a single project for many years. I call it InterpretersOffice and it’s a PHP app built with Laminas (formerly Zend) MVC, Doctrine ORM, MySQL, and a lot of sort-of old-school Javascript (jQuery etc). I built it out of necessity, for my workplace, for managing our court interpreters office’s administrative needs. IOW my formal title was Court Interpreter but I did IT stuff a great part of the time.

Now I am retired and considering starting a new project as a learning exercise, as a service to the community, and to build sort of a portfolio so I can try to get paid for stuff like this. It will be a bilingual (Spanish<>English) glossary for court interpreters. I plan to host it on a cloud server, most likely Debian or Ubuntu. Here’s the fun part: I am at liberty to choose pretty much whatever FOSS I want in the application stack from back to front: languages, frameworks, libraries, all of it.

I could use a language I already know well (PHP, Javascript), or a only a little (Python), or even less (Java), or not at all (Go). It could be a node.js backend, or PHP, or not. On the front it can be React, Vue, Angular… I am leaning towards Vue. For a CSS framework it could be Bootstrap, or something else.

It’s definitely not likely to need to serve a million hits an hour so it does not have to start out ready for killer scalability/performance, but of course it would be good to plan ahead for moderate success/popularity.

I want to have an authentication/authorization scheme and start out with a small, human volunteer editorial board with privileges to edit content, and have a system where normal authenticated users can earn their way up to editorial privileges by submitting suggested edits.

It doesn’t have to be up and running in a week, so doesn’t have to be something extremely RAD-oriented (Rapid Application Development) like Laravel, and I actually want to learn new frameworks and possibly languages, so it doesn’t have to be super-easy for me and my present skill-set.

So, the question: what technologies would you recommend for a project like this?

As far as I see it, your project does not really require much fancy stuff at the front end. PHP, JS, CSS should do all you need.

As far as the backend goes, here are my thoughts: Natural languages are a fuzzy thing and require context and understanding. Good translation is far more than looking up words and phrases in a database.

So, you might want to look into the Tensorflow python library. However, I wouldn’t underestimate the importance of truly understanding the theoretical background. This, and good data to me seems to be the key to making your project truly useful, not some framework or programming language. In other words: Keep It Simple …

Should at some point performance become an issue, consider switching from python to Rust or C++.

Just my 2¢

PS: I’d love to see a demo. I’m fluent in Spanish (more than in English).

Interesting, thank you!

I may have been unclear. It’s not a machine translation app, much more primitive and crude than that. It’s just a glossary. I already have a MySQL database of lexical entries, the product of years of court interpreters adding terms and their translations/requivalents, based on the experience of having needed to know them. Indeed there is already a read-only implementation I created at as a Drupal 7 module. The goal of this project is to move it to a new site and improve it vastly (in terms of content) with community input.

Then, if I were you, I’d go for developing a mobile app rather than for a website.

Great minds think alike! I have sort of the same thought. But doesn’t that mean developing both iOS and Android versions? That seems like a great deal of work. (I know I said I wasn’t afraid of hard work, but that’s a bit much :wink:) So I was just planning to make a good mobile-responsive site and think about native mobile apps later.

Although… I have zero experience with mobile app development and have been looking for an excuse to get into it.

UPDATE: A little research later, I’ve discovered which suggests it doesn’t necessarily have to be so very hard to develop parallel versions of an app.

1 Like