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.
A personal project management workspace built to explore Bring Your Own Key (BYOK) AI assistance and deterministic task prioritization.
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.
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.
Task prioritization is calculated through explicit rules based on due dates, priority tiers, and update timestamps rather than open-ended model output.
AI assistance is limited to generating draft tasks, checklists, and summaries. The application does not apply automated data mutations without user confirmation.
Project notes and context are embedded and stored in PostgreSQL with pgvector, allowing cosine similarity searches during discussions.
PostgreSQL stores project records, tasks, and context documents, while Redis handles caching for active sessions.
All services, databases, MinIO storage, and Nginx reverse proxy configurations run locally inside a containerized setup.
The project is an active technical experiment, not a finished product. Authentication is still incomplete, and several areas remain under development.
Using deterministic scoring for task prioritization proved much more predictable and transparent than asking an LLM to decide what to work on next.
Treating project documentation as a structured knowledge source rather than keeping it inside chat threads makes context reusable across sessions.