EngineeringFull-timeRemote

Product Engineer

Build the bits people open Fluxer to use, top to bottom: web, mobile, desktop, and the services behind them.

Listed March 1, 2026

These are reference pages, not active job openings.

Product Engineer

Fluxer is an open-source chat app for text, voice, and communities, built for people who want a chat product that respects their time and data. The company is based in Sweden, and our employees and contractors work remotely across countries. We are a small team, so people are expected to own their work, communicate clearly, and stay close to the users affected by their decisions. The code is public, so you can read how the product is built before you apply.

What this role is

Product engineers build the parts of Fluxer people use every day: messages, channels, calls, notifications, settings, desktop behavior, mobile flows, and the backend services behind them.

The backend services are TypeScript and Rust. The real-time infrastructure is Erlang/OTP. The desktop client is Electron, with Rust underneath. The mobile app is Flutter. You do not need to know all of that on day one, but you should be comfortable learning across boundaries.

The role is intentionally broad. Some weeks you will work on a client feature, some weeks on an API, a performance investigation, or a bug that crosses several parts of the stack. Because the work is public, we care about clear code, clear reasoning, and changes that are understandable after they ship.

What you would actually be doing

  • Shipping features across web, mobile, desktop, and backend
  • Building APIs and services that support real product workflows
  • Working with design from rough sketches through implementation details
  • Helping decide what is worth building, what should wait, and what tradeoffs are acceptable
  • Reading support and moderation feedback directly, so product decisions stay connected to real user problems
  • Improving performance, accessibility, internationalisation, and the small interactions that make the app feel reliable
  • Reviewing code thoughtfully and helping keep the codebase understandable
  • Working in public, where contributors and users can see, clone, and discuss what you ship

What makes someone good at this

  • You have shipped real software, professionally or through open source and side projects
  • You are comfortable on at least one modern client stack (ours are a web and Electron client and a Flutter app) and curious enough to pick up whatever else turns up
  • You have built and maintained REST or RPC APIs that real users depend on
  • You can orient yourself in a large, multi-package codebase without a guided tour
  • You care about how a feature feels to use, not only whether it technically works
  • You are pragmatic: ship useful improvements, learn from them, and keep making them better

Other things we would be glad to see

  • Experience with any part of our stack: TypeScript or Rust on the backend, Erlang/OTP for real-time, Electron and Rust on the desktop, or Flutter on mobile
  • Experience with actor runtimes such as Erlang/OTP or Elixir, since the real-time layer is built on Erlang/OTP
  • WebSocket protocols, long-lived connections, reconnect logic, and the many small ways those go wrong
  • Production database experience, relational or wide-column, at a scale where you have opinions about indexes
  • Open-source or community-driven development
  • Internationalisation (i18n) in large applications

Who you would work with

You would work across the whole team: design from sketch to ship, platform engineering on the systems behind the app, and support and safety on the problems users are actually hitting. Small team, low ceremony, and enough trust that you help shape the problem rather than only implement the answer.