<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Caspar Bannink</title>
    <description>The latest articles on DEV Community by Caspar Bannink (@caspar_bannink_3728f095d1).</description>
    <link>https://dev.to/caspar_bannink_3728f095d1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3908117%2F6c89943c-9c97-4b2e-beff-8330fe8c2390.png</url>
      <title>DEV Community: Caspar Bannink</title>
      <link>https://dev.to/caspar_bannink_3728f095d1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/caspar_bannink_3728f095d1"/>
    <language>en</language>
    <item>
      <title>I Moved to Dublin Without a Clue — So I Built a Tool to Fix Renting</title>
      <dc:creator>Caspar Bannink</dc:creator>
      <pubDate>Wed, 13 May 2026 17:58:23 +0000</pubDate>
      <link>https://dev.to/caspar_bannink_3728f095d1/i-moved-to-dublin-without-a-clue-so-i-built-a-tool-to-fix-renting-2mi9</link>
      <guid>https://dev.to/caspar_bannink_3728f095d1/i-moved-to-dublin-without-a-clue-so-i-built-a-tool-to-fix-renting-2mi9</guid>
      <description>&lt;p&gt;Two years ago I packed up my life in Amsterdam and moved to Dublin. I had a job offer, a suitcase, and zero understanding of how hard finding accommodation in Dublin actually is.&lt;/p&gt;

&lt;p&gt;I thought I knew rental markets. Amsterdam is expensive. London is expensive. But Dublin is a different kind of broken.&lt;/p&gt;

&lt;p&gt;Within a week of arriving I was spending three hours a day refreshing Daft.ie during work meetings, writing the same inquiry email over and over.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;HomeScout&lt;/a&gt; is what came out of that experience. Not because I had a startup idea. Because I was an expat in Dublin who could not believe how bad the system was.&lt;/p&gt;

&lt;h2&gt;
  
  
  What moving to Dublin as an expat actually looks like
&lt;/h2&gt;

&lt;p&gt;You land. You open Daft.ie. The first five pages are luxury new-builds. The normal places are buried on page eight.&lt;/p&gt;

&lt;p&gt;You find a two-bed in Rathmines for €1,800. Is that a good price? You have no idea. You are making a €21,600-a-year decision completely blind.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AI-powered natural language search.&lt;/strong&gt; Type what you want. &lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;HomeScout&lt;/a&gt; understands natural language and returns exactly what you described.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Area intelligence.&lt;/strong&gt; Every listing shows average rent, price comparisons, and trends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI contract review.&lt;/strong&gt; Upload your lease. HomeScout flags unusual clauses and checks RPZ compliance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI rental agent.&lt;/strong&gt; Writes personalised inquiry emails, schedules viewings, follows up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Five languages.&lt;/strong&gt; English, Dutch, Spanish, French, and Portuguese.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;Build what you need. Remove more than you add. AI is only useful when it saves real time.&lt;/p&gt;

&lt;p&gt;If you are moving to Dublin — &lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;HomeScout&lt;/a&gt; is free to start. No credit card, no trial period.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Caspar Bannink — founder of &lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;HomeScout&lt;/a&gt;, built in Dublin after moving from Amsterdam in 2024.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>startup</category>
      <category>proptech</category>
      <category>ai</category>
      <category>dublin</category>
    </item>
    <item>
      <title>I built an agentic coding harness across three CLI hosts. Here is what actually works.</title>
      <dc:creator>Caspar Bannink</dc:creator>
      <pubDate>Wed, 13 May 2026 13:44:36 +0000</pubDate>
      <link>https://dev.to/caspar_bannink_3728f095d1/i-built-an-agentic-coding-harness-across-three-cli-hosts-here-is-what-actually-works-5gk8</link>
      <guid>https://dev.to/caspar_bannink_3728f095d1/i-built-an-agentic-coding-harness-across-three-cli-hosts-here-is-what-actually-works-5gk8</guid>
      <description>&lt;h1&gt;
  
  
  I built an agentic coding harness across three CLI hosts. Here is what actually works.
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;This article is a work in progress. I will keep updating it as the kit evolves.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Last spring, an agent rebuilt my email-templating system for the third time. Same logic, different repo, no memory of the previous two attempts. The speed of vibecoding was getting taxed by the cost of the agent forgetting what I had already shipped.&lt;/p&gt;

&lt;p&gt;The fix was not a smarter prompt. It was a smaller vocabulary.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://github.com/CBannink/agentic-coding-kit" rel="noopener noreferrer"&gt;agentic-coding-kit&lt;/a&gt;. 17 agents, 12 slash commands, 35+ PowerShell tools, a Playwright visual pipeline, and a memory system that compounds across sessions. It installs across Claude Code, OpenCode, and GitHub Copilot CLI from one canonical source. This post explains the full architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core idea: slash commands are workflows, agents are leaves
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://claude.com/blog/multi-agent-coordination-patterns" rel="noopener noreferrer"&gt;Anthropic's own docs&lt;/a&gt; say it plainly: "the main agent writes code, edits files, and runs commands itself, dispatching subagents in the background." Every successful open-source kit I surveyed follows this pattern. I learned it the hard way by building 21 wrapping orchestrator agents and killing them all.&lt;/p&gt;

&lt;p&gt;The kit has 12 commands: 8 workflows plus 4 utility commands (&lt;code&gt;/bootstrap-harness&lt;/code&gt;, &lt;code&gt;/kit-init&lt;/code&gt;, &lt;code&gt;/wiki-init&lt;/code&gt;, &lt;code&gt;/analyze&lt;/code&gt;).&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;th&gt;Typical spawns&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/build&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Scope, explore, implement, review, verify&lt;/td&gt;
&lt;td&gt;3-5 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/review&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Surface, specialist, adversarial, false-positive verifier&lt;/td&gt;
&lt;td&gt;4-9 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/investigate&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hypothesis-driven debugging, evidence collection&lt;/td&gt;
&lt;td&gt;2-4 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/plan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Clarify scope, map files, stop for approval&lt;/td&gt;
&lt;td&gt;1-2 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/refactor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Principle-driven restructuring with consequence tracing&lt;/td&gt;
&lt;td&gt;2-4 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/redesign&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Aesthetic lock, capture, per-component design, visual diff&lt;/td&gt;
&lt;td&gt;4-8 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/security-review&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Adversarial audit by attack class&lt;/td&gt;
&lt;td&gt;3-6 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/analyze&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Multi-angle research with claim verification&lt;/td&gt;
&lt;td&gt;4-8 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/bootstrap-harness&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detect repo conventions, write to conventions.md&lt;/td&gt;
&lt;td&gt;1-2 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/kit-init&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Initialize .kit/context/ in a new repo&lt;/td&gt;
&lt;td&gt;0 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/wiki-init&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bootstrap .wiki/ from code evidence&lt;/td&gt;
&lt;td&gt;1-2 agents&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These commands run differently on each host. In Claude Code and OpenCode, they run as slash commands where the main session acts as orchestrator and spawns leaf agents via the Task tool. In Copilot CLI (which does not support custom slash commands or orchestrator-style spawning), each workflow is a shell script: &lt;code&gt;kit-build.sh&lt;/code&gt; chains &lt;code&gt;copilot --agent workflow-explorer -p "..."&lt;/code&gt; followed by &lt;code&gt;copilot --agent workflow-implementer -p "..."&lt;/code&gt; as direct sequential commands. Different host architecture, same leaf agents, same phases.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the workflows actually work
&lt;/h2&gt;

&lt;p&gt;Every workflow starts the same way: &lt;code&gt;scope-classifier.ps1&lt;/code&gt; reads the git diff and classifies the task as ISOLATED (single file, 0 spawns), SHARED (multi-file, 3 spawns typical), or CRITICAL (auth, schema, migrations: 5 spawns, adversarial pass included). This determines the ceremony tier before anything else runs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbjgvy8hmt7to423mane.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbjgvy8hmt7to423mane.png" alt="The /build pipeline: five phases from scope classification to verification." width="720" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;/build&lt;/code&gt;&lt;/strong&gt; is the most common. Phase 1 spawns &lt;code&gt;workflow-explorer&lt;/code&gt; to map files, trace dependencies, and return a structured brief (with wiki and specialist memory injected via resolvers). Phase 2 spawns &lt;code&gt;workflow-implementer&lt;/code&gt;, which writes code using &lt;code&gt;edit-with-lint.ps1&lt;/code&gt; for every change (atomic syntax check, revert on failure). Phase 3 spawns &lt;code&gt;workflow-reviewer&lt;/code&gt; (one reviewer, not seven, the adversarial pass only runs at CRITICAL tier). Phase 4 runs &lt;code&gt;test-loop.ps1&lt;/code&gt; and &lt;code&gt;verify-writeback.ps1&lt;/code&gt;. If verification fails, the session cannot claim completion. This is the Iron Law.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;/investigate&lt;/code&gt;&lt;/strong&gt; runs hypothesis-driven debugging. It collects symptoms, generates ranked hypotheses, runs the cheapest test first, collects evidence, and outputs a build brief. The output is a diagnosis, not a fix. If the diagnosis warrants code changes, it hands off to &lt;code&gt;/build&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;/review&lt;/code&gt;&lt;/strong&gt; fans out to specialist reviewers in parallel: &lt;code&gt;code-quality-reviewer&lt;/code&gt;, &lt;code&gt;security-reviewer&lt;/code&gt;, &lt;code&gt;api-reviewer&lt;/code&gt;, &lt;code&gt;testing-reviewer&lt;/code&gt;, and optionally &lt;code&gt;performance-reviewer&lt;/code&gt;, &lt;code&gt;adversarial-reviewer&lt;/code&gt;, &lt;code&gt;data-migration-reviewer&lt;/code&gt;. A &lt;code&gt;false-positive-verifier&lt;/code&gt; filters noise before the final report. Findings update &lt;code&gt;handoffs.md&lt;/code&gt; (active items), &lt;code&gt;memory.md&lt;/code&gt; (recurring patterns), and &lt;code&gt;reflections.md&lt;/code&gt; (workflow improvements).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;/analyze&lt;/code&gt;&lt;/strong&gt; is for research, not code. It spawns 4 explorers in parallel (&lt;code&gt;architecture-explorer&lt;/code&gt;, &lt;code&gt;surface-explorer&lt;/code&gt;, &lt;code&gt;risk-explorer&lt;/code&gt;, &lt;code&gt;ops-explorer&lt;/code&gt;), then 4 theorists (&lt;code&gt;pragmatist&lt;/code&gt;, &lt;code&gt;skeptic&lt;/code&gt;, &lt;code&gt;security-reliability&lt;/code&gt;, &lt;code&gt;product-wedge&lt;/code&gt;), then a &lt;code&gt;claim-verifier&lt;/code&gt; that checks claims against actual code. Useful for "what is this codebase and where would I extend it."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;/redesign&lt;/code&gt;&lt;/strong&gt; activates the Playwright visual pipeline (covered below). &lt;strong&gt;&lt;code&gt;/refactor&lt;/code&gt;&lt;/strong&gt; does principle-driven restructuring with consequence tracing. &lt;strong&gt;&lt;code&gt;/security-review&lt;/code&gt;&lt;/strong&gt; runs adversarial audit by attack class. &lt;strong&gt;&lt;code&gt;/bootstrap-harness&lt;/code&gt;&lt;/strong&gt; detects git workflow, architecture preferences, and PR review conventions from a repo and writes them to &lt;code&gt;.kit/context/conventions.md&lt;/code&gt; so other agents implement per the repo's actual style.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;goal-orchestrator&lt;/code&gt;&lt;/strong&gt; is different from all of these. It is the only agent that runs as a true autonomous loop. You give it a goal ("make all tests pass", "deploy to staging"), and it iterates until the goal is reached or it hits the convergence cap (6 iterations). It has mechanical stuck detection (same file, same line, same rule blocking for 3 iterations triggers rollback), an empty-diff watchdog, and a rollback gate that reverts iterations that worsen verification. It outputs a machine-parseable &lt;code&gt;GOAL_STATUS&lt;/code&gt; first line. This is for autonomous work, not interactive sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The three agent layers
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Count&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Workflow agents&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Generic transport: &lt;code&gt;workflow-explorer&lt;/code&gt;, &lt;code&gt;workflow-implementer&lt;/code&gt;, &lt;code&gt;workflow-reviewer&lt;/code&gt;, &lt;code&gt;workflow-skeptic&lt;/code&gt;, &lt;code&gt;workflow-ui-qa&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Specialist agents&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;Domain experts spawned on demand: &lt;code&gt;code-quality-reviewer&lt;/code&gt;, &lt;code&gt;security-reviewer&lt;/code&gt;, &lt;code&gt;modularity-expert&lt;/code&gt;, &lt;code&gt;adversarial-reviewer&lt;/code&gt;, &lt;code&gt;final-verifier&lt;/code&gt;, &lt;code&gt;qa-agent&lt;/code&gt;, &lt;code&gt;spec-agent&lt;/code&gt;, &lt;code&gt;playwright-navigator&lt;/code&gt;, &lt;code&gt;ux-driver&lt;/code&gt;, &lt;code&gt;ui-driver&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Orchestrators&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;goal-orchestrator&lt;/code&gt; (autonomous convergence loops with stuck detection) and &lt;code&gt;pr-reviewer&lt;/code&gt; (holistic PR verdict per &lt;a href="https://google.github.io/eng-practices/review/reviewer/" rel="noopener noreferrer"&gt;Google's Code Review Guide&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frbcrlcirbe56nyzb2818.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frbcrlcirbe56nyzb2818.png" alt="17 agents across three layers: workflow, specialist, and orchestrator." width="700" height="622"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each specialist has its own memory at &lt;code&gt;.kit/context/agent-memory/{role}.md&lt;/code&gt;, lazy-loaded by &lt;code&gt;specialist-memory-resolver.ps1&lt;/code&gt;. Only the memory relevant to the spawned role gets embedded. This is the difference between an agent that burns 8000 tokens orienting itself and one that starts working immediately.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Playwright design pipeline
&lt;/h2&gt;

&lt;p&gt;When &lt;code&gt;/redesign&lt;/code&gt; or a frontend &lt;code&gt;/build&lt;/code&gt; runs, the kit activates a visual pipeline that separates aesthetic direction from code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fclguzb0vnj8feurryvuj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fclguzb0vnj8feurryvuj.png" alt="The Playwright design pipeline: aesthetic lock through visual diff with structure gate." width="700" height="622"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Aesthetic lock.&lt;/strong&gt; &lt;code&gt;aesthetic-director&lt;/code&gt; reads &lt;code&gt;.wiki/features.md&lt;/code&gt; (the product context), proposes 2-3 named aesthetics (Swiss Minimalism, Glassmorphism, etc.), and writes &lt;code&gt;DESIGN.md&lt;/code&gt; with locked typography, palette, density, and motion rules. This creates consensus on what "looks right" before any code runs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Capture.&lt;/strong&gt; &lt;code&gt;playwright-explorer&lt;/code&gt; reads &lt;code&gt;.agents/screen-flows.yaml&lt;/code&gt; (screens, auth, selectors with multi-fallback arrays), starts the dev server, and captures numbered PNGs at 2x device scale (3840x2160). It never edits code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Structure critique.&lt;/strong&gt; &lt;code&gt;ux-driver&lt;/code&gt; reads the screenshots against &lt;code&gt;DESIGN.md&lt;/code&gt; and judges hierarchy, scannability, cognitive load, a11y, and empty/error/loading states. Returns &lt;code&gt;structure_ok=true/false&lt;/code&gt;. If false, &lt;code&gt;ui-driver&lt;/code&gt; is blocked and a restructure plan is returned first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Visual polish.&lt;/strong&gt; &lt;code&gt;ui-driver&lt;/code&gt; (only if &lt;code&gt;structure_ok=true&lt;/code&gt;) judges color, spacing, typography, and AI-slop patterns. It emits one change at a time, the code is updated, &lt;code&gt;playwright-explorer&lt;/code&gt; recaptures, and &lt;code&gt;visual-diff.ps1&lt;/code&gt; pairs before/after screenshots with pixel-level diff PNGs and a regression threshold of 5%.&lt;/p&gt;

&lt;p&gt;The key insight: structure before visuals. Polishing a bad layout wastes everyone's time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wiki and memory: how agents remember across sessions
&lt;/h2&gt;

&lt;p&gt;The kit splits context into two systems that compound across sessions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wiki&lt;/strong&gt; (&lt;code&gt;.wiki/&lt;/code&gt;) is the repo's structural documentation: &lt;code&gt;index.md&lt;/code&gt;, &lt;code&gt;architecture.md&lt;/code&gt;, &lt;code&gt;codebase.md&lt;/code&gt;, &lt;code&gt;features.md&lt;/code&gt;, and per-section pages in &lt;code&gt;sections/&lt;/code&gt;. Each section has size budgets (150 lines max) and a standard template: purpose, key files, inputs, outputs, interactions, non-obvious notes. &lt;code&gt;wiki-resolver.ps1&lt;/code&gt; lazy-loads only sections whose key files overlap with the current task. Agents never bulk-load the wiki tree.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Memory&lt;/strong&gt; (&lt;code&gt;.kit/context/&lt;/code&gt;) is the operational state: &lt;code&gt;memory.md&lt;/code&gt; for durable repo facts. &lt;code&gt;handoffs.md&lt;/code&gt; for what was built, what tests passed, what is next. &lt;code&gt;reflections.md&lt;/code&gt; for suggested workflow improvements. &lt;code&gt;agent-memory/{role}.md&lt;/code&gt; for role-specific guidance ("in this repo, X is intentional, skip flagging").&lt;/p&gt;

&lt;p&gt;When I sit down Tuesday wondering what I worked on Friday, I open the handoff and have my answer in 30 seconds: task description, files touched, gates marked, what is left.&lt;/p&gt;

&lt;h2&gt;
  
  
  The self-improvement loop
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;post-session.ps1&lt;/code&gt; runs at session end with failure detectors: verification gate unmarked? Writeback skipped? Tests not logged? Each writes a structured entry to &lt;code&gt;reflections.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;auto-apply-reflect.ps1&lt;/code&gt; processes these entries in tiered safe buckets. Specialist memory accretion (3+ consistent false-positives auto-append to agent-memory). &lt;code&gt;conventions.md&lt;/code&gt; refinements. Spawn-budget tweaks. These auto-apply. Slash command body changes and tool logic rewrites are gated for manual &lt;code&gt;/reflect&lt;/code&gt; approval. Every auto-applied change is snapshotted and audit-logged.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frfi3jx8jnyqm7g89xglm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frfi3jx8jnyqm7g89xglm.png" alt="The kit proposing its own fix after detecting a recurring failure pattern." width="700" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One canonical, three hosts
&lt;/h2&gt;

&lt;p&gt;Each CLI host wants agent files in a different format and silently rejects the others. Claude Code rejects BOM-prefixed files. OpenCode rejects Claude's &lt;code&gt;tools: A, B, C&lt;/code&gt; comma-string. Copilot rejects Unicode in descriptions over 300 characters.&lt;/p&gt;

&lt;p&gt;The kit maintains one canonical source at &lt;code&gt;~/.agents/global-instructions.md&lt;/code&gt;. &lt;code&gt;sync-all-hosts.ps1&lt;/code&gt; distributes it into each host's instruction file between &lt;code&gt;&amp;lt;!-- agentic-kit:begin/end --&amp;gt;&lt;/code&gt; markers, preserving anything outside the markers. Per-host sanitizers translate agent files at install time. All 17 agents load on all 3 hosts from one shared definition.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tools that enforce discipline
&lt;/h2&gt;

&lt;p&gt;35+ PowerShell scripts take discipline out of the prompt and put it in code.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;What it enforces&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;edit-with-lint.ps1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Syntax check on every edit, atomic revert on failure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;test-loop.ps1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Marks verification gate on pass, detects stuck loops (3 same-signature failures)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;verify-writeback.ps1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Checks docs updated alongside code changes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;scope-classifier.ps1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Determines ceremony tier from git diff&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;frontend-detector.ps1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Flags greenfield UI for aesthetic-director&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;wiki-resolver.ps1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Lazy-loads only relevant wiki sections into agent prompts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;specialist-memory-resolver.ps1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Injects role-specific repo memory into subagent prompts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;visual-diff.ps1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Pixel-level before/after comparison with regression threshold&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;auto-apply-reflect.ps1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Closes the self-improvement loop with tiered safe auto-apply&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The bash-dispatcher hook enforces at the protocol layer: dangerous filesystem ops blocked, &lt;code&gt;git push --force&lt;/code&gt; on main blocked, &lt;code&gt;git commit&lt;/code&gt; gated on verification evidence. Test success auto-marks the verification gate. The agent does not need to remember any of these rules. The harness does.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is next
&lt;/h2&gt;

&lt;p&gt;The kit runs on Claude Code today. In the next article, I will write about the hybrid setup I am testing: Claude Code as orchestrator, OpenCode Go at $10/month with DeepSeek V4 API keys for the fan-out layer. DeepSeek V4 Flash at $0.14/$0.28 per million tokens is 35x cheaper than Opus on input. A &lt;code&gt;/build&lt;/code&gt; with 3 reviewer spawns costs under $0.01.&lt;/p&gt;

&lt;p&gt;Fork it: &lt;a href="https://github.com/CBannink/agentic-coding-kit" rel="noopener noreferrer"&gt;github.com/CBannink/agentic-coding-kit&lt;/a&gt;. Open an issue if something breaks.&lt;/p&gt;




&lt;p&gt;I am Caspar Bannink, founder of HomeScout (AI rental search for Dublin) and Bannink Software Development.&lt;/p&gt;

&lt;p&gt;Side project: &lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;homescout.io&lt;/a&gt;&lt;br&gt;
Personal LinkedIn: &lt;a href="https://www.linkedin.com/in/caspar-bannink-719440217/" rel="noopener noreferrer"&gt;linkedin.com/in/caspar-bannink-719440217&lt;/a&gt;&lt;br&gt;
HomeScout LinkedIn: &lt;a href="https://www.linkedin.com/company/homescout-io" rel="noopener noreferrer"&gt;linkedin.com/company/homescout-io&lt;/a&gt;&lt;br&gt;
Repo: &lt;a href="https://github.com/CBannink/agentic-coding-kit" rel="noopener noreferrer"&gt;github.com/CBannink/agentic-coding-kit&lt;/a&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>aiagents</category>
      <category>devtools</category>
      <category>powershell</category>
    </item>
    <item>
      <title>How AI is fixing the Dublin rental nightmare for expats in 2026</title>
      <dc:creator>Caspar Bannink</dc:creator>
      <pubDate>Mon, 11 May 2026 22:00:35 +0000</pubDate>
      <link>https://dev.to/caspar_bannink_3728f095d1/how-ai-is-fixing-the-dublin-rental-nightmare-for-expats-in-2026-4pfm</link>
      <guid>https://dev.to/caspar_bannink_3728f095d1/how-ai-is-fixing-the-dublin-rental-nightmare-for-expats-in-2026-4pfm</guid>
      <description>&lt;h1&gt;
  
  
  How AI is fixing the Dublin rental nightmare for expats in 2026
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc8s5q1nmzarute4yqcwy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc8s5q1nmzarute4yqcwy.png" alt="HomeScout homepage" width="720" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I moved from Amsterdam to Dublin two years ago. I spent four weeks in a co-living space burning through money while trying to decode a rental market I knew nothing about.&lt;/p&gt;

&lt;p&gt;Not because the tools did not exist. Because every tool was built for people who already knew the city.&lt;/p&gt;

&lt;p&gt;That is the expat problem in one sentence. You land in a country where you do not know the neighborhoods, cannot read the social norms in a listing, have no instinct for what a price should be, and sometimes cannot even communicate clearly in the language the forms are written in. The market does not slow down for any of that.&lt;/p&gt;

&lt;p&gt;In 2026, AI search is starting to fix parts of this. Not all of it. But enough that the experience is meaningfully different.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Daft.ie is not built for you
&lt;/h2&gt;

&lt;p&gt;Daft.ie is Ireland's dominant rental portal. It is useful if you grew up here.&lt;/p&gt;

&lt;p&gt;Type "2-bed apartment Dublin" and you get a list sorted by price. What you do not get: any context on which areas those results are in, what the commute times look like, whether a neighborhood is quiet or loud, or what €1,900/month actually means relative to local norms. The portal assumes you already have all of that in your head.&lt;/p&gt;

&lt;p&gt;If you have lived in Dublin your whole life, you do. If you flew in from Bangalore, São Paulo, or Rotterdam last Tuesday, you do not.&lt;/p&gt;

&lt;p&gt;There is no multilingual support. There is no explanation of what RPZ compliance means, or why some listings mention "HAP" and others do not, or what the difference is between a letting agent posting and a private landlord posting. You either know or you do not.&lt;/p&gt;

&lt;p&gt;The result is that expats make decisions with radically less information than locals. They apply to apartments in areas that look cheap on a map but have reasons for being cheap. They miss listings because they searched with the wrong terminology. They sign leases with clauses that would make an Irish renter laugh.&lt;/p&gt;

&lt;p&gt;This is not a complaint about Daft. It is a product that works well for its intended audience. Expats are not that audience.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changes when the search is AI-native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2qstdd4hgr43n2zftpjx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2qstdd4hgr43n2zftpjx.png" alt="HomeScout natural language search results" width="700" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first thing that changes is the input layer.&lt;/p&gt;

&lt;p&gt;Instead of working out the right filter settings, you describe what you want in your own terms. "I need something close to the tech quarter in the south docks, quiet enough to work from home, under €2,200, not on a main road." That search, in natural language, runs across Daft.ie, Rent.ie, and MyHome simultaneously and returns results ranked by match quality, not just price.&lt;/p&gt;

&lt;p&gt;For expats, this matters because you do not know the right Daft filters yet. You do not know that "Docklands" and "Grand Canal Dock" are the same area. You do not know that "city centre" on Daft spans everything from premium Ballsbridge to places you would not want to live. Natural language cuts through that.&lt;/p&gt;

&lt;p&gt;The second thing that changes is area context.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ewl7crtrisxt2mi3i89.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ewl7crtrisxt2mi3i89.png" alt="Area Explorer choropleth map" width="700" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;HomeScout's Area Explorer shows commute time to a work address, walkability scores, average rent per square metre, and a plain-language description of what the neighborhood is like. For someone who has never been to Dublin before, this is the difference between applying blindly and applying with a real opinion.&lt;/p&gt;

&lt;p&gt;I wish I had had that. I spent a Saturday in my first week walking Stoneybatter, Phibsborough, and Drumcondra just to form opinions I could have read in two minutes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkhc6eidgt94rab9qlqsm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkhc6eidgt94rab9qlqsm.png" alt="Property cards with value score badges" width="700" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The third is value scoring. Each listing gets a price-relative-to-area score so you can see whether €1,850 in Rathmines is above or below what that area commands. For expats who have no local price intuition, this replaces the 6 months of market watching it normally takes to develop one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI Rental Agent: monitoring from a different timezone
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs0oyrflgnckuk5155ffe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs0oyrflgnckuk5155ffe.png" alt="AI Rental Agent dashboard" width="700" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The single biggest structural disadvantage expats have is timezone.&lt;/p&gt;

&lt;p&gt;If you are in Singapore making a decision about a Dublin rental, you are 7 to 9 hours ahead. The best listings go live during Dublin business hours. By the time you wake up and check, 40 people have applied.&lt;/p&gt;

&lt;p&gt;HomeScout's AI Rental Agent runs 24/7 and matches new listings against your saved search criteria the moment they appear. When a match lands, you get a push notification immediately, not on the next refresh cycle.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flivx4z46tujoiqz6pgwg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flivx4z46tujoiqz6pgwg.png" alt="Auto-apply safeguards panel" width="700" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The auto-apply feature goes further. You pre-approve a cover letter template and set the criteria under which the agent can apply on your behalf. It is not automatic spam. There are 5 safeguards: you approve the template, you opt in per search, a scam filter blocks suspicious listings, a daily cap prevents overreach, and a kill switch lets you stop it instantly. Within those limits, the agent applies within seconds of a listing going live, not after your morning coffee.&lt;/p&gt;

&lt;p&gt;For expats searching from abroad, this changes the competitive position completely. You are no longer automatically at a disadvantage because of where you are sleeping.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contract review when the law is unfamiliar to you
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4uzz0lknhk0ozzk3zexu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4uzz0lknhk0ozzk3zexu.png" alt="Contract review interface" width="700" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Irish lease law has specific rules that most expats do not know before they arrive.&lt;/p&gt;

&lt;p&gt;RPZ (Rent Pressure Zone) caps mean rent inside most Dublin areas can only rise 2% per year. Notice periods run from 28 days for tenancies under 6 months to 196 days for tenancies over 7 years. The deposit maximum is one month's rent. Any lease clause that contradicts Irish tenancy law is unenforceable, regardless of what the paper says.&lt;/p&gt;

&lt;p&gt;HomeScout's contract review tool reads a lease and flags clauses that are unusual, potentially unenforceable, or worth questioning before you sign. It also checks RPZ compliance: if a listing is in an RPZ area and the rent history looks off, the review surfaces that.&lt;/p&gt;

&lt;p&gt;For non-native English speakers, this is especially useful because legal language in a second language is genuinely hard. A clause that a native speaker parses in 10 seconds can take a non-native speaker several minutes to decode, and sometimes they still get it wrong. The review tool outputs plain-language summaries of each flagged clause, not legalese.&lt;/p&gt;

&lt;p&gt;This does not replace a solicitor for high-value or unusual situations. But for a standard Dublin tenancy agreement, it catches the things worth catching.&lt;/p&gt;

&lt;h2&gt;
  
  
  Five languages, because Dublin is international
&lt;/h2&gt;

&lt;p&gt;Dublin's rental market is filled with people who moved there from everywhere. The tech sector alone brings in workers from 40 or 50 countries. A significant number of them are searching for rentals in their second or third language.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6cxyy5z15wnvs36yi77b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6cxyy5z15wnvs36yi77b.png" alt="Renter profile and document vault" width="700" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;HomeScout supports English, Spanish, Hindi, Dutch, and Portuguese. Search, area context, value explanations, and contract review all work in all five languages. You can run your entire rental search in the language you think most clearly in.&lt;/p&gt;

&lt;p&gt;I built Dutch support partly for selfish reasons. My Dutch colleagues in Dublin had the same problem I did, and "just use English" is a real but unsatisfying answer when you are already under stress from a move.&lt;/p&gt;

&lt;p&gt;Spanish and Portuguese together cover most of Latin America and the Iberian Peninsula. Hindi covers one of the largest sending communities in Dublin's tech workforce. These are not token additions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is still limited
&lt;/h2&gt;

&lt;p&gt;Honest disclosure: AI search does not fix the supply problem.&lt;/p&gt;

&lt;p&gt;Dublin has roughly 1,500 active rental listings at any given moment against demand that far exceeds that. No tool closes the supply gap. What AI search does is make sure that in a competitive market, you are competing with full information and optimal timing instead of one hand tied behind your back.&lt;/p&gt;

&lt;p&gt;The auto-apply feature does not guarantee viewings. It guarantees that your application arrives at a competitive time. Agents and landlords still choose.&lt;/p&gt;

&lt;p&gt;Area Explorer data is updated weekly, not in real-time. Rent prices shift faster than the underlying data does in fast-moving periods.&lt;/p&gt;

&lt;p&gt;The contract review tool flags issues; it does not give legal advice. If a landlord pushes back on a flagged clause, you still need a human conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it before you land
&lt;/h2&gt;

&lt;p&gt;The 7-day free trial requires no payment card. If you are planning a move to Dublin in the next 3 months, running a few test searches before you arrive is worth the 10 minutes. You will understand the market and the neighborhoods faster than any amount of Googling will give you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;Start your free trial at homescout.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dublin-first today. Cork, Galway, and Limerick coverage is in progress for later in 2026.&lt;/p&gt;




&lt;p&gt;I am Caspar Bannink, founder of HomeScout (AI rental search for Dublin) and Bannink Software Development. I moved from Amsterdam to Dublin two years ago and built the tool I wish I had.&lt;/p&gt;

&lt;p&gt;Check out my side project: &lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;homescout.io&lt;/a&gt;&lt;br&gt;
Personal LinkedIn: &lt;a href="https://www.linkedin.com/in/caspar-bannink-719440217/" rel="noopener noreferrer"&gt;linkedin.com/in/caspar-bannink-719440217&lt;/a&gt;&lt;br&gt;
HomeScout LinkedIn: &lt;a href="https://www.linkedin.com/company/homescout-io" rel="noopener noreferrer"&gt;linkedin.com/company/homescout-io&lt;/a&gt;&lt;/p&gt;

</description>
      <category>expat</category>
      <category>ai</category>
      <category>proptech</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Everything HomeScout Can Do (And Why I Built It After Moving to Dublin)</title>
      <dc:creator>Caspar Bannink</dc:creator>
      <pubDate>Fri, 01 May 2026 21:38:37 +0000</pubDate>
      <link>https://dev.to/caspar_bannink_3728f095d1/everything-homescout-can-do-and-why-i-built-it-after-moving-to-dublin-4aoa</link>
      <guid>https://dev.to/caspar_bannink_3728f095d1/everything-homescout-can-do-and-why-i-built-it-after-moving-to-dublin-4aoa</guid>
      <description>&lt;h1&gt;
  
  
  Everything HomeScout Can Do (And Why I Built It After Moving to Dublin)
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://medium.com/p/def3291c8c8a" rel="noopener noreferrer"&gt;Medium&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I moved from the Netherlands to Dublin about two years ago. I had a job lined up, a rough idea of which neighbourhoods looked interesting, and what I thought was a reasonable budget. What I did not have was any idea how broken the rental search experience in this city actually is.&lt;/p&gt;

&lt;p&gt;Within the first week I was refreshing Daft.ie on my phone during work meetings, copy-pasting the same inquiry email to thirty letting agents, and genuinely losing sleep over apartments I missed because I did not check listings fast enough. Coming from Amsterdam I thought I knew expensive rental markets. Dublin turned out to be worse, with fewer tools to help you make sense of it.&lt;/p&gt;

&lt;p&gt;After about a month of this, I started building &lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;HomeScout&lt;/a&gt;. Not because I wanted to launch a startup. Because I was tired of the way things worked and I knew they could be better. I ended up using HomeScout to find my own apartment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqzfd0etlb3zaweqstfz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqzfd0etlb3zaweqstfz.png" alt="HomeScout homepage" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem Nobody Was Solving
&lt;/h2&gt;

&lt;p&gt;You land in Dublin, you need a place to live, you open Daft.ie. It's the main listing site. Everyone uses it. And the search is terrible.&lt;/p&gt;

&lt;p&gt;You know exactly what you want. A two-bedroom apartment near Google Docks, under €2,000, that allows pets. Simple enough. Instead of typing that sentence, you get 15 dropdown menus. Location picker. Min price. Max price. Bedrooms. Property type. And even after clicking through all of those, the results don't really match what you asked for.&lt;/p&gt;

&lt;p&gt;The first five pages are dominated by expensive new-build developments. Shiny complexes charging €3,000-plus for a one-bed. The normal, affordable apartments that regular people actually rent are buried deep in the results.&lt;/p&gt;

&lt;p&gt;Then there's the pricing problem. You find a one-bed in Rathmines listed at €1,800. Is that a good deal? Overpriced? About to go up? You have no way to know. No area data, no comparison tools, no market intelligence. You're making one of the biggest financial decisions of your month completely blind.&lt;/p&gt;

&lt;p&gt;If you do find a place, the lease arrives. Forty pages of legal text. Clauses about things you've never heard of. Is this break clause normal in Ireland? Is that deposit retention term a red flag? You could hire a solicitor, but not for every lease you review.&lt;/p&gt;

&lt;p&gt;Meanwhile you're emailing twenty-plus agents. Replies arrive at random times. Your inbox becomes chaos. It's a full-time job alongside your actual full-time job. Good properties disappear within hours. If you're not refreshing every twenty minutes, you miss them. Every inquiry email you send looks like everyone else's, one of fifty identical messages in the agent's inbox.&lt;/p&gt;

&lt;p&gt;I dealt with all of this firsthand. Not as a product researcher. As a frustrated renter who could not believe how bad the experience was. So I built &lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;HomeScout&lt;/a&gt; to fix it. All of it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built to Fix It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Search That Understands English
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd5c2hrips4f2dw5t8i1n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd5c2hrips4f2dw5t8i1n.png" alt="Natural language search results" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was the first thing I built, because it was the first thing that drove me up the wall. On HomeScout, you type what you want in plain English. &lt;em&gt;"2 bed apartment in Rathmines under 2000 that allows pets."&lt;/em&gt; The AI picks up on what you mean and returns matching listings. No dropdowns. No guessing which filter combination might work.&lt;/p&gt;

&lt;p&gt;You can be as specific or as vague as you want. "Something near a DART station with a balcony" works just as well as "3 bed house in Drumcondra between 1800 and 2200." The search adapts to how you think about your housing needs rather than forcing you into rigid categories.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Match Score + Value Score: Know If It's a Good Deal
&lt;/h3&gt;

&lt;p&gt;Every property gets two scores. The &lt;strong&gt;AI Match Score&lt;/strong&gt; tells you how well a listing fits what you actually asked for, explained in plain language ("matches your commute, over budget by €150, no balcony"). The &lt;strong&gt;Value Score&lt;/strong&gt; tells you whether the asking rent is fair for that neighbourhood, based on comparable properties, location quality, condition, and BER energy rating.&lt;/p&gt;

&lt;p&gt;No more guessing. No more overpaying because you didn't know the going rate for a two-bed in Stoneybatter. Agents and landlords have always had more information than tenants. These two scores finally flip the table.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Rental Agent: Stop Refreshing, Start Living
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2bu3f7buap3m8akwptwb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2bu3f7buap3m8akwptwb.png" alt="Auto apply panel" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This one changed how I think about apartment hunting entirely. You describe your dream property once, budget, area, bedrooms, whatever matters, and the AI Rental Agent scans the market around the clock. The moment something matching your criteria appears, you get notified.&lt;/p&gt;

&lt;p&gt;No more refreshing Daft every twenty minutes during your lunch break. No more missing a perfect apartment because you were in a meeting when it was listed. If you want to go further, the Agent can auto-send your pre-approved inquiry template the moment a match lands (capped at 5 sends per day with a kill switch on every email). The Dublin market moves fast, a good two-bed can get fifty inquiries in the first hour. Being notified instantly makes a real difference.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Contract Review: Your 30-Second Solicitor
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpq6o6mp9ejhe265bz4e4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpq6o6mp9ejhe265bz4e4.png" alt="Contract review upload" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You get a lease. It's forty pages. You upload the PDF to HomeScout. Within thirty seconds the AI has read every clause, flagged potential red flags, checked RPZ (Rent Pressure Zone) compliance, and highlighted anything unusual compared to standard Irish leases.&lt;/p&gt;

&lt;p&gt;Is that deposit clause normal? Is this break clause fair? Can the landlord actually do that inspection thing? You get clear answers without booking a solicitor appointment. It doesn't replace legal advice for complex situations, but for the "is this lease reasonable?" question that every renter has, it's exactly what you need.&lt;/p&gt;

&lt;h3&gt;
  
  
  Smart Inbox: One Place for All Agent Communication
&lt;/h3&gt;

&lt;p&gt;Instead of losing track of twenty email threads across your personal inbox, all your agent communication lives in one organised place inside HomeScout. Every conversation tied to the property it's about, with full history.&lt;/p&gt;

&lt;p&gt;The real power is in AI email generation and reply analysis. When you reach out to an agent, the AI drafts a personalised inquiry using your renter profile, your employment status, your move-in timeline, relevant details that make you sound like a serious, organised applicant. Not a generic "Hi, is this still available?" that agents get hundreds of per day.&lt;/p&gt;

&lt;p&gt;When the agent replies, the AI reads it, classifies the sentiment (positive / negative / needs info), and suggests next actions. You review everything before it sends. You can edit it, change the tone, add details. Nothing goes out without your approval.&lt;/p&gt;

&lt;h3&gt;
  
  
  Viewing Scheduler: No More Calendar Chaos
&lt;/h3&gt;

&lt;p&gt;When you're viewing five or six properties in a week, keeping track of when and where becomes its own challenge. HomeScout has a built-in viewing scheduler with ICS calendar export. Book viewings, export them to your calendar, get reminders, and track which ones you've attended and what you thought of each.&lt;/p&gt;

&lt;p&gt;Simple. But when I was hunting I once showed up to a viewing on the wrong day because I'd mixed up two properties in my head. That doesn't happen when everything is organised in one system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Renter Resume: Stand Out From the Crowd
&lt;/h3&gt;

&lt;p&gt;Dublin's rental market is brutally competitive. When an agent has fifty applications for one apartment, anything that makes you look more prepared and professional helps.&lt;/p&gt;

&lt;p&gt;Your renter resume on HomeScout is a digital profile with your employment details, references, and key documents. When you apply for a property, you can share your complete profile with one click instead of rewriting your life story and attaching the same documents every single time. Faster for you, better impression on the agent.&lt;/p&gt;

&lt;h3&gt;
  
  
  Document Vault: Everything in One Secure Place
&lt;/h3&gt;

&lt;p&gt;Payslips in your email. Lease in your downloads folder. Reference letter somewhere on your phone. Every application means hunting through folders and inboxes for the same files.&lt;/p&gt;

&lt;p&gt;HomeScout's document vault is encrypted storage for all your rental documents, AES-256-GCM at rest, key derived per user. Leases, payslips, employer references, ID copies. When an agent asks for your last three payslips, you open the vault and share them. Your sensitive financial documents aren't sitting in a regular cloud folder.&lt;/p&gt;

&lt;h3&gt;
  
  
  Market Scout: Understand Dublin Before You Search
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsfq0z35j5crjct7qklyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsfq0z35j5crjct7qklyg.png" alt="Dublin choropleth map" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're new to Dublin, you probably don't know the difference between Rathmines and Ranelagh, or why Phibsborough costs half of what Ballsbridge does. &lt;strong&gt;Market Scout&lt;/strong&gt; (formerly Area Explorer) is an interactive choropleth map of 28 Dublin neighbourhoods, colour-coded by real rent data and overlaid with 63 landmark markers.&lt;/p&gt;

&lt;p&gt;Before you even run your first search, you can explore the city and understand what different areas actually cost. Orientation that takes weeks to figure out on your own, available in thirty seconds.&lt;/p&gt;

&lt;h3&gt;
  
  
  Property Comparison + Price History
&lt;/h3&gt;

&lt;p&gt;Saved properties get side-by-side comparison mode and a price-history sparkline, so you can see whether that €2,100 listing was €1,850 three months ago. Useful both for knowing what's moving and for politely asking an agent why the price jumped.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Free and What's Not
&lt;/h2&gt;

&lt;p&gt;I wanted HomeScout to be genuinely useful even if you never pay a cent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explorer (Free, forever):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;20 AI searches per month&lt;/li&gt;
&lt;li&gt;5 saved properties&lt;/li&gt;
&lt;li&gt;1 lifetime free AI contract review&lt;/li&gt;
&lt;li&gt;1 active AI Rental Agent brief + 1 match per week (blurred previews for the rest)&lt;/li&gt;
&lt;li&gt;No Market Scout, no viewing scheduler, no email drafting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enough to get a feel for the platform, try the AI search, and run one contract through the review.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HomeScout (€17.99/month, or €42.99 Season Pass for 3 months):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unlimited AI searches, saved properties, saved searches, AI email drafting&lt;/li&gt;
&lt;li&gt;Full Market Scout access&lt;/li&gt;
&lt;li&gt;Unlimited AI Rental Agent (with auto-apply, 5 sends/day cap)&lt;/li&gt;
&lt;li&gt;Unlimited AI contract review&lt;/li&gt;
&lt;li&gt;Viewing scheduler + ICS calendar export&lt;/li&gt;
&lt;li&gt;Commute calculator&lt;/li&gt;
&lt;li&gt;Unlimited document vault&lt;/li&gt;
&lt;li&gt;Property comparison + advanced filters&lt;/li&gt;
&lt;li&gt;Priority support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Season Pass works out to roughly €14.33/month, designed for the realistic length of a Dublin apartment hunt. I priced it below the cost of a single solicitor consultation because the tools should be accessible to normal renters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Team plans&lt;/strong&gt; are per-seat with volume discounts for relocation teams and HR departments moving multiple people into Dublin.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;If any of this resonated with your own experience of apartment hunting in Dublin, give &lt;a href="https://homescout.io" rel="noopener noreferrer"&gt;HomeScout&lt;/a&gt; a try. The free Explorer plan doesn't require a credit card.&lt;/p&gt;

&lt;p&gt;I built this because I was tired of fighting with Daft.ie at 11pm on a Tuesday, wondering if that apartment in Stoneybatter was fairly priced or if I was about to get ripped off. If that sounds familiar, you'll probably get a lot out of it. And if you end up catching a listing twenty minutes after it goes live because the AI Rental Agent pinged you while you were actually enjoying your lunch break instead of doom-scrolling Daft, that's exactly why I built the thing.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>productivity</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
