Forge of Ideas is a productivity desktop application built with Electron + React + TypeScript + Vite.
Its goal is simple: help you organize, prioritize, and forge (develop) your ideas — while enforcing a healthy rule:
You can only work on ONE idea at a time.
This app was born from a personal struggle: juggling too many projects at once and finishing none. Forge of Ideas solves that by giving you a structured list for storing ideas and a single Forge slot where only one idea can be actively worked on at a time.
- Displays your ideas in a scrollable sidebar list, color-coded by priority.
- Navigate through pages using elevator-style up/down buttons, or add new ideas with the + button.
- Filter ideas quickly using the search bar at the top.
- Priority counters at the top show how many ideas exist per priority level (displayed as colored hexagons).
- Each idea can have:
- Name
- Description
- Priority (1 to 3, represented by color — orange, teal, or gray)
- Click an idea to select it and view its details.
- The center panel shows the currently selected idea in detail.
- When ready, you can Forge an idea — moving it into active development.
- A forged idea cannot be edited or sent back to the list.
- You must resolve it by either:
- Marking it as Forged (completed), or
- Deleting it (abandoned)
- Once resolved, the Forge slot becomes free again.
- The right panel shows a focused view of the selected idea.
- From here you can:
- Forge it (start working on it)
- Edit it (update name, description, or priority)
- Delete it
Forge of Ideas is distributed as a Nix flake and is meant to be consumed via Home Manager.
In your flake.nix, add Forge of Ideas as an input and pass it through to your Home Manager configuration:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
forge-of-ideas.url = "github:menezess42/forgeOfIdeas";
};
outputs = { nixpkgs, home-manager, forge-of-ideas, ... }@inputs: {
homeConfigurations."your-username" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit forge-of-ideas; };
modules = [ ./home.nix ];
};
};
}Receive forge-of-ideas as an argument and add the package to home.packages:
{ config, pkgs, lib, forge-of-ideas, ... }:
{
home.packages = with pkgs; [
forge-of-ideas.packages.x86_64-linux.default
# ... your other packages
];
}home-manager switch --flake .#your-usernameAfter that, forge-of-ideas will be available in your $PATH.
The project is fully configured for development using Nix.
This is the recommended — and simplest — way to work on Forge of Ideas.
After cloning the repository:
nix developThis enters the development shell, providing:
- Node.js
- Electron
- Vite
- TypeScript
- Tailwind
- ESLint
- All project tooling configured exactly as expected
Once inside the devShell, start the app in development mode:
npm run devNo other global dependencies or manual setup are required.
Forge of Ideas is built with:
- Electron (desktop runtime)
- React 19 (UI)
- TypeScript (type safety)
- Vite (frontend bundler + dev server)
- Zustand (state management)
- electron-builder (packaging)
This project is licensed under the MIT License.
See the LICENSE file for details.
