Erik.
$cat README.md↳01 / OVERVIEW

Taskure

A personal project management workspace built to explore Bring Your Own Key (BYOK) AI assistance and deterministic task prioritization.

TYPEPersonal Project
ROLEFull-stack / Systems
PERIOD2026–Present
LINKS
TECHNOLOGY STACK
Next.jsReactTypeScriptTailwind CSSGoGinPythonFastAPIPostgreSQLpgvectorRedisDockerNginx
Taskure - image 1
Taskure - image 2
Taskure - image 3
Taskure - image 4
01 / 04
↳02 / CONTEXT

Why I built it

I started Taskure because I wanted a personal project management tool that supported Bring Your Own Key (BYOK) for AI. Existing tools either offered no AI features or required paying for platform-managed AI subscriptions. I wanted to plug in my own API keys from providers like OpenAI or Anthropic and use them directly.

Taskure is not built to be an enterprise platform, a commercial SaaS, or a team collaboration tool like Linear or Jira. It is designed for personal use: a self-hosted workspace where I can track my projects and experiment with how AI assistants interact with actual application data.

The project is also an active learning playground. I am exploring how to ground AI responses in project context, how to assist planning without taking control from the user, and where deterministic code works better than model reasoning.

↳03 / WHAT I EXPLORED

What I built

/workspace
Created a personal Kanban workspace with columns, priorities, due dates, checklists, notes, and labels.
/byok-gateway
Built an AI gateway supporting multiple providers, allowing the use of personal OpenAI and Anthropic API keys.
/focus-engine
Implemented a deterministic scoring engine that ranks upcoming tasks by deadline and priority without relying on an LLM.
/context-rag
Built a retrieval pipeline with embeddings and pgvector to let AI reference project documentation and notes.
/optimistic-ui
Implemented client-side optimistic UI updates for Kanban interactions, syncing with backend Go APIs asynchronously.
↳04 / UNDER THE HOOD

Under the hood.

01 / ARCHITECTURE

Multi-service layout

The frontend runs on Next.js. A Go service handles core application data and Kanban operations, while a Python FastAPI service handles AI integrations and streaming.

02 / LOGIC

Deterministic Focus Engine

Task prioritization is calculated through explicit rules based on due dates, priority tiers, and update timestamps rather than open-ended model output.

03 / CONTROL

Draft-only AI assistance

AI assistance is limited to generating draft tasks, checklists, and summaries. The application does not apply automated data mutations without user confirmation.

04 / RETRIEVAL

pgvector semantic search

Project notes and context are embedded and stored in PostgreSQL with pgvector, allowing cosine similarity searches during discussions.

05 / PERSISTENCE

PostgreSQL & Redis

PostgreSQL stores project records, tasks, and context documents, while Redis handles caching for active sessions.

06 / RUNTIME

Docker Compose

All services, databases, MinIO storage, and Nginx reverse proxy configurations run locally inside a containerized setup.

↳05 / CURRENT STATE

Project status & takeaways

Work in progress

The project is an active technical experiment, not a finished product. Authentication is still incomplete, and several areas remain under development.

Deterministic rules over AI prompts

Using deterministic scoring for task prioritization proved much more predictable and transparent than asking an LLM to decide what to work on next.

Permanent context vs chat history

Treating project documentation as a structured knowledge source rather than keeping it inside chat threads makes context reusable across sessions.