Location: Remote Type: Internship · Part-time (3-4 hours/day) Duration: 3+3 months minimum Compensation: Unpaid during pre-seed stage → transition to salary for the whole team upon closing our investment round (see “Compensation & terms” below). About AxioQA AxioQA is a self-hosted, AI-powered QA platform. It integrates with the major issue trackers, knowledge bases, test management systems, Git providers, design tools, and team messaging platforms, and reads all of it via RAG until it understands the product end to end.
From that understanding it generates an architecture diagram, maps the feature landscape, and produces a test strategy: where the risks are, what is untested, and a visualization of the current test pyramid. It then generates the tests and distributes them across every level of that pyramid to rebalance it.
We are an early-stage startup founded by two engineers with extensive industry experience.
You will work directly with the founders in real Scrum sprints on a live product — not on toy tasks or a sandbox. What you get We can’t pay money at pre-seed, so here is what we give instead: * Real work in a real company — live product, real Scrum sprints, real code review, your code in production. * Daily mentorship from the CTO & Co-founder — you learn on the job, on real tasks, as you go. * We teach you to engineer with AI, properly: agent orchestration, harnesses, context engineering, spec-driven development, and our internal TeamBrain knowledge system. You leave able to apply all of it independently, on any codebase — genuinely strong at AI-assisted engineering, at a level most developers are not. * A Claude Code subscription at our expense, plus the same tooling the founders use. * A stack most engineers don’t touch early: multi-tenant RLS, production RAG, LLM streaming, contract and E2E testing. * A path to a paid role when we close our round — and a concrete reference from a CTO who can describe exactly what you built.
What you will do You will contribute across the full stack on real, shipping features. Typical tasks from our current backlog: * Backend: build and extend FastAPI endpoints under PostgreSQL Row-Level Security, write Pydantic schemas, psycopg2 repositories, and database migrations. * Frontend: build Vue 3 views, manage Pinia state, implement real-time LLM token-streaming consumers, and cover them with tests. * RAG / LLM plumbing: work on hybrid retrieval (vector + BM25), re-ranking, and the ticket → test-case → Playwright-autotest generation pipeline. * Feature delivery, spec-first: e.g. a pre-generation analysis endpoint with its UI, orchestration controls, or a per-tenant GitLab CI pipeline trigger. * Quality: write and maintain Vitest unit tests, Pact contract tests, and Playwright E2E tests. Every change is impact-analyzed before you start and blast-radius-checked before it merges.
Requirements Must have: * ~1.5+ year of hands-on experience (professional, internship, or serious personal projects) with Python and TypeScript. * Solid programming fundamentals: data structures, control flow, functions, error handling. * Comfortable reading and understanding an existing codebase you did not write. * Ability to write a basic automated test for your own code. * Working knowledge of Git (branch, commit, push, open a PR/MR). * Basic SQL (SELECT, JOIN, WHERE, understanding of tables and indexes). * Written English sufficient to read documentation and communicate in a team. * Self-driven: able to take a well-defined task and complete it without constant supervision.
Nice to have (not required — you can learn these here): * Experience with FastAPI (or another Python web framework such as Flask or Django). * Experience with Vue (or another component-based frontend framework — the concepts transfer). * Familiarity with PostgreSQL, Docker, or CI pipelines. * Any test-automation experience — ideally Playwright, pytest, or Vitest. * Interest in LLMs, RAG, or AI-assisted development.
Our technology stack This is the exact stack we use in production today. If you already know part of it, great; if not, this is what you will learn here.
Backend * Python 3.11+, FastAPI, Pydantic v2, Uvicorn * PostgreSQL with pgvector, accessed via psycopg2 (synchronous) * Multi-tenancy via PostgreSQL Row-Level Security (per-tenant data isolation) * httpx for async HTTP; Redis for caching and the arq job queue * Auth: JWT (python-jose) with access/refresh token rotation, scoped API keys, TOTP MFA (pyotp), CSRF protection, and rate limiting (slowapi) * Server-Sent Events for real-time LLM token streaming * Prometheus (metrics), Sentry (error tracking), OpenTelemetry (opt-in), Stripe (billing), boto3/S3 (artifact storage)
AI / RAG * Hybrid retrieval: vector search (pgvector, HNSW index) combined with BM25, followed by a re-ranking pipeline (Reciprocal Rank Fusion + a cross-encoder reranker) * Advanced retrieval modes: HyDE, multi-hop, query expansion, and Graph RAG * Embeddings via sentence-transformers (PyTorch, CPU); tokenization via tiktoken * Multi-provider LLM integration: Anthropic (Claude), OpenAI, and Google Gemini, with response caching and per-tenant cost tracking * Ingestion from JIRA, Confluence, GitLab, GitHub, Figma, Notion, PDF, and source code (tree-sitter AST chunking)
Frontend * Vue 3.5, Vite 7, TypeScript 5 (strict mode) * Pinia (state management), Vue Router * TailwindCSS 3, ECharts (via vue-echarts) for data visualization * Real-time LLM token streaming via native fetch + ReadableStream + TextDecoder * Markdown rendering with marked + DOMPurify
Engineering practices * Code knowledge graph with impact analysis before edits and blast-radius checks before commits * Spec-driven development: non-trivial changes start as a written proposal * AI-assisted development under strict engineering discipline — every change is reviewed, tested, and impact-checked, never blind copy-paste
Compensation & terms * This is an unpaid internship during our pre-seed stage. We are transparent about this: no one on the team, including the founders, currently draws a salary. * Upon closing our investment round, the entire team transitions to salary at the same time — you included. * We provide the tools you need to do the work (including a Claude Code subscription) and hands-on training on live tasks. * Minimum commitment: 3+3 months. This role is a fit for someone who wants to invest in rapid, deep growth now and be well-positioned for a paid position as the company scales — not for someone who needs immediate income.
How to apply Send us your CV and add to your cover letter next things: * A short introduction — what you have built or worked on. * One or two sentences on why this stack and mission interest you. * A link to your code (GitHub, GitLab, or a personal project).