Sift: Initial Concept
We need a way to quickly organize and filter through different types of ideas. Some thoughts need more refinement while others are ready to execute.
Key Requirements
- Fast categorization of ideas
- Visual status indicators
- Keyboard-driven workflow
Target Users
- AI/LLM researchers
- Content creators
- Product managers
Status: Initial planning phase
About Sift
What is Sift?
Sift is a tool designed to help you quickly organize and filter through different types of ideas. Whether you're brainstorming, reviewing LLM outputs, or organizing thoughts, Sift helps you separate the gold from the dirt.
Perfect for developers, writers, and researchers working with AI models, Sift streamlines the process of reviewing large sets of generated content. Its intuitive interface lets you rapidly categorize ideas using visual metaphors: golden ideas worth pursuing and others to set aside. With keyboard shortcuts and a visual grid system, you can process hundreds of items in minutes rather than hours.
Built with AI outputs in mind, Sift features a clean Markdown preview that automatically formats your content. No more struggling with raw text full of newlines and escape characters. See your content beautifully rendered with proper headings, lists, and formatting while you review.
How to Use
1. Upload Your Ideas
Click the upload button ↓ to import a JSON file containing your ideas. The file should be organized by categories, with each category containing an array of content strings. Your content can include Markdown formatting—it will be automatically rendered for easy reading.
2. Review and Categorize
Use the dot grid to navigate through your ideas. Each dot represents an idea, and its color shows its status. The content viewer supports Markdown, making it easy to read structured content like headers, lists, and code blocks:
Heading
- List item
- Another item
- White: Not yet reviewed
- Gold: Promising idea (Press G)
- Black: Discarded idea (Press D)
3. Navigate
Use the arrow keys (← →) to move between ideas, and press Tab to switch between categories. You can review your entire content without ever touching the mouse. Click any dot in the grid to jump directly to that idea if you prefer mouse navigation.
4. Export Results
When you're done, click the download button ↓ to export your categorized ideas. The exported JSON file will contain your ideas organized by category and status (gold/dirt).
FAQ
why did you build this?
I built Sift because I needed a more efficient way to review hundreds of LLM generations. Traditional text editors weren't cutting it for quick categorization and filtering of ideas. Sift emerged from this need for a faster, more intuitive way to separate promising ideas from the rest.
is my data safe?
Everything runs right in your browser. Your data stays with you and is never sent to any servers. The tool works entirely offline once loaded, and all processing happens locally on your device.
what file format should I use?
Sift accepts JSON files with the following structure:
{ "category1": ["idea1", "idea2", "idea3"], "category2": ["idea4", "idea5", "idea6"] }
Each category contains an array of strings, where each string is a separate idea to review.
If your data is in CSV format, you can easily convert it using tools like jq
. For example, with a CSV file like:
category,idea features,"Add dark mode support" features,"Implement keyboard shortcuts" bugs,"Fix loading state" bugs,"Address mobile layout"
You can convert it using this command:
# Group ideas by category using jq cat data.csv | tail -n +2 | jq -R 'split(",") | {category: .[0], idea: .[1]}' | \ jq -s 'group_by(.category) | map({key: .[0].category, value: [.[].idea]}) | from_entries' \ > sift-input.json
This will create a properly formatted JSON file with ideas grouped by category. The command skips the header row and should handlee quoted CSV values correctly.
can I help improve Sift?
Yes! I'm always looking for feedback and suggestions. You can:
- Email me at james@kokutech.com
- Share your use cases and feature requests
- Report any bugs or issues you encounter