Nottrix is the personal project I have been working on lately. It is an app for organizing everyday life without scattering information across five different tools. It brings documents, personal finances, subscriptions, whiteboards, habits, and reminders to the web and mobile.
The problem
The idea came from a very specific need: I wanted my finances, notes, and reminders in one place. Tools such as Notion are highly flexible, but that freedom also means building databases, formulas, views, and templates before using them. For everyday actions, that setup work becomes another task.
My biggest issue with Notion was that I would end up spending much of my day changing the page or the template instead of using it. It took more time than it should have.
Yes, I know that sounds contradictory: I complained about configuration time and then decided to build a complete cross-platform tool. At first, I wanted to tackle all that complexity. But once the app was far enough along, the idea was to simply use it. Everything is adapted to my specific needs and to what I use every day.
With Nottrix, I wanted to go in the opposite direction: solve common decisions in advance. Instead of a blank canvas, each module starts from a familiar need and is ready to use from day one.
A focused tool, not another Notion
Nottrix is not trying to replace Notion or Obsidian. They are still great choices for team wikis, complex knowledge bases, or fully customized systems. Nottrix is for people who prefer a more direct way to keep track of daily information, without building and maintaining their own system.
The dashboard ties the modules together with quick actions. It shows the financial balance, upcoming reminders, and recent work. Documents, whiteboards, and finance do not sit as isolated features; they are parts of one routine.
I understand that the app's target is huge. On one side, there are tools focused only on finance; on the other, Notion, Obsidian, and similar tools for documents; then Mural, FigJam, or Excalidraw for whiteboards. But that is the important part: Nottrix was not born to compete with any of them.
It was born to organize my day to day and help me be more organized and efficient. Its focus is to centralize the things I use every day. It never was, and never will be, about competing with those products. It came from a specific need of its creator.
A look inside Nottrix
Personal finance
In finance, you can record income and expenses, check balances, and follow account activity from one view. Subscriptions are part of that view too. I did not want financial organization to become a spreadsheet that has to be designed first. The point is to show the information needed for everyday decisions.
Documents and notes
Documents use a block-based editor for writing, structuring ideas, and keeping them in the same workspace. It works for a quick note. It also works for more detailed content.
Whiteboards for visual thinking
The integrated whiteboards let you draw and connect ideas. Visual planning stays part of the everyday workflow, without leaving the app.
Reminders that arrive on time
Reminders keep tasks visible. You can pick them back up from the web or mobile. Organization is not tied to one screen or dependent on checking several apps.
Built as a cross-platform product
The project began as a Next.js web app. It then evolved into a monorepo that separates responsibilities and platforms. It combines a React web application with TanStack Router, a React Native and Expo mobile app, and a desktop app in development with Wails and Go.
The backend uses Node.js, Hono, and oRPC. PostgreSQL and Drizzle handle data, while Redis is used for caching, temporary storage, and workers. The public landing site is mostly static for performance, SEO, and reliability. This lets each interface evolve without losing a coherent experience.
API contracts with oRPC
Nottrix uses oRPC for communication between clients and the API. The strong point is end-to-end typing: procedures, inputs, and responses are defined once on the server, and that contract reaches the client through TypeScript inference. When a response or parameter changes, the compiler helps find the affected screens and hooks before it becomes a silent production error.
It also lets each operation be expressed as a procedure with a clear contract, instead of scattering routes, types, and manual fetch calls across the application. Middleware keeps repeated rules close to the API: authentication, organization context, permissions, validation, and error handling. That way, the web and mobile apps speak the same language with the backend.
Why a monorepo
The monorepo is not just a way to store repositories together. It lets me open the web app, mobile app, API, workers, and shared packages in one editor. I can follow the full path of a feature without switching projects. Domain types, TypeScript utilities, validation, and shared logic live in reusable packages instead of being copied and drifting between platforms.
In practice, when a date rule, currency formatter, or contract changes, I can trace its usage from one place and update web and mobile with the same context. It does not remove the differences between platforms. But it reduces friction, prevents inconsistencies, and makes the architecture easier to maintain as the product grows.
AI as an accelerator, not the owner
AI models are part of Nottrix's development process. They help explore alternatives, prepare repetitive changes, and move faster. The monorepo gives them more context too: they can see contracts, shared packages, and project conventions before proposing a change.
But speed only helps when judgment stays in place. Before implementing a task, I start with a plan and review it. Then I apply changes step by step and check them against the project's architecture, methods, and rules. Stage-by-stage commits keep changes small, understandable, and reversible. I do not want to accept a large modification that nobody fully understands.
An agent can be wrong, suggest an unnecessary abstraction, or misunderstand the problem. It has happened to me. That is why I do not delegate responsibility: I review the code, correct the direction, and validate every result. Using AI does not mean stepping away from the project. The person who chooses to use it, writes the instructions, and approves its changes remains responsible for what gets built, changed, broken, or deleted.
Current status
Nottrix is in closed beta with a small group of people using the product and sharing feedback. I take their comments into account; in fact, several features came from their recommendations. This stage is not about adding features for their own sake. I want to validate whether the modules actually remove friction: whether it is easy to start, information is easy to understand at a glance, and context carries between web and mobile.
It is an evolving personal project that I also build for my own daily use. Learn more at nottrix.com, the story behind it, and its technical decisions.