StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Home
  2. Companies
  3. Fresha
Fresha logo

Fresha

Verified

Fresha

Warsaw, PLwww.fresha.com
53
Tools
10
Decisions
0
Followers

Tech Stack

Application & Data

28 tools

Debezium logo
Debezium
Elixir logo
Elixir
JavaScript logo
JavaScript
Docker logo
Docker
Amazon Redshift logo
Amazon Redshift
Amazon Route 53 logo
Amazon Route 53
Amazon CloudFront logo
Amazon CloudFront
Helm logo
Helm
TypeScript logo
TypeScript
Node.js logo
Node.js
Capacitor logo
Capacitor
Remix logo
Remix
Envoy logo
Envoy
Amazon RDS logo
Amazon RDS
Redux logo
Redux
Kubernetes logo
Kubernetes
Phoenix Framework logo
Phoenix Framework
PostgreSQL logo
PostgreSQL
Amazon EC2 logo
Amazon EC2
Redis logo
Redis
Amazon S3 logo
Amazon S3
Ruby logo
Ruby
Rails logo
Rails
Argo logo
Argo
Fastly logo
Fastly
Fivetran logo
Fivetran
dbt logo
dbt
Snowflake logo
Snowflake

Utilities

7 tools

Slack logo
Slack
Twilio SendGrid logo
Twilio SendGrid
Kafka logo
Kafka
gRPC logo
gRPC
RabbitMQ logo
RabbitMQ
Twilio logo
Twilio
Google Maps logo
Google Maps

DevOps

13 tools

Cypress logo
Cypress
Terraform logo
Terraform
GitHub logo
GitHub
Git logo
Git
Sentry logo
Sentry
Datadog logo
Datadog
Prettier logo
Prettier
CircleCI logo
CircleCI
ESLint logo
ESLint
Jenkins logo
Jenkins
Jira logo
Jira
Webpack logo
Webpack
Ansible logo
Ansible

Business Tools

5 tools

React logo
React
Storybook logo
Storybook
Notion logo
Notion
Figma logo
Figma
Confluence logo
Confluence

Team Members

Chris Greeno
Chris GreenoConsultant
Karol Igielski
Karol IgielskiBackend Developer
Kamil Kowalski
Kamil KowalskiLead Architect
Roman Berdichevskii
Roman BerdichevskiiElixir developer
Kondrat
Kondrat
Martin
Martin
mykulyak
mykulyak
Sam Stewart
Sam Stewart
zaremjan
zaremjan
Anton Varich
Anton Varich
Michał Sacewicz
Michał Sacewicz

Engineering Blog

Stack Decisions

Kamil Kowalski
Kamil Kowalski

Feb 8, 2021

Coming from a Ruby background, we've been users of New Relic for quite some time. When we adopted Elixir, the New Relic integration was young and missing essential features, so we gave AppSignal a try. It worked for quite some time, we even implemented a :telemetry reporter for @{AppSignal}|tool:507| . But it was difficult to correlate data in two monitoring solutions, New Relic was undergoing a UI overhaul which made it difficult to use, and AppSignal was missing the flexibility we needed. We had some fans of Datadog, so we gave it a try and it worked out perfectly. Datadog works great with Ruby , Elixir , JavaScript , and has powerful features our engineers love to use (notebooks, dashboards, very flexible alerting). Cherry on top - thanks to the Datadog Terraform provider everything is written as code, allowing us to collaborate on our Datadog setup.

255k views255k
Comments
Kamil Kowalski
Kamil Kowalski

Dec 23, 2019

When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

4.17M views4.17M
Comments
Sebastian Gębski
Sebastian Gębski

Mar 25, 2019

"Soft" part of our development process is handling with: JIRA (which supports our processes & workflows), Confluence (as a knowledge base) & Slack (not only as a collaboration tool, but also as an integration platform for various bots - ChatOps). We use Slack to ask for optimal peer code reviews, create new test environments, etc. We keep UI/UX designs in InVision .

205k views205k
Comments
Sebastian Gębski
Sebastian Gębski

Mar 25, 2019

Regarding Continuous Integration - we've started with something very easy to set up - CircleCI , but with time we're adding more & more complex pipelines - we use Jenkins to configure & run those. It's much more effort, but at some point we had to pay for the flexibility we expected. Our source code version control is Git (which probably doesn't require a rationale these days) and we keep repos in GitHub - since the very beginning & we never considered moving out. Our primary monitoring these days is in New Relic (Ruby & SPA apps) and AppSignal (Elixir apps) - we're considering unifying it in New Relic , but this will require some improvements in Elixir app observability. For error reporting we use Sentry (a very popular choice in this class) & we collect our distributed logs using Logentries (to avoid semi-manual handling here).

1.05M views1.05M
Comments
Sebastian Gębski
Sebastian Gębski

Mar 25, 2019

We make sure to implement only the functionalities that are specific to our business domain (Beauty & Wellness) & use other services for functionalities we find generic or secondary (they do not make us stand out). We've picked the most stable & popular ones we could find for such purposes: Google Maps (for salon location maps), Mandrill (sending mail notifications), Twilio (sending SMS notifications) or Braintree (for payments).

79.2k views79.2k
Comments
Sebastian Gębski
Sebastian Gębski

Mar 25, 2019

Initially, all our users accessed the platform using web apps, but at some point mobile was a must, not an option. We've decided to go for relatively unpopular option - share as much of Front-End JavaScript code by bundling React applications on the top of Apache Cordova. This way we didn't have to hire Android/iOS developers & we've simplified testing of our apps. We knew it won't be possible to achieve fully native UI/UX on both platforms (Google Play & iOS App Store), so we've ... decided to design our own look'n'feel, which is not native, but attractive enough to stand out in the eyes of our users. All our Front-End apps are built with Webpack (pretty much an industry standard these days ...) & static-checked with ESLint (we have a locally customized set of rules).

28.4k views28.4k
Comments
Sebastian Gębski
Sebastian Gębski

Mar 25, 2019

Heroku was a decent choice to start a business, but at some point our platform was too big, too complex & too heterogenic, so Heroku started to be a constraint, not a benefit. First, we've started containerizing our apps with Docker to eliminate "works in my machine" syndrome & uniformize the environment setup. The first orchestration was composed with Docker Compose , but at some point it made sense to move it to Kubernetes. Fortunately, we've made a very good technical decision when starting our work with containers - all the container configuration & provisions HAD (since the beginning) to be done in code (Infrastructure as Code) - we've used Terraform & Ansible for that (correspondingly). This general trend of containerisation was accompanied by another, parallel & equally big project: migrating environments from Heroku to AWS: using Amazon EC2 , Amazon EKS, Amazon S3 & Amazon RDS.

551k views551k
Comments
Sebastian Gębski
Sebastian Gębski

Mar 25, 2019

Initially we had just 1 monolithic application with a PostgreSQL database (picked for performance, community & flexibility to work with GIS data), but as we've developed more features, it was clear that some stuff is relatively independent from the rest of the platform - it made sense to split the application into loosely coupled, asynchronously communicated services. As a communication broker we've used RabbitMQ (wrapped in our custom, ProtoBuff-based wrapper). To reduce some excessive inter-process (& inter-dyno) communication, we've applied Redis as a tool to keep short-lived, not-persistent information (but not as a cheap caching workaround for any kind of performance issues ;>).

74.9k views74.9k
Comments
Sebastian Gębski
Sebastian Gębski

Mar 25, 2019

Another major decision was to adopt Elixir and Phoenix Framework - the DX (Developer eXperience) is pretty similar to what we know from RoR, but this tech is running on the top of rock-solid Erlang platform which is powering planet-scale telecom solutions for 20+ years. So we're getting pretty much the best from both worlds: minimum friction & smart conventions that eliminate the excessive boilerplate AND highly concurrent EVM (Erlang's Virtual Machine) that makes all the scalability problems vanish. The transition was very smooth - none of Ruby developers we had decided to leave because of Elixir. What is more, we kept recruiting Ruby developers w/o any requirement regarding Elixir proficiency & we still were able to educate them internally in almost no time. Obviously Elixir comes with some more tools in the stack: Credo , Hex , AppSignal (required to properly monitor BEAM apps).

165k views165k
Comments
Sebastian Gębski
Sebastian Gębski

Mar 25, 2019

First major improvement to the stack was related to introducing React & Redux.js to improve the UX of our front-end applications. Our most popular (by far) dashboard is a complex calendar - a lot of things are happening there & relying on full page refresh was heavily impacting its usability. We've decided to go all the way JavaScript and build a full-fledged SPA.

5.32k views5.32k
Comments