Projects

Things I've shipped

A closer look at projects that solved a real problem in production - the architecture, the trade-offs and the outcome.

Travatar

Travatar answers a question classic analytics no longer can: how visible is your brand inside AI answers, and how much of your traffic is actually human? The platform runs scheduled prompt sets against LLMs and tracks where a brand appears, in what context and against which competitors, then turns that into GEO and AI-visibility audits with concrete fixes. On the traffic side it classifies every session against bot and crawler signatures, so reporting is based on real visitors instead of inflated numbers. On top of it sits the AI Growth Coworker - an assistant that reads the collected data and proposes the next moves. I work on the backend: Django and FastAPI services, the Postgres + pgvector data model, Celery and Prefect pipelines that keep audits running on schedule, and Kafka streaming the traffic events.

  • Python
  • Django
  • FastAPI
  • Postgres + pgvector
  • Celery
  • Kafka
  • Prefect
Brand visibility in the AI era

Cannabase

Poland's medical-cannabis market is scattered across pharmacy price lists, producer PDFs and closed patient groups - Cannabase pulls it into one place. The catalog covers strains with terpene profiles and THC/CBD ratios, linked to near-real-time availability and prices in pharmacies across the country, plus a directory of clinics that issue prescriptions. Automated ingestion and normalization jobs reconcile inconsistent naming between producers and pharmacies, so the same product does not appear five times under five spellings. Dendi, the built-in AI assistant, runs a RAG pipeline over that catalog: it answers questions about a given strain, checks what is available near the patient and suggests alternatives with a similar terpene and cannabinoid profile when something is out of stock. Built on FastAPI and SQLAlchemy with Postgres + pgvector for embeddings, and a Next.js frontend.

  • Python
  • FastAPI
  • SQLAlchemy
  • Postgres + pgvector
  • Next.js
  • Docker
A fragmented market, unified