The decisions came gradually
Amisko has passed through several phases of development. Technologies were chosen gradually as the project took a more concrete shape. Today's combination of Go, Next.js and Tailwind has a story behind it.
The interface is the part visitors see. Behind it are decisions about how the server works, how the web application is put together and how its visual language is maintained. Each of those areas has its own needs.
Go: performance mattered
Performance was an important consideration when choosing a language for the backend. Go was selected, and it is the language behind Amisko's API today. It handles application logic, accounts, profiles and content.
A structure organised around each part's responsibility developed alongside that choice. Choosing a language is accompanied by the work of making the project understandable and giving each part a clear role.
From considering React to using Next.js
React was considered when choosing how to build the web application. The current web uses Next.js, which is built on React. React remains the foundation for interface components, while Next.js provides a framework for pages and the server side of the web.
In Amisko, the two main parts have clear roles: Go handles the API and Next.js handles the web application. The public site, blog and profiles are different faces of the same web.
Tailwind has been part of the story for years
Tailwind was chosen several years ago. It remained part of the project through later phases of development and now helps put together the layout and styling of individual components.
Custom CSS complements the places that call for a particular visual character, including oversized lettering, tilted elements and illustrations on the public pages. Amisko's current look brings earlier technical choices together with its own visual language.