Fiori background

  • Startup in Munich, Germany
  • 3 cofounders
  • Building a flight simulator for soft skills
  • Starting with negotiation in beta; ultimately want to build an AI coach who helps you identify and improve on weaknesses

Adopting EdgeDB

  • 2 cofounders are technical, but still a small team
  • want to move fast with a small team, but without breaking things
  • Started using Mongo and thought, “I can shove documents into other documents? Why would I use anything else?”
  • Was forced to switched to Postgres on a subsequent project and liked having the strictly typed schema.
  • Learned about a new database that combined the strict typing of Postgres with Mongo’s ability to pull nested data out of the database
  • Decided to try it when they got an opportunity; Fiori was that opportunity

Advantages of EdgeDB

  • Declarative schema with computed properties in one place
  • On a previous project, worked with Django. Ended up having to remove it because the ORM was too inefficient. Appreciate that EdgeDB is a thin layer.
  • Product manager piped up with surprise feedback: he keeps the UI running all the time and uses it to add content
  • Appreciates the power and simplicity of computed properties which reminds him of computed properties in Swift.

Business logic in database

  • Want to make sure data is consistent
  • When data can be interdependent, want to make sure there’s never a case when one piece of data can become invalid because the the state of another piece changed
  • Computeds allow them to avoid this
  • Just introduced medals which are rewarded in exercises based on your score for that exercise
  • It’s not necessarily obvious where this logic would be if you wanted to make a change to it
    • In the past, they might have written the logic for this into the backend
    • Some people might have written it in the frontend
  • If you do change it, what happens to the existing data that was written under the old logic?
    • You might need an update script which would have to process a lot of data in order to bring everything in line with the new logic
  • Redundancy between score data and medal data since they are correlated
    • Computed fixes this

Future

  • Keeping a close eye on EdgeDB Auth
  • Looking forward to some of the performance gains coming in 5.0