gemeente Utrecht

Conversational ai developer

gemeente Utrecht

De opdracht­omschrijving

Opdrachtomschrijving
1. Ontwikkeling en Technische Realisatie

  • Ontwerpen, optimaliseren en implementeren van generatieve LLM-modellen en promptingstrategieën die complexe gebruikersvragen correct interpreteren en hoogwaardige antwoorden leveren.
  • Toepassen van finetuning en parameterefficiënte technieken, en ontwikkelen van systeemprompts om modelbegrip, nauwkeurigheid en prestaties te verbeteren.
  • Implementeren van RAG-oplossingen op basis van verschillende taalmodellen, en beheren van vector databases (zoals Qdrant) en embedding-pipelines.
  • Ontwikkelen van feedbackloops, evaluatieframeworks en monitoringmechanismen om de betrouwbaarheid en consistentie van het model te waarborgen.
  • Actief bijdragen aan nieuwe AI-functionaliteiten, waaronder toolintegraties, guardrails en mechanismen voor model self-improvement.
  • Meewerken aan het bouwen van componenten in Python (Django, FastAPI/Sanic) en Docker.

2. Samenwerking

  • Vertalen van klantbehoeften naar technische specificaties en werkbare oplossingen.
  • Deelname aan roadmap-overleggen en leveren van voortgangsrapportages.
  • Presentaties, demo’s en documentatie voor interne en externe belanghebbenden.
  • Resultaat van de opdracht

Wanneer is deze opdracht succesvol voltooid?
De opdracht is succesvol afgerond wanneer Gem aantoonbaar is doorontwikkeld met stabiele, schaalbare en goed gemonitorde LLM- en RAG-functionaliteiten die in productie worden gebruikt. De nieuwe AI-features zijn technisch gedocumenteerd, overdraagbaar en aantoonbaar verbeterd op kwaliteit, betrouwbaarheid en performance. Daarnaast is de ontwikkelbijdrage geborgd binnen het open-source ecosysteem en het landelijke opschalingsprogramma.

Competenties

Analytisch, oplossingsgericht en strategisch denker. Communicatief vaardig en in staat om technische inhoud helder over te brengen. Hands-on mentaliteit en plezier in technische uitdagingen Technische Stack GEM Backend: Python (Django, FastAPI), Microservices, Docker Frontend: React (widget op gemeentelijke websites) Data & AI: Azure OpenAI, LLM-RAG, vector databases Infra: Docker, Kubernetes, CI/CD, Ansible Overige: CMS voor contentbeheer, livechat, monitoring, WCAG
Als gemeente Utrecht geloven wij dat een diverse organisatie zorgt voor meer innovatie, creativiteit en een betere samenwerking. Om die reden streven wij ernaar om een zo’n inclusief mogelijke organisatie te zijn. Ben je benieuwd hoe wij dat doen?  Lees dat op deze pagina. 

Goed om te weten:
Gesprekken worden in overleg met de kandidaten gepland op 22 of 23 december. De manager neemt contact op indien je wordt uitgenodigd voor een gesprek. Dit gesprek kan of fysiek of digitaal plaatsvinden. 
In het kader van de Wet DBA (Deregulering Beoordeling Arbeidsrelatie) is inschrijving door zzp’ers niet toegestaan. 

Het opvragen van referenties kan in een latere fase onderdeel zijn van de procedure.

De weging van de antwoorden op de vragen in de uitvraag bepaalt de rangorde van de offertes op basis van prijs en kwaliteit. Hierbij hanteren we een weging van circa 25% voor het geoffreerde tarief. De kwaliteit voor circa 75%.
Door de weging van de antwoorden op de vragen in de uitvraag wordt de rangorde van de offertes in prijs/kwaliteit bepaald. Alleen de 5 hoogst scorende offertes worden nader gewogen op de kwaliteit. Indien het aantal offertes de 10 niet overstijgt kunnen alle offertes nader op de kwaliteit beoordeeld worden. 
 
Bij gebleken geschiktheid bestaat er een kans dat er nog een kandidaat uit deze procedure wordt aangenomen. 

Wanneer de hierboven beschreven opdracht door omstandigheden niet binnen de voorziene periode kan worden afgerond behoudt Gemeente Utrecht zich in alle geval het recht voor de opdracht te verlengen tot het moment dat een zorgvuldige afronding en overdracht kan worden gerealiseerd. 
 
De gemeente Utrecht behoudt zich het recht voor om gedurende de eerste 3 maanden na gunning, bij gebleken ongeschiktheid of tussentijdse beëindiging, de opdracht te gunnen aan de nummer 2 aanbieder of opvolgend. 

Gemeente Utrecht heeft het voornemen om per mei 2026 gebruik te maken van een broker. Indien dit voornemen wordt gerealiseerd, zullen de overeenkomsten die doorlopen na 1 november 2026 via de broker worden gehercontracteerd. De hercontractering zal in dat geval plaatsvinden in oktober/november 2026. Bij deze hercontractering blijven de inhuurtermijn en het tarief ongewijzigd. 
 

Deze inhuuropdracht verloopt via een aanbesteding. De opdrachtgever heeft eisen en wensen opgegeven. Aan de eisen moet je voldoen om kans te maken. Op de wensen kun je punten scoren.

De Eisen

  • Is de kandidaat een zzp’er en wordt deze rechtstreeks voorgesteld (zonder bemiddeling door een bureau)?
  • je hebt een afgeronde hbo/wo-opleiding in informatica, software engineering of AI.
  • Is de kandidaat de afgelopen 2 jaar in loondienst geweest bij de Gemeente Utrecht voor dezelfde/vergelijkbare werkzaamheden?

De Wensen

  • Je CV is max 3 pagina's enkelzijdig en toont een volledig overzicht van je werkzaamheden tot dusver. Het CV dient ter verificatie van de antwoorden op voorgaande vragen en wordt inhoudelijk beoordeeld op kwaliteit. Daarnaast vermeldt het CV huidige nevenfuncties (bezoldigd en onbezoldigd) zodat de vacaturehouder mogelijke belangenverstrengeling kan uitsluiten. Je CV is in het Nederlands opgesteld en in Pdf-formaat.
  • Schrijf een motivatie t.b.v. deze opdracht en ga in op het gestelde profiel. (max 1/2 a4). Graag ontvangen wij een door de kandidaat zelf geschreven motivatie.
  • Geef aan welke vorm van inhuur van toepassing is op de aangeboden kandidaat. Detachering:  De aangeboden kandidaat is in loondienst bij de aanbieder. Gemeente Utrecht sluit met de aanbieder een overeenkomst. De medewerker werkt tijdelijk bij Gemeente Utrecht, onder leiding en toezicht van de gemeente. De aanbieder draagt zorg voor loonafdrachten. De aanbieder heeft meerdere personen in loondienst.  ZZP rechtstreeks:  De aangeboden kandidaat is een zzp’er en sluit rechtstreeks een overeenkomst met Gemeente Utrecht. Er is geen tussenpartij. De zzp’er voert de opdracht zelfstandig uit, zonder gezagsverhouding.  ZZP via tussenkomst:  Een bureau stelt een zzp’er voor. De gemeente Utrecht sluit de overeenkomst met het bureau (niet met de zzp’er). De zzp’er voert zelfstandig de opdracht uit. Het bureau regelt de contracten met de zzp’er volgens de Wet DBA.   DGA:  De aangeboden kandidaat is DGA en werkt via zijn/haar eigen BV. Gemeente Utrecht sluit de overeenkomst met de BV. De DGA voert zelfstandig de opdracht uit.   LET OP: Gemeente Utrecht gaat alleen een overeenkomst aan met de aanbieder. We verwachten dat u als aanbieder deze informatie naar waarheid invult. Wanneer informatie incorrect is ingevuld, kan de offerte gediskwalificeerd worden.  - Detachering - ZZP rechtstreeks - ZZP via tussenkomst/DGA
  • Je hebt minimaal 5 jaar ervaring als AI Developer, binnen de publieke sector. - Minder dan 2 jaar - 2 tot 5 jaar - 5 jaar of meer
  • Heb je ervaring met: Ervaring met HTML, JavaScript/TypeScript en React Ervaring met AI-ontwikkeltrajecten Ervaring met open source-ecosystemen en microservices-architectuur - Ervaring met HTML, JavaScript/TypeScript en React - Ervaring met AI-ontwikkeltrajecten - Ervaring met open source-ecosystemen en microservices-architectuur - Nee

Interesse in deze opdracht?

Zo werkt onze dienstverlening

Reageer direct

De opdracht sluit
19 december 2025 om 07:59
Je reactie ontvangen we graag minimaal 1 werkdag voor sluiting van de opdracht

Eventuele motivatie volgt in een latere fase

LET OP: Het door jou opgegeven uurtarief is all in, inclusief 10% fee Freep en exclusief BTW

Mis geen kans, word gratis lid

Ontvang direct alle opdrachten en marktontwikkelingen in je mailbox