For the past several months, I’ve been building something that started as a simple idea and gradually turned into a complete social platform.
Its name is Flux.
Flux is built around a simple question:
What if social media wasn’t only about what is happening now?
Instead of focusing only on the present, Flux gives people a way to connect with their future selves, their goals, their thoughts, and other people.
What is Flux?
One of the core ideas behind Flux is Future Messages.
You can write a message today and choose when you want to receive it in the future.
Maybe it’s a message to yourself one year from now.
Maybe it’s a reminder about a goal you’re working toward.
Maybe it’s something you want to remember at a specific moment.
The idea is simple: write it now, and let your future self discover it later.
Building the system
Flux is built with Flutter, with Firebase handling much of the backend infrastructure.
The project includes systems for:
- User authentication and profiles
- Social posts and interactions
- Following and followers
- Real-time messaging
- Notifications
- Media uploads
- Future Messages
- Goal progress tracking
- Public, private and anonymous content
- Premium functionality
One of the more interesting parts for me was designing the Future Message system.
Messages have an unlock time, and the system automatically detects when that time has arrived. Once unlocked, the user receives a notification and can go through a small reveal experience before reading the message.
Goals are more than a checkbox
I also wanted goals to feel like something you actually progress through.
Instead of simply creating a goal and marking it as completed, Flux breaks the journey into stages.
Each completed stage moves you closer to the final goal.
When a goal is completed, it becomes part of your history rather than simply disappearing.
Building it alone
The most challenging part wasn’t writing a single feature.
It was building everything around the features.
Architecture.
State management.
Database structure.
Security.
Notifications.
Error handling.
Performance.
Testing.
Edge cases.
And then going back and questioning decisions that seemed perfectly reasonable a few months earlier.
Building a social platform means that a feature that looks simple from the outside can have many different systems behind it.
A message isn’t just a message.
A notification isn’t just a notification.
A profile isn’t just a screen.
Every part has to communicate with the rest of the application reliably.
What I learned
The biggest thing I learned is that building a real product is very different from building a prototype.
A prototype asks:
“Can I make this work?”
A production application asks:
“What happens when everything goes wrong?”
That change in mindset completely changed the way I develop software.
I started thinking much more about failure cases, data consistency, performance, security, user experience and long-term maintainability.
What’s next?
Flux is now approaching its release stage.
There is still work to do, but seeing an idea that started as a concept gradually become a real application has been one of the most rewarding parts of the process.
I’m planning to share more technical details about the project here — including how I designed the Future Message system, the goal progress architecture, Firestore data structures, and some of the lessons I learned while building a social platform from the ground up.
This is only the beginning.
— Sinan Səttarlı
Creator of Flux

Top comments (0)