This is a draft.
Our team is currently cracking away at creating more content to make our Handbook something increggdible. Soon, you'll be able to explore it fully. In the meantime, think of it as a carton of eggs, each section packed with the potential to deliver something eggceptional.
Front-end development
As Front-end developers, we bring to life the experiences envisioned for the project. We craft high-quality, highly polished, custom-tailored solutions to transform a design or an idea into a fully working, enjoyable experience.
This role goes beyond just writing code. We work closely with designers, UX/UI specialists, project managers, and other stakeholders to ensure that the user interface aligns with the agency's design principles and meets the client's and end-users' needs.
Attention to the small, big details.
Small details have a big impact on the final product, so Front-end developers need to be detail-oriented. We take pixel-perfect with a grain of salt because, by nature, screens are very fluid. Usually, it comes down to defining the details for in-between screen sizes. The same applies to unforeseen interactions or those small, big details. As a Front-end developer, having a passion for design, interactions, and smooth experiences is a massive plus. To create the most enjoyable and user-friendly experience possible, we all should strive to go beyond what's defined.
Design systems.
Most (if not every) projects start with building a design system that can ensure consistency. By having a pre-defined set of values that can be used throughout this system's projects, we can remove the guesswork and make sure we don’t have an outlier when it comes to typography, colours or spacing.
Components.
Similarly, we often develop our primitive UI components in isolation to optimize the developer API and ensure they respond correctly to different complex factors (properties and combination of properties, screen sizes, reduced-motion mode, dark mode, etc.). By following this mental exercise of separating dumb UI components from all business logic, we make sure we're creating a consistent design system with good developer experience in mind and is re-usable across all products within this ecosystem.
Ensuring quality.
Quality is the most critical aspect of everything we do at Significa. More than just getting pixels rendered on the screen, Front-end developers know that a maintainable and consistent codebase with solid standards across projects is mandatory.
All our Front-end projects are written in Typescript with strict rules, use strict linting rules and use Prettier to force consistency. We also set up Git hooks and continuous integration in all projects to validate code quality.
Finally, there is always a quality assurance stage where everything is manually tested against our design quality standards, creativity, interactions, and web metrics and, naturally, tested for bugs.
Testing.
We don't believe full test coverage necessarily means better code, so we strive for a balance of strict type safety with typescript – that, honestly, goes a long way – along with unit testing whenever we have functions with a little bit more complexity.
Besides unit testing, some interaction testing should be done when developing components in isolation (e.g., clicking an accordion actually shows the content inside with the appropriate DOM attributes in place), and, in some rare cases, end-to-end testing might be of use.
Finally, accessibility tests should be implemented for isolated components. This is a very low-effort, high-reward exercise as it catches most common a11y problems such as insufficient contrast.
Teck stack.
First and foremost, our tech stack is something that, culturally, needs to be questioned and re-evaluated constantly. We are very aware of the fatigue we, as developers, are exposed to by constant updates and innovations in the area, but it’s just the way it is.
Typescript.
We write everything we can in Typescript. Once you get used to it, there's simply no going back.
React.
React has been our workhorse since 2016. It simply handles everything we throw at it.
NextJS.
Currently, almost what people mean when they say React. We have built all sorts of stuff with Next, from statically generated websites to dynamic dashboards and hybrids.
React Native.
A natural extension for our Front-end team. Despite the all-too-common red screen of death from time to time, it's a solid solution to develop native solutions.
Svelte.
Svelte has been up and rising for the past few years. It's considered one of the most loved frameworks, and it’s hard to go back to anything else after trying it. Lately, we have been trying Svelte and have already shipped projects with it, for example, this very site you are reading, right now.
Svelte Kit.
Single page, multi-page, server-side rendered, statically generated, anything. Svelte Kit allows us to build anything for the web.
Flutter.
Allowing us to build for any screen, Flutter takes a different – and performant – approach to native development.