BlogAugust 17, 2026

Hummmm... Here We Go Again :))

Two personal projects, a lot of curiosity, and the small decision to share the process while it is still unfolding.
SeyedAli Emami
Hummmm... Here We Go Again :))
Hummmm... Here we go again :)) I have been working on two personal projects lately, and I thought I should not let the opportunity pass without writing about them here. I want to share the interesting parts, the problems I run into, the decisions that take longer than expected, and the lessons that only appear after something has been built and tested in the real world. So, before anything else: what are these two projects?
A personal workspace with a money-management app and a room IoT prototype in progress
The first project is a personal finance application. The goal is not to build an intimidating financial dashboard full of numbers that nobody wants to maintain. I want to make something simple, practical, and pleasant to use—something that helps people understand where their money is going without turning every small decision into a spreadsheet exercise. The interesting challenge is that “simple” is not the same as “small.” A useful money-management tool has to make the important things easy:
  • recording income and expenses without friction;
  • understanding recurring costs and everyday spending;
  • seeing a clear picture instead of a pile of disconnected transactions;
  • keeping personal data private and under the user’s control;
  • making the next sensible action obvious.
There is a lot of product thinking hidden inside those goals. Every extra field can make the app more accurate and less likely to be used. Every shortcut can make it faster and less trustworthy. I am trying to find the balance between a tool that is lightweight enough to become a habit and structured enough to be genuinely helpful. If there is no war—although it looks like it may be heading in that direction 😅—my plan is to launch the first version at the beginning of Mordad, the fifth month of the Persian calendar. I am not sharing the name yet. Let’s keep that as a small surprise. 😄 The second project is Nexa, an IoT project for rooms—but I think of it as more than a dashboard for sensors. I want Nexa to make a room feel aware without making it feel invasive. Lights, temperature, presence, weather, sound, and small routines should become part of a space that responds naturally. The system should help the room communicate what is happening, while still leaving the person in control.
NexaRoom ready state with the robot character in the center of the room
One of the parts I am most excited about is the character. I designed a small robot for NexaRoom. It still needs more work, but I do not think it turned out badly at all. The main inspiration came from WALL-E: not a direct copy, but the idea that a machine can feel expressive through simple movements, a warm silhouette, a pair of curious eyes, and a little bit of awkwardness. That matters because the robot changes the relationship between a person and an IoT system. A list of sensor values is useful, but it is emotionally flat. A character that turns toward the window, reacts to the room, or celebrates a small action gives the system a readable presence. The character is not meant to pretend to be human. It is more like a visual translator for the room: a friendly layer between raw events and the person trying to understand them.
Nexa’s robot switching on a room light
I have designed a number of actions and animations for the character. They are not perfect yet. Some are still rough, some transitions need better timing, and a few movements feel more like a prototype than a finished performance. But they are not bad either—and, more importantly, they already make the room feel more alive. The current direction includes states such as:
  • Ready, when the room is available and the system is waiting;
  • Sleep, for a quieter low-activity state;
  • Play, when Nexa is doing something playful rather than only reporting data;
  • Read and Study, for focused room modes;
  • Draw, Listen, Search, and Talk, which can become different ways of expressing attention;
  • Window, when the character notices or looks toward the outside world;
  • Football, because a room assistant does not always need to be serious.
The window interaction is one of my favourites right now. Nexa turns toward the window as if it has noticed something outside. It is a small action, but it gives the room a sense of direction. The robot is no longer just standing in front of a background; it is looking at its environment. And yes, it can play football too. That interaction is deliberately a little silly, but it is useful design research. It tests whether the character can move with energy, switch modes, and make the interface feel personal without becoming noisy.
Nexa looking toward the window during the Window action
Here is the current interaction demo. It is an early version, so I am treating it as a field test rather than a final showcase. The timing, transitions, and sound design will keep changing as I work on it.
NEXA / FIELD TESTNexa interaction field test
00:00 / 00:00
A short NexaRoom interaction test: the character, room states, and early action design.
Nexa’s weather state with the robot reacting to the room context
I am also working on a set of sound effects. The goal is not to add noise to every click. Sound should clarify a change of state: a soft confirmation when Nexa understands something, a small mechanical cue when the robot turns, or a more playful signal when it starts a game. The sound design has to stay restrained. If every movement has a loud effect, the character becomes exhausting. If the audio is too subtle, it disappears. I want a small vocabulary of sounds that makes the system feel tactile and gives important moments a little weight. The character is the visible part, but the real engineering challenge sits underneath it. Nexa has to connect a room’s physical events to a clear digital state. That means thinking about presence, light levels, weather data, device availability, and the reliability of the connection between them. A good animation cannot hide a stale sensor or a command that failed silently. The system needs to answer practical questions:
  • What should happen when a sensor reports late?
  • How should Nexa behave when the network disappears?
  • What happens when two routines conflict?
  • How can a person see why an action happened?
  • Which automations should be automatic, and which should always ask first?
That is why I do not want Nexa to be only a collection of attractive animations. The character has to be connected to trustworthy room behaviour. If it looks toward the window, there should be a reason. If it changes the light, the system should be able to explain that decision. If it enters sleep mode, the person should be able to wake it up. The hard part is not making one device turn on. The hard part is making the whole room feel dependable, understandable, and a little bit alive. Those are the questions I want Nexa to help me answer. It is tempting to wait until a project is polished before talking about it. The problem is that a polished result hides most of the useful decisions. The more interesting story is usually in the middle: the first wrong assumption, the feature that looked necessary and was later removed, the small naming problem that exposed a larger product problem, or the moment when a prototype finally starts to feel like a system. Sharing the process also creates a little accountability. It gives me a reason to explain what I am building clearly, and it lets the projects grow through questions and feedback instead of staying locked inside my own head. At first glance, a money-management app and a room IoT system have almost nothing in common. One is mostly digital; the other reaches into the physical world. One deals with personal financial habits; the other deals with sensors, devices, and automation. But both projects are really about reducing uncertainty. The finance app should make money easier to understand. Nexa should make a room easier to understand and control. Both need clear feedback, sensible defaults, good failure states, and enough transparency that the user can trust the system without constantly checking whether it did the right thing. That connection is one of the reasons I am excited to work on them at the same time. I will share updates about both projects gradually. Some posts will be technical. Some will be about product decisions. Some will probably be about things that broke in a way I did not expect. For now, I am using two hashtags so the posts are easier to find:
  • #IOT for Nexa and room automation;
  • #MM for the money-management app.
That is the introduction for now. More soon. You are the best. ❤️ :))
Share this post: