you are viewing a single comment's thread.

view the rest of the comments →

[–]lemon07r 0 points1 point  (1 child)

Feels really fast. Just curious, what did you use in your stack?

[–]mickael-kerjean[S] 0 points1 point  (0 children)

The backend is 100% Golang and the frontend is React. However the feeling of speed isn't really due to the stack but leveraging browser capabilities:

1) store a copy of the currently known filesystem in indexedDB. Everytime you browse something, there's 2 refresh of the screen, a first one after the data from the cache is received and another time after reception of the new data. 2) pre gzip all the frontend resources so that the server doesn't spend anytime gzip things over and over again 3) get different caching policies for different type of resources: - index.html isn't cache at all - CSS and JS are cache for a much longer time and are store on the server with a bunch of hashes to avoid cache invalidation problems on new releases - Images are cached depending on how hard it was for the server to generate it and my expectations in term of how fast revisit should be. For example: 1) transcoding a RAW picture from a DSLR is an expensive operation => cache for a longer time than a JPG that's much more easy to resize 2) Revisiting a list of thumbnails should load as fast as possible => cache thumbnails on the browser for a longer time than when you see 1 picture in fullscreen.