A smarter way to prioritize your ideas!
We all have great ideas, but deciding which one to pursue can be challenging. Human brains struggle with assigning numerical values to abstract concepts, but we excel at comparing things side by side. Enter IdeaRank: a tool that leverages your comparative instincts to help you prioritize and rank your ideas effectively.
With IdeaRank, you can:
- Quickly identify your best ideas.
- Rank them in order of priority.
- Focus on what truly matters.
Install ELM and Follow these steps to run IdeaRank locally:
-
Clone the Repository:
git clone https://github.com/your-repo/idearank.git
-
Build the JavaScript file using
elm make: elm make --output js/idea-fight.js Main.elm -
Open
index.htmlin your browser.
- Input Your Ideas: Start by entering a list of ideas you want to prioritize.
- Comparison Mode: IdeaRank randomly pairs your ideas and asks you to choose between them.
- Dynamic Ranking: Based on your selections, it builds a ranking using a Partially Ordered Forest algorithm.
- Result: Keep comparing until you’re satisfied with the order or stop after picking the top few ideas.
The ranking system behind IdeaRank is powered by a clever algorithm inspired by a partial merge sort. Here’s how it works:
- Each idea starts as an independent node in a forest (a collection of trees).
- When you pick an idea over another, IdeaRank rearranges the forest to reflect that relationship.
- Over time, the forest evolves into a prioritized order based on your comparisons.
- Top Idea Selection: Linear time complexity (O(n)).
- Full Ranking: Efficient sorting in O(n log n).
IdeaRank is built using Elm, a functional programming language tailored for web applications. Elm ensures:
- Error-Free Code: With its robust type system, Elm eliminates runtime errors.
- Smooth User Experience: Elm’s virtual DOM ensures fast and responsive updates.
- Maintainable Architecture: Elm's Model-Update-View (MUV) pattern simplifies complex app logic.
• Designed and implemented the user interface using HTML and CSS.
• Contributed to the Elm codebase, focusing on state management and UI integration.
• Coordinated project tasks, ensuring timely progress
• Drafted parts of the README.md , focusing on frontend documentation and setup instructions.
• Authored and managed the core Elm application logic and Partial Forest Algorithm.
• Set up and configured elm.json , managing dependencies.
• Handled responsive design and ensured cross-browser compatibility.
• Drafted parts of the README.md , focusing on backend integration and project usage.