• Home
  • About
  • Work
  • Blog
  • Contact
  • We're hiring
  • Home
  • About
  • Work
  • Blog
  • Contact
Join our teamcontact@finiam.com
TWIN
Toothpaste on a toothbrush

Building dapps with Starknet React

If you want your dapp to interact with Starknet, then Starknet React can make your life easier. It's a collection of React hooks inspired by wagmi, which you can make it a breeze to allow user wallet connections, read network state, and interact with contracts.

  • David Lange avatar
  • David Lange
  • ·June2023
  • starknet
  • react
image of a pyramid

Storing custom structs in Cairo 1

Let’s imagine you are writing a Starknet smart contract in Cairo 1 and you want to store some complex data as the value of a map in your contract’s storage. You probably want to use a custom struct to save that complex data but you’ll find a small surprise.

  • Davide Silva avatar
  • Davide Silva
  • ·May2023
  • cairo
  • starknet
a fox on a road

Sign in with Metamask using LiveView

Metamask is an Ethereum crypto wallet, and serves as a gateway to dApps (decentralized Apps). By using a solution such as "Sign in with Metamask" (or any other wallet, as highlighted before) the user doesn't need to worry about an extra "username + password" combo. There are several solutions to do this using React or any modern JS Framework, but in this blogpost I'll tackle this using Elixir's LiveView.

  • Diogo Viana avatar
  • Diogo Viana
  • ·May2023
  • metamask
  • signin
Abstract image of a computer

How Learning to Code Can Make You a Better Product Manager

The article provides insights and advice for product managers who are interested in improving their technical knowledge and bridging the gap between the technical and non-technical aspects of product development.

  • Anna Trofimenko avatar
  • Anna Trofimenko
  • ·April2023
  • product management
  • programming
A model of a chicken

Creating animated chickens with zdog

Animated shapes are a great way of adding a bit of visual fun and flair to your projects. If you need something simple and easy to set up, zdog might be what you're looking for. It's round, flat, and fun to use. Find out how you can use it!

  • David Lange avatar
  • David Lange
  • ·April2023
  • javascript
  • animation
Sign with "expect delay" caption

Exponential Backoff with Elixir

When we rely on external services, they may not always be available, may take a long time to respond, or may not be able to fulfil our requests. This can be frustrating, but if it's a one-time request and we only need to query one host, we can simply keep trying until we get a response.

  • José Resende avatar
  • José Resende
  • ·April2023
  • Exponential
  • backoff
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
photo of the team

Are you the one?

First things first, if you are expecting a technical blog post, this time you are in the wrong place! What you are about to read is an opinion article, but it is not just about me, it is about us!

  • Catarina Gomes avatar
  • Catarina Gomes
  • ·September2022
  • team
  • hiring
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
Team on the stage of the ETHAmsterdam as finalists

finiam goes to Amsterdam

Back in April, we participated in the ETHAmsterdam hackathon. Our project idea, Detris, ended up being selected as one of the 13 finalists. In this blog post I am going to talk about our experience participating in the hackathon and give a bit of insight to our Detris project.

  • Davide Silva avatar
  • Davide Silva
  • ·July2022
  • detris
  • amsterdam
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
Sunrise with flying ducks

Hello, World!

Finiam hit the road running and time truly flew by. As we end 2020, we look back at what happened in the first year of the company and the last couple of months and noticed that somewhere along the road we forgot to introduce ourselves.

  • José Gomes avatar
  • José Gomes
  • ·January2021
  • fintech
  • team
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
Our cryptobrands website

Cryptocurrency brands need to say Hello more often

When I read this I realised he’s absolutely right. Why are cryptocurrency brands in general so far behind in the technology industry? I am a graphic designer who slowly migrated to the technological industry, more recently to the financial sector (finiam)

  • Rafael Ferreira avatar
  • Rafael Ferreira
  • ·November2020
  • cryptocurrency
  • fintech
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