> tail -f research.log

Research Log

A running, dated log of what I'm reading, building, breaking and fixing in AI — not a blog, a lab notebook. AI news, learning notes, experiments, paper notes, project updates, and mistakes & fixes, all in one place.

14

Total Entries

0

Logged This Week

1d

Current Streak

6

Categories Tracked

Learning Streak

Consistency across the research log

1
Current
1
Longest
14
Active Days
LessMore
Tags:

14 entries found

Experiments
Shipped

Testing hybrid search (BM25 + embeddings) for the notes RAG pipeline

Swapped pure vector search for a hybrid retriever to see if lexical matching recovers exact-term queries that embeddings miss.

Hypothesis — Hybrid retrieval improves recall on short, keyword-heavy queries without hurting semantic recall.

Outcome — Recall@5 on keyword queries up ~18%. Latency +40ms per query — acceptable for the notes app.

RAGRetrievalEmbeddings
Mistakes & Fixes
Shipped

Streamlit app silently dropping session state on rerun

Notes generator was losing generated drafts whenever a widget triggered a rerun mid-generation.

✗ Mistake — Draft text was stored in a local variable instead of st.session_state, so any rerun wiped it.

✓ Fix — Moved generation output into st.session_state and gated the generation button with a guard flag.

StreamlitState ManagementDebugging
Paper Notes
Archived

Notes on "Retrieval-Augmented Generation for Knowledge-Intensive NLP"

Revisited the original RAG paper to sanity-check how the retriever and generator are trained jointly vs. the retrieve-then-read setups I usually build.

RAGPaperNLP
arXiv:2005.11401
AI News
Archived

Anthropic ships Claude Sonnet 5

Skimmed the release notes for the latest Sonnet model — logging it here since a chunk of the portfolio stack (this Research page included) leans on it.

AnthropicClaudeRelease
anthropic.com/news
Project Updates
Shipped

TMS Platform: added role-based dashboards for admin/instructor/student

Shipped separate dashboard views per role instead of one dashboard with conditional rendering — cut load time and simplified permission checks.

TMSFastAPIPostgreSQL
Learning Notes
Archived

FastAPI background tasks vs. a proper job queue

BackgroundTasks is fine for fire-and-forget emails, but anything that needs retries, visibility or backpressure wants a real queue (RQ/Celery) — wrote this down before I reach for BackgroundTasks out of habit again.

FastAPIBackendArchitecture
Experiments
Investigating

Prompt-caching to cut RAG latency on repeated system prompts

Tried caching the static system + few-shot portion of the prompt to see how much of the round-trip is prompt processing vs. generation.

Hypothesis — Caching the static prefix should meaningfully cut time-to-first-token on repeated calls.

Outcome — ~35% faster time-to-first-token on cache hits. Worth wiring into the notes generator next.

LLMLatencyCaching
Mistakes & Fixes
Shipped

PostgreSQL connection pool exhaustion under load testing

Load-tested the TMS API and started seeing timeouts once concurrent requests crossed ~40.

✗ Mistake — Each request was opening a fresh session instead of reusing the pooled engine's sessionmaker.

✓ Fix — Centralized session creation through a single sessionmaker and bumped pool_size to match expected concurrency.

PostgreSQLPerformanceSQLModel
Paper Notes
Archived

Notes on "Chain-of-Thought Prompting Elicits Reasoning"

Re-read this to double check whether few-shot CoT examples are still worth the token overhead for the resume analyzer's scoring logic.

PromptingReasoningPaper
arXiv:2201.11903
AI News
Archived

Export-control suspension briefly pulled Fable/Mythos access

Logging the timeline since it's a good reminder to always check model availability before shipping a hard dependency on a single model tier.

AnthropicInfraRelease
anthropic.com/news
Learning Notes
Archived

Tailwind v4's CSS-first config changes how I ship design tokens

No more tailwind.config.js — theme tokens now live in @theme blocks inside CSS. Updated my mental model before touching this portfolio's globals.css.

TailwindCSSFrontend
Project Updates
Shipped

Portfolio: rebuilt Research Logs from a static placeholder

Replaced the old 'coming soon' page with an actual research dashboard — search, filters, timeline view and a learning streak tracker.

PortfolioNext.jsShipping
Experiments
Shipped

Comparing chunk sizes for the notes app's document splitter

Tested 256 / 512 / 1024 token chunks with 10% overlap to see the effect on downstream answer quality.

Hypothesis — 512-token chunks balance context sufficiency against retrieval precision better than 256 or 1024.

Outcome — 512 tokens won on answer relevance; 1024 tokens hurt precision more than expected.

RAGChunkingEvaluation
Mistakes & Fixes
Shipped

Clerk auth redirect loop after deploying to Railway

Users bounced between /sign-in and the dashboard in an infinite redirect after a fresh deploy.

✗ Mistake — Production env vars for the Clerk redirect URLs still pointed at localhost.

✓ Fix — Synced NEXT_PUBLIC_CLERK_* redirect URLs with the deployed domain and added a env-var checklist to the deploy script.

ClerkAuthDeployment