raa-ziq

raa-ziq

Hi everyone :waving_hand:

I wanted to share something I’ve been building — NowBlind, a random chat app designed to help people discover and connect with strangers in a simple, fast, and genuinely fun way.

The idea is simple: remove friction and let conversations happen instantly — whether through text, voice, or video.

Instead of profiles, feeds, or followers, the focus is on real-time, spontaneous interaction.

What NowBlind offers

  • Random Chat (Text, Voice, Video)
    Instantly connect with strangers across multiple modes.

  • Seamless Mode Switching
    Move between text, voice, and video without breaking the flow.

  • Real-time Matching System
    Users are paired instantly with minimal wait time.

  • Safe & Controlled Environment
    Skip, block, and session controls are built in from the start.

  • Friend System
    Continue conversations later if both users choose to.

  • Ephemeral by Default
    Conversations aren’t persisted unless intentionally continued.

  • Mobile-first UI
    Designed to feel smooth and native across devices.

  • LiveView-driven Interface
    Fast, reactive UI without a heavy frontend framework.

How it’s built

NowBlind leans heavily into Elixir’s strengths for concurrency and real-time systems.

  • GenServer-based matchmaking
    A dedicated process handles random user pairing in real time, keeping the logic isolated and predictable.

  • ETS for ultra-fast lookups
    Used as an in-memory layer for things like user availability, block lists, and relationship checks — significantly reducing database read load.

  • Phoenix Channels + LiveView
    Powering real-time communication and UI updates.

  • Ecto + PostgreSQL
    For persistence and relational data.

  • Oban
    Background jobs (cleanup, async processing, etc.).

Tech stack

  • Phoenix ~> 1.8

  • Phoenix LiveView ~> 1.1

  • Ecto + PostgreSQL

  • Oban

  • ETS

  • GenServer

  • TailwindCSS + Heroicons

  • Bandit

  • Finch / Req

  • ExAws + S3

  • Goth

Supporting:

  • telemetry_metrics / telemetry_poller

  • gettext

  • jason

  • dns_cluster

  • ecto_network

  • hackney

A note on real-time media

One area I’m still refining is WebRTC.

Coming into Elixir, I didn’t fully explore the ecosystem around it early on, so parts of the media layer are not as tightly integrated with Elixir-native solutions as they could be.

In the next iteration, I’m planning to adopt more robust WebRTC tooling from within the ecosystem.

Why Elixir?

Elixir made this kind of system feel natural.

Handling concurrency, presence, matchmaking, and real-time updates is straightforward with Phoenix. LiveView, in particular, allowed building a fast, interactive product without maintaining a complex frontend stack.

NowBlind is live and evolving quickly.

  1. We jus hit 2500 signups
  2. The reason to build a random chat app
  3. The difference between NowBlind and other random chat apps

There’s still a lot to improve, especially around scaling patterns and real-time media, so I’d love feedback — particularly from anyone who has worked with matchmaking systems or WebRTC in Elixir.

Thanks to this community — it’s been a huge enabler :raising_hands:

  • Razique

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
GES233
I’m posting this in response to Jose’s recent tweet (Cr. link) : People are sleeping on Elixir for a coding harness: Hot-code swappi...
New
_mfierro
Hello, I wrote Stop My Hand, a Scattergories-like web application using Phoenix/LiveView as my learning project for Elixir (after readin...
New
marciol
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
durvia
Anyone running long-lived stateful processes on BEAM? We’re building an AI agent runtime and would love to compare notes. We’re a small ...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews