If you find your self opening multiple terminals to run some code, it's too complex.
If you can read the application without scrolling and it would feel dumb to even write a test for it, that's simple.
If your front end code needs to be compiled, it's too complicated.
If you follow flux pattern (or anything facebook says), it's too complicated.
If you need to wait for your runtime to boot, it might be too complicated.