A simple website used to store and display personal notes on academic papers. The website now truly dynamically discovers papers from the papers directory by scanning it in real-time - no hardcoded lists!
- True Dynamic Paper Discovery: Automatically scans the papers directory for JSON files in real-time
- Multiple Server Options: Supports Python, PHP, and Node.js servers
- Create New Papers: Easy form-based paper creation
- Search & Filter: Search by title, author, keywords, and filter by category, conference, year
- Topics Management: Create and manage research topics (e.g., Robotics, World Models) with detailed markdown notes
- Datasets Catalog: Track research datasets with keywords and links
- Unread Papers List: Maintain a list of papers to read with priorities
- Useful Links: Save helpful resources and links
- Responsive Design: Works on desktop and mobile devices
The easiest way to get started is with the Python server:
python3 server.pyThen visit: http://localhost:8000
The server will automatically scan your papers/ directory and discover all JSON files dynamically!
python3 server.py # Default port 8000
python3 server.py 8001 # Custom port✅ Truly dynamic - Scans papers directory in real-time
✅ No configuration needed
✅ Works on any system with Python 3
If your server supports PHP, upload list-papers.php and the website will automatically use server-side directory scanning.
node list-papers.js- Real-time scanning: When you request the paper list, the server scans the
papers/directory - Automatic discovery: Finds all
.jsonfiles without any manual configuration - No hardcoded lists: The system adapts automatically when you add/remove papers
- Sorted results: Papers are returned in alphabetical order
- Visit
create-paper.html - Fill in the paper details
- Download the generated JSON file
- Upload it to the
papers/directory - Refresh the main page - your new paper appears automatically!
- Create a JSON file in the
papers/directory - Follow this structure:
{
"title": "Paper Title",
"authors": "Author1, Author2",
"conference": "Conference Name",
"year": 2024,
"keywords": ["keyword1", "keyword2"],
"categories": ["category1"],
"mainIdea": "Main idea description",
"takeaways": "Key takeaways",
"figures": [],
"addedTime": "2024-01-01T00:00:00.000Z"
}- Refresh the main page - appears automatically!
Topics allow you to organize research areas and track progress with detailed markdown notes.
- Visit
topics.html - Fill in the topic name (e.g., "Robotics", "World Models")
- Add a short description
- Write progress notes in Markdown format in the editor
- Click "Save Topic"
- Automatic slug generation: Topic names are converted to URL-friendly slugs (e.g., "World Models" → "world-models")
- Markdown notes: Each topic has its own
.mdfile in thetopics/directory - View notes: Click "View Notes" to preview the markdown content
- Edit topics: Update topic information and notes anytime
- Track progress: Use markdown to document developments, papers to read, resources, etc.
Two example topics are included:
- Robotics: Tracking manipulation, navigation, and learning methods
- World Models: Exploring predictive models for embodied AI
- Reinforcement Learning
- Computer Vision
- Natural Language Processing
- Multi-Modal Learning
- 3D Vision
- Video Understanding
✅ 29 papers discovered dynamically from your papers/ directory
✅ No manual paper list maintenance needed
✅ Real-time directory scanning working
paper-notes/
├── index.html # Main paper listing page
├── paper.html # Individual paper view
├── create-paper.html # Create new paper form
├── unread-papers.html # Unread papers list
├── datasets.html # Datasets catalog
├── topics.html # Topics management ⭐ NEW
├── useful-links.html # Useful links collection
├── style.css # Styles
├── server.py # Python server with dynamic discovery ⭐
├── list-papers.php # PHP directory scanner
├── list-papers.js # Node.js server alternative
├── datasets.json # Datasets data
├── topics.json # Topics data ⭐ NEW
├── unread_papers.json # Unread papers data
├── useful_links.json # Useful links data
├── papers/ # Directory containing paper JSON files
│ ├── Paper1.json # Automatically discovered
│ ├── Paper2.json # Automatically discovered
│ └── ... # All papers auto-discovered!
└── topics/ # Directory containing topic markdown files ⭐ NEW
├── robotics.md # Research progress notes
├── world-models.md # Research progress notes
└── ... # Add more topics!
GET /list-papers- Returns JSON list of all papers in directoryGET /- Serves the main application
GET /topics- Returns JSON list of all topicsPOST /topics- Save topics listGET /topics/{slug}- Get markdown content for a specific topicPOST /topics/{slug}- Save markdown content for a specific topic
GET /datasets- Get datasets listPOST /datasets- Save datasets listGET /unread-list- Get unread papers listPOST /unread-list- Save unread papers listGET /useful-links- Get useful links listPOST /useful-links- Save useful links list
Example response:
{
"paperFiles": [
"papers/Paper1.json",
"papers/Paper2.json",
"..."
]
}If you see "No papers found":
- Start the server:
python3 server.py - Check the URL: Make sure you're visiting
http://localhost:8000(not opening the HTML file directly) - Check papers directory: Ensure you have
.jsonfiles in thepapers/folder
- Modern browsers with ES6+ support
- JavaScript must be enabled
- Must be accessed through a server (not as local file)