Hugdrigo's picture
Upload 10 files
03fa372 verified
Raw History Blame Contribute Delete
11.5 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#10182c">
<meta name="description" content="ScholarFlow Project 19: a local-first, reproducible research evidence workspace.">
<title>ScholarFlow · Research Intelligence Studio · Project 19</title>
<link rel="stylesheet" href="styles.css">
<script src="seed.js" defer></script>
<script src="app.js" defer></script>
</head>
<body>
<div class="layout">
<aside class="sidebar" aria-label="Primary navigation">
<div class="brand"><div class="brand-icon" aria-hidden="true">S<span>19</span></div><div><strong>ScholarFlow</strong><small>Research Intelligence Studio</small></div></div>
<div class="project-label">HUGGING FACE · PROJECT 19</div>
<nav id="nav">
<button class="navitem active" data-page="overview"><span>◫</span> Overview</button>
<button class="navitem" data-page="library"><span>▤</span> Study library</button>
<button class="navitem" data-page="screening"><span>☑</span> Screening desk</button>
<button class="navitem" data-page="matrix"><span>▦</span> Evidence matrix</button>
<button class="navitem" data-page="gaps"><span>◎</span> Gap explorer</button>
<button class="navitem" data-page="export"><span>↗</span> Export & methods</button>
</nav>
<div class="sidebar-foot"><span class="status-dot"></span> Offline-ready · browser only<p>No remote AI inference or external APIs. Your notes remain in this browser unless you export them.</p></div>
</aside>
<main class="main">
<header class="topbar"><div class="breadcrumbs">Portfolio <span>/</span> Hugging Face <span>/</span> <b>#19</b></div><div class="topright"><span class="pill blue">STATIC SPACE</span><span class="pill">v1.0.0</span></div></header>
<div class="content">
<div class="eyebrow"><span class="dot"></span> OPEN RESEARCH WORKSPACE <span class="sep">/</span> RELEASE 01</div>
<div class="page-heading"><div><h1 id="page-title">Research, organized.<br><em>Evidence, clarified.</em></h1><p id="page-subtitle">A practical workspace for screening studies, synthesizing findings, and documenting research gaps.</p></div><button class="button primary" id="add-record-top">+ Add study</button></div>
<div class="notice" role="note"><span>ⓘ</span><div><b>Demonstration dataset.</b> The initial study records are entirely <strong>synthetic</strong>, not authentic publications or verified findings. Replace them with independently verified research before preparing real academic outputs. No claims of live AI analysis.</div><button id="dismiss-notice" title="Dismiss notice" aria-label="Dismiss notice">×</button></div>
<section class="page active" id="page-overview" aria-label="Overview">
<div class="metrics" id="metrics"></div>
<div class="two-col">
<section class="panel"><div class="section-head"><div><div class="kicker">PORTFOLIO MIX</div><h2>Methodology distribution</h2></div><span class="muted">Current library</span></div><div id="method-bars"></div></section>
<section class="panel"><div class="section-head"><div><div class="kicker">REVIEW PIPELINE</div><h2>Screening decisions</h2></div><button class="text-button" data-goto="screening">Review records →</button></div><div id="screen-bars"></div><div class="hint">Screening labels are researcher decisions, not automated truth judgments.</div></section>
</div>
<section class="panel"><div class="section-head"><div><div class="kicker">NEXT STEPS</div><h2>Research workflow</h2></div></div><div class="workflow"><article><div class="workflow-num">01</div><h3>Curate</h3><p>Import verifiable references and record provenance.</p></article><article><div class="workflow-num">02</div><h3>Screen</h3><p>Record inclusion decisions and auditable reviewer notes.</p></article><article><div class="workflow-num">03</div><h3>Synthesize</h3><p>Compare methods, settings, evidence and limitations.</p></article><article><div class="workflow-num">04</div><h3>Export</h3><p>Produce portable JSON, CSV and review notes.</p></article></div></section>
</section>
<section class="page" id="page-library" aria-label="Study library">
<div class="panel"><div class="section-head"><div><div class="kicker">RESEARCH CATALOG</div><h2>Study library</h2></div><span class="count-chip" id="library-count"></span></div><div class="filters"><label class="searchbox"><span>⌕</span><input id="search" type="search" placeholder="Search titles, topics, regions, findings…" aria-label="Search studies"></label><select id="filter-method" aria-label="Filter by method"><option value="all">All methods</option></select><select id="filter-status" aria-label="Filter by status"><option value="all">All decisions</option><option value="include">Included</option><option value="maybe">Maybe</option><option value="exclude">Excluded</option><option value="unscreened">Unscreened</option></select></div><div id="library-list" class="study-list"></div></div>
</section>
<section class="page" id="page-screening" aria-label="Screening desk">
<div class="section-intro"><h2>Screening desk</h2><p>Manually select a decision for every record. Use notes to justify criteria, limitations, and disagreements. Nothing is automatically accepted as valid evidence.</p></div><div id="screening-list" class="screening-list"></div>
</section>
<section class="page" id="page-matrix" aria-label="Evidence matrix">
<div class="panel"><div class="section-head"><div><div class="kicker">COMPARATIVE SYNTHESIS</div><h2>Evidence matrix</h2></div><span class="muted">Included studies only</span></div><div class="scroll-area"><table class="data-table"><thead><tr><th>Study</th><th>Year</th><th>Method</th><th>Region</th><th>Language</th><th>Participants</th><th>Quality fields</th><th>Source</th></tr></thead><tbody id="matrix-body"></tbody></table></div><div id="matrix-empty" class="empty" hidden>No studies are marked Included. Use the Screening desk to build your evidence set.</div></div>
</section>
<section class="page" id="page-gaps" aria-label="Gap explorer">
<div class="section-intro"><h2>Gap explorer</h2><p>Descriptive coverage checks for the included dataset. These observations describe your <b>current library</b>, not the state of all published research.</p></div><div class="two-col"><section class="panel"><div class="kicker">GEOGRAPHIC REPRESENTATION</div><h2>Region coverage</h2><div id="region-bars"></div></section><section class="panel"><div class="kicker">LANGUAGE REPRESENTATION</div><h2>Research language</h2><div id="language-bars"></div></section></div><div class="panel"><div class="section-head"><div><div class="kicker">RULE-BASED DIAGNOSTICS</div><h2>Potential coverage gaps</h2></div><span class="pill">DESCRIPTIVE ONLY</span></div><div id="gap-insights" class="insights"></div></div>
</section>
<section class="page" id="page-export" aria-label="Export and methods">
<div class="section-intro"><h2>Export & reproducibility</h2><p>Keep your review portable. Exports include synthetic-data warnings, decision statuses, notes, and the date of export.</p></div>
<div class="two-col"><section class="panel"><div class="kicker">PORTABLE FILES</div><h2>Download your workspace</h2><p class="panel-body">JSON keeps all record fields and screening notes. CSV facilitates spreadsheet analysis. Markdown provides a plain-text review log.</p><div class="button-stack"><button class="button primary" id="export-json">↓ Export full JSON</button><button class="button secondary" id="export-csv">↓ Export CSV</button><button class="button secondary" id="export-md">↓ Export review Markdown</button></div></section><section class="panel"><div class="kicker">RESTORE OR REPLACE</div><h2>Import JSON records</h2><p class="panel-body">Import the JSON schema exported by this application or an array of comparable records. Imports replace the current dataset after your confirmation.</p><label class="file-button">Choose JSON file<input type="file" id="import-json" accept=".json,application/json" hidden></label><div class="button-stack"><button class="button danger" id="restore-sample">Restore synthetic demo dataset</button><button class="button secondary" id="clear-library">Clear all records</button></div></section></div>
<div class="panel methods"><div class="kicker">TRANSPARENT DESIGN</div><h2>What this tool does, and does not do</h2><div class="method-grid"><div><h3>Does</h3><p>Local library management, keyword filtering, manual screening decisions, coverage counts, completeness indicators and reproducible exports.</p></div><div><h3>Does not</h3><p>Fetch scholarly literature, confirm DOI records, assess causal validity, use an LLM, or certify research quality. Verification belongs to the researcher.</p></div><div><h3>Completeness indicator</h3><p>A count of 5 populated metadata categories: source, methods, findings, limitations and participant information. It is <b>not</b> a study quality score.</p></div><div><h3>Persistence</h3><p>Data is saved using this browser's localStorage. It is device-specific and can be cleared. Export important work frequently.</p></div></div></div>
</section>
</div>
<footer><span>ScholarFlow v1.0 · Project 19 · Research integrity by design</span><span>Created for the Hugdrigo portfolio</span></footer>
</main>
</div>
<dialog id="study-dialog"><form method="dialog" id="study-form"><div class="modal-head"><div><div class="kicker">LIBRARY ENTRY</div><h2>Add study</h2></div><button type="button" class="icon-button" id="close-dialog" aria-label="Close">×</button></div><div class="form-grid"><label class="wide">Study title <input required maxlength="240" name="title" placeholder="Exact title of the publication"></label><label>Author(s) <input name="authors" maxlength="200" placeholder="As listed in source"></label><label>Publication year <input name="year" type="number" min="1900" max="2100" value="2026"></label><label>Method <select name="method"><option>Qualitative</option><option>Quantitative</option><option>Mixed methods</option><option>Systematic review</option><option>Other</option></select></label><label>Region <input name="region" maxlength="80" placeholder="e.g. Latin America"></label><label>Language <input name="language" maxlength="50" placeholder="e.g. Spanish"></label><label>Participants (count) <input name="participants" type="number" min="0" max="100000000" placeholder="If available"></label><label class="wide">Source / DOI / URL <input name="source" maxlength="350" placeholder="Paste a verifiable source URL, DOI or citation"></label><label class="wide">Keywords <input name="topic" maxlength="200" placeholder="e.g. generative AI, academic writing"></label><label class="wide">Key findings <textarea name="findings" rows="2" maxlength="2500" placeholder="Summarize faithfully, with context"></textarea></label><label class="wide">Limitations <textarea name="limitations" rows="2" maxlength="2500" placeholder="Methodological limitations or uncertainties"></textarea></label></div><div class="modal-actions"><button class="button secondary" type="button" id="cancel-dialog">Cancel</button><button class="button primary" type="submit">Save study</button></div></form></dialog>
<div class="toast" id="toast" role="status" aria-live="polite"></div>
</body>
</html>