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. Refi App
Refi App

Refi App

refiapp.io

A tool to make interacting with Firestore less painful

5tools
1decisions
0followers
OverviewTech Stack5Dev Feed

Tech Stack

View all 5
Stack by Layer
Application & Data4
Business Tools1
Application & Data
4 tools (80%)
Business Tools
1 tools (20%)

Application & Data

4
TypeScriptRecoiljsElectronTailwind CSS

Business Tools

1
React

Latest from Engineering

View all
Le Thanh
Le Thanh

Engineer at Refi App

Apr 14, 2021

DecidedonElectronElectronmacOSmacOSRecoiljsRecoiljs

Why Electron over macOS

  • Since this is a very early stage, so I want to verify the hypothesis so that I go with Electron. It will help you build faster, cross-native app but the trade off is the performance. It's ok, if the app is get product-market fit, we will plan to move it to Native platform to bring high performance for users

Why Recoiljs over Redux or something else

Why not Redux? Zustan? DVA?

  • The boilderplace is so fukin hard. Besides, it really hard for optimizing to only render a component that subscribes to a sub-tree state. I need to use selector, memorize, immutable, ...

Why not MobX? MST?

  • It has been a long time since I last use Mobx, MST. It's cool, but now the world has changed a lot, no more Class component, so I don't know it supports a lot.
  • One more thing I don't want to use MobX is that the API is changed a lot in each major version. No! I don't want to use an outdated library for the rest of my life
  • I feel can not control how Component will render when I use MobX

Why Recoil?

  • It solves my concern, each component is subscribed to a very small state object (called atom) and only render once they changed
  • It plays nice with Functional Component. You can easily change useState to useRecoilState and vice versa. It's cool because "Alway use local state, only move it to global once needed"
  • I can map the product concept to state in my brain. A cell in a table should be an atom so that the cell will render on its own.
16.7k views16.7k
Comments

Team on StackShare

1
Le Thanh