# SQLAlchemy Projects at AI Tinkerers

> Canonical HTML: https://aitinkerers.org/technologies/sqlalchemy
> Markdown URL: https://aitinkerers.org/technologies/sqlalchemy.md
> Technology record last updated: 2026-09-18T14:19:47Z
> Generated: 2026-09-20T21:48:05Z

The Python SQL toolkit and Object Relational Mapper (ORM): It provides a full suite of enterprise-level persistence patterns.

SQLAlchemy is the definitive Python SQL toolkit and Object Relational Mapper (ORM), giving developers full, flexible control over database interactions. It operates in two modes: Core, a powerful SQL Expression Language for direct, low-level control, and the ORM, which maps Python classes (e.g., `User` or `Address`) directly to database tables. This dual architecture ensures high-performance access and persistence patterns across multiple backends (PostgreSQL, MySQL, SQLite), effectively decoupling the object model from the schema.

- Official technology site: https://www.sqlalchemy.org
- Public AI Tinkerers demos and talks: 5
- Result page: 1 of 1

## Recent Public Talks and Demos

### [Facilitating content moderation with human-AI research](https://montreal.aitinkerers.org/talks/rsvp_5HwapIfgdRU)

We sought to better understand how to build a collaborative tool that harmonizes strengths and weaknesses between human and AI in the goal to facilitate and improve content moderation for online video games. In this talk, we will demo the research conducted behind ToxiSight, an internal tool developed at Ubisoft La Forge, that leverages human nuance and AI scale to improve judgements on toxicity in online game chat. We will present a demo that showcases how a human and AI model will interact to provide all available context and knowledge gaps as well as simultaneously re-train and fine tune a model. We also introduce how we can integrate a multi-disciplinary approach in this endeavour by leaveraging key theory in psychology to learn more about the support humans need and the shortcomings of the AI model.

- Event context: AI Tinkerers Montreal - May Demo Meetup @ Ubisoft — 2026-05-26 — Montreal
- Public talk page: https://montreal.aitinkerers.org/talks/rsvp_5HwapIfgdRU

### [Fluo aka we have Duolingo at home](https://toronto.aitinkerers.org/talks/rsvp_3TuvA7LAEd0)

My partner is Turkish, and I'm taking classes to learn his language. But there's a gap that no textbook or classroom can fill—I don't have a learning companion who actually knows what I've learned and can meet me where I am. So I built it. Architecture Overview I built a multi-agent conversational system using FastAPI, SQLAlchemy, and OpenAI's API (GPT-4o + Whisper + TTS). The system maintains persistent state of the learner's knowledge and dynamically adapts conversation difficulty in real-time. Core Components 1. Note Extraction Pipeline (NoteExtractorAgent) Accepts multiple image uploads or raw text input Uses GPT-4o's vision capabilities to parse handwritten/printed class notes Extracts structured data: vocabulary (target word, native translation, example sentences) and grammar concepts (name, description, usage examples) Supports configurable native/target language pairs 2. Knowledge Persistence Layer SQLAlchemy ORM with SQLite backend Per-language vocabulary and grammar tables with fluency tracking (low/medium/high) Tracks times_practiced and times_correct for spaced-repetition-style prioritization 3. Lesson Planning Agent (LessonPlannerAgent) Selects vocabulary/grammar items prioritizing low-fluency scores Generates a structured lesson plan constrained to CEFR levels (A1-C2) Passes both practice items and all known items to enable natural vocabulary reuse without exceeding learner's level 4. Dialogue Agent (DialogueAgent) Maintains conversation state and full transcript Bidirectional speech support: Whisper for STT, OpenAI TTS for audio responses Receives lesson plan + full knowledge context to stay within learner's vocabulary bounds Detects conversation end signals and handles graceful session termination 5. Analysis Agent (AnalysisAgent) Post-conversation transcript analysis Identifies: correctly used target vocabulary, grammatical errors, new words attempted Updates fluency scores in database based on performance

- Event context: AI Tinkerers Toronto - February 2026 @ Cohere! — 2026-02-26 — Toronto
- Public talk page: https://toronto.aitinkerers.org/talks/rsvp_3TuvA7LAEd0

### [Building an Agentic Orchestrator for LLM Testing and Evaluation](https://berlin.aitinkerers.org/talks/rsvp_jeR5QZF3ucQ)

This talk covers the architecture and implementation of Penelope, the agentic orchestrator used in the Rhesis framework for testing LLM applications. Penelope acts as a control agent that coordinates multi-step test executions, model calls, and evaluation routines. The session will explain how Penelope manages test definitions, executes adaptive workflows, and interacts with model endpoints via LiteLLM. I will discuss how evaluation tasks are modeled as agent goals, how results are captured in structured form, and how the system supports reproducible multi-turn tests. We will also look at the interface between the orchestration layer and the evaluation layer, including how LLMs are used to generate test cases, expected behaviors, and automatic scoring prompts.

- Event context: AI Tinkerers Berlin Meetup - November 12th, 2025 — 2025-11-12 — Berlin
- Public talk page: https://berlin.aitinkerers.org/talks/rsvp_jeR5QZF3ucQ

### [What I Built With The Mullet Method: One Flask App, Multiple Sites](https://seattle.aitinkerers.org/talks/rsvp_fnZ5nydIp_k)

The Mullet Method: Business rules in the front, AI party in the back. I'll show you three completely different websites (see URLs below), then reveal they're all running on a single Flask backend on a $20/month server. The secret? Use AI in the back to create deterministic, ordinary websites up front - no need to run the AI meter for users. This is pure show-and-tell: live sites → single backend reveal → development theory → architectural patterns. Simple, clean, and focused on the core insight that makes it all work. What I'll show: - Three completely different live websites - Single Flask backend reveal (one process, one database) - Development theory: AI in back → deterministic sites up front - Key architectural patterns that make it work - Why this approach beats running AI for every user request Key insights: - Use AI during development, not during user requests - Database-driven routing eliminates hardcoded patterns - Single codebase, infinite customization possibilities - Super low-cost scaling without AI infrastructure overhead

- Event context: Summer on the Lake - August Tinkerers Meetup! (Demos, Food, Friends) — 2025-08-28 — Seattle
- Public talk page: https://seattle.aitinkerers.org/talks/rsvp_fnZ5nydIp_k

### [Bench](https://zurich.aitinkerers.org/talks/rsvp_dHWY28kKRKY)

An IDE and OS for agents - lots to cover so will focus on the unifying idea of representing everything an agent needs (variables, schemas, state, UIs) in a single "ORM"

- Event context: AI Tinkerers Zurich - May 8 — 2024-05-08 — Zürich
- Public talk page: https://zurich.aitinkerers.org/talks/rsvp_dHWY28kKRKY

## Related Technologies

- [FastAPI](https://aitinkerers.org/technologies/fastapi) ([Markdown](https://aitinkerers.org/technologies/fastapi.md)) — 181 public demos
- [PostgreSQL](https://aitinkerers.org/technologies/postgresql) ([Markdown](https://aitinkerers.org/technologies/postgresql.md)) — 105 public demos
- [ActiveRecord](https://aitinkerers.org/technologies/activerecord) ([Markdown](https://aitinkerers.org/technologies/activerecord.md)) — 1 public demo
- [Alembic](https://aitinkerers.org/technologies/alembic) ([Markdown](https://aitinkerers.org/technologies/alembic.md)) — 1 public demo
- [Augment](https://aitinkerers.org/technologies/augment) ([Markdown](https://aitinkerers.org/technologies/augment.md)) — 1 public demo
- [Backend](https://aitinkerers.org/technologies/backend) ([Markdown](https://aitinkerers.org/technologies/backend.md)) — 7 public demos
- [Claude](https://aitinkerers.org/technologies/claude) ([Markdown](https://aitinkerers.org/technologies/claude.md)) — 173 public demos
- [Django ORM](https://aitinkerers.org/technologies/django-orm) ([Markdown](https://aitinkerers.org/technologies/django-orm.md)) — 1 public demo
- [Docker](https://aitinkerers.org/technologies/docker) ([Markdown](https://aitinkerers.org/technologies/docker.md)) — 147 public demos
- [Entity Framework](https://aitinkerers.org/technologies/entity-framework) ([Markdown](https://aitinkerers.org/technologies/entity-framework.md)) — 1 public demo
- [Entity Framework Core](https://aitinkerers.org/technologies/entity-framework-core) ([Markdown](https://aitinkerers.org/technologies/entity-framework-core.md)) — 1 public demo
- [Flask](https://aitinkerers.org/technologies/flask) ([Markdown](https://aitinkerers.org/technologies/flask.md)) — 24 public demos
- [GPT-4o](https://aitinkerers.org/technologies/gpt-4o) ([Markdown](https://aitinkerers.org/technologies/gpt-4o.md)) — 57 public demos
- [gpt-4o-mini](https://aitinkerers.org/technologies/gpt-4o-mini) ([Markdown](https://aitinkerers.org/technologies/gpt-4o-mini.md)) — 9 public demos
- [Hibernate](https://aitinkerers.org/technologies/hibernate) ([Markdown](https://aitinkerers.org/technologies/hibernate.md)) — 1 public demo
- [LiteLLM](https://aitinkerers.org/technologies/litellm) ([Markdown](https://aitinkerers.org/technologies/litellm.md)) — 21 public demos
- [Python](https://aitinkerers.org/technologies/python) ([Markdown](https://aitinkerers.org/technologies/python.md)) — 662 public demos
- [React](https://aitinkerers.org/technologies/react) ([Markdown](https://aitinkerers.org/technologies/react.md)) — 219 public demos
