• About
  • Work
  • Blog
  • Contact
  • We're hiring
  • About
  • Work
  • Blog
  • Contact
Join our teamcontact@finiam.com
TWIN
A stack of pizza boxes

Using custom Svelte stores

A look into how flexible and useful stores can be in Svelte. Simple stores, custom stores, stores of stores - there's a lot of options out there.

  • David Lange avatar
  • David Lange
  • ·March2023
  • svelte
  • frontend
image of a shelf covered with glass jars

A look into Cairo 1.0 traits

Starknet Regenesis is currently underway. There’s been an effort from Starkware into improving not only the Cairo language but the entire ecosystem. We are currently in the transition period but there is already some new language features that we can play with. Let’s look at some of the new features of Cairo 1.

  • Davide Silva avatar
  • Davide Silva
  • ·March2023
  • cairo
  • starknet
a skeleton pocket watch

How to build a Concurrent & Resilient Service in Elixir

During the last 12 months, more or less, I had to build 3 different services that were highly concurrent and required some degree of resilience and fault tolerance. These services had different requirements and did completely different things, but after the third one, I noticed that I'm pretty much using the same recipe for the structure. That's what I'll talk about in this blog post, and at the end, I expect to have given enough insight into this recipe, so that you can also follow it in your next project or even make it better.

  • Diogo Viana avatar
  • Diogo Viana
  • ·February2023
  • elixir
  • resiliency
a typewriter with genetic algorithms steps

Genetic Algorithms to optimize an Asset Portfolio

On October, we (finiam) participated in ETHLisbon, an Ethereum-related hackathon, and our project, Matusalem, resembled a pension fund scheme but only for Crypto Assets. For the last few weeks I had been reading "Genetic Algorithms in Elixir", and I was hooked on giving them a try in a use case outside the book.

  • Diogo Viana avatar
  • Diogo Viana
  • ·December2022
  • elixir
  • genetic
Lots of Lego bricks to build things with

On demand ISR with Next.JS and Sanity

We’ve been exploring smarter ways of updating static sites. With Next.JS’s on-demand ISR and Sanity CMS, we can keep content up to date and build times down.

  • David Lange avatar
  • David Lange
  • ·September2022
  • frontend
  • ssr
Several spotlights

Spotlight effect with JS and CSS

Spotlight effects can be a pretty creative way of revealing content on your website. And they’re surprisingly easy to create with a little JS and CSS!

  • David Lange avatar
  • David Lange
  • ·April2022
  • js
  • css
picture of an hourglass

Developer Productivity

I like to think that I am a productivity oriented person. If there is a faster or more efficient way of doing a task, I tend to incorporate that as part of my workflow. This can be small things like being able to jump directly to a certain application without having to do the `CMD+Tab` dance or being able to run a test without having to leave my editor.

  • Davide Silva avatar
  • Davide Silva
  • ·April2022
  • editor
  • neovim
A gold fish

NFT Attribute Types: A rarity system (but with Maths)

We want to pre-generate the metadata for a set of NFTs that will have several attributes, using mathematical distributions. This metadata has information on the traits of that specific NFT, in this case, each attribute type and the respective value.

  • Diogo Viana avatar
  • Diogo Viana
  • ·March2022
  • nft
  • crypto
A looping trail of light

Infinite looping React component

Need some content to repeat across the screen and endlessly loop round and round? In this blog post, I take a look at how to create an infinite looper with React JS and CSS animations.

  • David Lange avatar
  • David Lange
  • ·January2022
  • js
  • frontend
Some people looking at a holographic digital art experience

A pragmatic NFT analysis

After delivering an NFT project for one of our clients, the folks behind Dissrup, we decided to give our honest feedback about the technology, and its pros and cons.

  • Francisco Sousa avatar
  • Francisco Sousa
  • ·December2021
  • crypto
  • smart contracts
colorful test tubes

Giving TypingDNA API a spin - do we really have typing patterns?

Some time ago, we found TypingDNA. It was a different approach to MFA (multi-factor authentication) or SCA (strong customer authentication), and so we got interested in giving it a try between ourselves and see how it works.

  • Diogo Viana avatar
  • Diogo Viana
  • ·August2021
  • typingdna
  • patterns
Some open windows

Authenticating things with cookies on Next.js

With SSR being on the rise (again), we are going to guide you through how we implement cookie-based authentication on Next.js, using Postgres and Prisma.

  • Francisco Sousa avatar
  • Francisco Sousa
  • ·July2021
  • frontend
  • development
Darts and target

Developing a keyboard heatmap and customizing keys with Karabiner

After joining Finiam, I started looking more into how I used my keyboard, and how I could become more efficient with it. So I decided to make a heatmap of my keystrokes using Elixir, and then create aliases or easier configurations for things that I identify as the most used with the help of Karabiner-Elements.

  • Diogo Viana avatar
  • Diogo Viana
  • ·June2021
  • heatmap
  • keyboard
Railway tracks

Ruby and Elixir - A brief comparison

In the world of tech startups, time is an essential factor in the success of a company. Who can deliver the best work in the shortest amount of time gains a competitive edge over the competition. Not only that but in a world in constant evolution, the need to quickly change gears and pivot a business idea into another opportunity is of great importance.

  • Davide Silva avatar
  • Davide Silva
  • ·May2021
  • Ruby on Rails
  • Elixir
Actors reading a script on a theater stage

GenServer, Agent, Task

This blog post is trying to introduce 3 important concepts that can be useful when programming Elixir, GenServers, Agents and Tasks.

  • José Resende avatar
  • José Resende
  • ·April2021
  • Elixir
  • elixir
A key inside a keyhole

Predictable React authentication with the Context API

Managing authentication in React might feel like a non-intuitive task for many, due to the difficulty of maintaining global state on React. In this blog post, I make a not-so-deep dive, but still deep enough to make an intro to React's Context API and ways of keeping the global auth state without 3rd party dependencies.

  • Francisco Sousa avatar
  • Francisco Sousa
  • ·March2021
  • react
  • context
A cat upside down

Quantum computing in the financial world

With Quantum Computing we are in a similar phase as Engineers and Computer Scientists were in the '40s or '50s, developing the first classical computers. I don't believe that quantum computers can fully replace our classical ones, but they surely will have a major role in our lives in the future, and we are just at the beginning.

  • Diogo Viana avatar
  • Diogo Viana
  • ·February2021
  • quantum computing
  • financial
A man working in a wood workshop

Simulations with Elixir and the Actor Model

A simulation of a game, weather, aerodynamic behavior, or any other action, has intrinsically the same goal - take a peek into the future and see how things will perform in real life. These simulations all require an extent of calculations and variables to take into account, but also a model that will elegantly run through them. Here we'll see how to use Elixir and the Actor Model in an example simulation.

  • Diogo Viana avatar
  • Diogo Viana
  • ·January2021
  • elixir
  • simulations
A man with a respirator, reading newspaper and drinking a cup of coffee

Next.js and Airtable: a tale of empowering no-code tools

Back in June, we received a request to help build a website for an academic non-profit organization (our friends at AAUM), in Braga, Portugal. They needed a website to help spread awareness of the MinhoCovid19 movement, a group of people trying to supply organizations in need (nursery homes, hospitals, etc) with protective materials built by volunteers.

  • Francisco Sousa avatar
  • Francisco Sousa
  • ·December2020
  • javascript
  • webdev
A grounded derelict plane

Refactoring or: How We Learned to Stop Worrying and Live with Chaos

I will be completely transparent and start by saying that this blogpost itself has been rewritten a couple of times since its original idea. Given the topic we are going to discuss, it seems fitting that that happened. In the beginning of 2019, we took over a Rails project. On the surface, it looked like a typical Rails app with an integration to a payment service. The fun began when we started to take a closer look at the codebase.

  • Davide Silva avatar
  • Davide Silva
  • ·December2020
  • ruby
  • rails
A ruby code sample

Reactive Rails applications with StimulusReflex

A while ago I made a blog post about the modern web with just Rails (and a few other things). Today I'm going to explore another way of doing awesome things with Rails, in the spirit of the modern, reactive, and real-time, web. Let's explore StimulusReflex, an extension to the amazing library made by Basecamp, to make server-side reactive applications.

  • Francisco Sousa avatar
  • Francisco Sousa
  • ·September2020
  • ruby
  • rails
An assortment of various spices

Spicing up your Rails frontend experience

Rails is great. You can still check DHH's 15-minute blog demo and just appreciate the combination of features and ease of use of the framework. Even though there are even easier ways to make a blog nowadays (cough cough Gatsby), Rails is still a rock-solid choice for crafting digital products.

  • Francisco Sousa avatar
  • Francisco Sousa
  • ·August2020
  • ruby
  • rails
Plate of past with cherry tomatoes and basel

Let’s slim down on Javascript

The ancient narrative of "Javascript bloat" is ever-present in the tech world. Web developers love Javascript, backend developers hate it and end-users usually don't give a damn about it as long as websites open fast, work as they should, and do not spy on them. Still, web pages have way too much Javascript, especially SPAs, that could be avoided with just a few tips. Let's see how.

  • Francisco Sousa avatar
  • Francisco Sousa
  • ·July2020
  • javascript
  • performance
All Blog Posts DesignDevelopmentTeam
  • About
  • Work
  • Blog
  • Contacts
  • Careers
Book a callJoin our team

Let's build the next big thing, together.

contact@finiam.com
TWIN