Avatar of Václav Hodek

Václav Hodek

CEO, lead developer at Localazy
CEO, lead developer at Localazy·
Recommends
on
JavaJava

Java is far more popular and you can use other JVM-based languages such as Kotlin (I would recommend Kotlin over Java). Also, for Java, there are many more libraries, tools, etc. Also, if you learn Java, you can do almost anything - mobile (Android), web, and desktop apps - without "hacks". There is native support for all of these.

As with any programming language, it's not hard to learn the syntax but it's hard to understand the ecosystem, know libraries, best practices, etc. From that point of view, I would also prefer java - more tools, more libraries, more resources, guides, how-tos, etc.

READ MORE
5 upvotes·94.8K views
CEO, lead developer at Localazy·
Recommends
on
PostgreSQLPostgreSQL

At Localazy, we have decided for PostgreSQL, because with its JSONB data type, it effectively combines both relational and document store. The relational model is still better in many situations. In combination with ACID transactions and other features, it provides you with something you are not about to get with Mongo. The ability to store JSONB gives you flexibility where you need it. Also, the SQL queries are something great and allow you to unload a lot of logic to the database server.

READ MORE
4 upvotes·288K views
CEO, lead developer at Localazy·
Recommends
on
PostgreSQLPostgreSQL

In your situation, PostgreSQL seems to be better option. Why? 1) Saving structured data is possible in both PostgreSQL and Elasticsearch. In PostgreSQL, there is JSONB column available and you can build indexes on top of it. 2) If you are able to specify the time as a primary key, both Elasticsearch and PostgreSQL are great options. 3) PostgreSQL allows you to do a lot more with your data and handle them in a relation way. You are not clear whether it's a benefit or not but let's consider extensibility to be an advantage. 4) PostgreSQL comes with PostGIS extension to work with geo data. May be useful for your situation. 5) PostgreSQL may serve for other needs of your app. Managing one database is always better than having two of them.

Thanks to JSONB column type, PostgreSQL is a sweet combination of relational and noSQL database, but there are also drawbacks coming from ACID compliancy and WAL overhead for rapid changes.

READ MORE
4 upvotes·4.2K views
CEO, lead developer at Localazy·
Recommends
on
KotlinKotlin
at

It really depends on your needs but with a decent knowledge of java, you can learn Kotlin quickly and it's possible to use it both for the backend and frontend.

At Localazy, Kotlin is our primary backend language but we also used it for our CLI tool and with a single codebase we are able to produce native binaries for Windows, Linux, macOS as well as Node and JVM.

Also, I used Kotlin for smaller hobby projects several times and easily wrote the backend part and some dynamic frontend components with it.

READ MORE
How we built Localazy CLI: Kotlin MPP and Github Actions (localazy.com)
4 upvotes·367 views
CEO, lead developer at Localazy·
Recommends
on
PostgreSQLPostgreSQL

Any database engine should work well but I vote for Postgres because of PostGIS extension that may be handy for travel related site. There's nothing special about your requirements.

READ MORE
1 upvote·209.9K views
CEO, lead developer at Localazy·

Mailchimp is more user-oriented while Amazon SES is a cheaper solution more suitable for being an SMTP server. If you need to send occasional emails manually, go with Mailchimp or another provider. If you want to send transactional emails from your app, Amazon SES is the best choice.

READ MORE
1 upvote·4.1K views
CEO, lead developer at Localazy·

Not only that I switched but as a single developer I needed better tool for translating my mobile apps, and so I've decided to create Localazy that is aimed at specific needs single mobile app developers and small digital teams have.

READ MORE
For Android developers: Translate your app easily the same way Floating Apps is translated – Floating Apps (blog.floatingapps.net)
1 upvote·194 views