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