← back to projects
journalctl -u artemisa --full

journalctl -u artemisa --full

Artemisa + Picasso LTSM

Teacher planning suite with contextual AI assistance, RAG, and prompt observability.

0%

less consolidation time

0

LLM providers

0

Docling microservice

0%

chatbot uptime

alejandro@codedbyjav.cc :~$ cat context.md

Why?

context.md

Teachers spent hours consolidating lesson plans, UDL evaluations, and TOEFL analysis across disconnected tools. There was no contextual intelligent assistance or traceability of AI responses. Academic coordination and teachers needed a single flow with reliable institutional data—not a generic chatbot.

alejandro@codedbyjav.cc :~$ grep -E "^\[ \]" objectives.md

Goals

objectives.checklist
  • RAG chatbot with indexed institutional documents.
  • Multi-provider LLM support without vendor lock-in.
  • UDL generation and TOEFL analysis in the same flow.
  • Prompt and cost observability with Langfuse.
  • Document extraction via Docling microservice.

alejandro@codedbyjav.cc :~$ ls adr/

Architecture decisions

pgvector + HNSW in PostgreSQL

alternatives: Pinecone, Weaviate, managed Chroma

why: Single operational datastore, embeddings alongside academic data, no extra vendor.

trade-off: Manual index tuning and initial vertical scaling.

Multi-provider AI SDK

alternatives: Gemini only, monolithic LangChain

why: Fallback between Gemini, Claude, OpenAI, and OpenRouter by cost and latency.

trade-off: Additional abstraction and per-provider testing.

Docling as FastAPI microservice

alternatives: Inline processing in Next.js, client-side OCR

why: Heavy PDFs and extraction pipelines isolated from the frontend.

trade-off: Operating an extra service with queues and MinIO storage.

Langfuse + OpenTelemetry

alternatives: Ad-hoc logs, no prompt traces

why: Audit AI responses and optimize costs per teacher.

trade-off: Initial instrumentation setup.

alejandro@codedbyjav.cc :~$ tree -L 2 services/

Architecture

architecture.flow
Next.js App Picasso RAG pgvector Docling API Langfuse

alejandro@codedbyjav.cc :~$ npm ls --depth=0

Tech stack

Next.js AI SDK pgvector PostgreSQL FastAPI Redis Langfuse MinIO Next.js AI SDK pgvector PostgreSQL FastAPI Redis Langfuse MinIO

alejandro@codedbyjav.cc :~$ tail -f results.log

Results

results.log
[OK] [OK] 60% less time consolidating lesson plans
[OK] [OK] Chatbot with institutional context and streaming
[OK] [OK] 4 interchangeable LLM providers in production
[OK] [OK] Auditable prompt traces for coordination

lessons learned

  • Local RAG in Postgres reduces ops friction vs. managed vector DBs.
  • Multi-provider is a lifeline when pricing or quotas change.
  • Extraction microservices prevent blocking the web server thread.

Building something together?

Open to senior full-stack roles and selected freelance work. Reach me on LinkedIn — I read every message.

LinkedIn →