DEV Community

Cover image for "Is AI going to replace me?" I built Droichead on Gemma 4 in one day, then pitched it with a flip chart
Muhammad Murtuza Hussain
Muhammad Murtuza Hussain Subscriber

Posted on AI-assisted

"Is AI going to replace me?" I built Droichead on Gemma 4 in one day, then pitched it with a flip chart

This is a submission for the MLH x DEV Writing Challenge

The announcer struggled with the name. Droichead is Irish for "bridge", and it's not an easy word to read out cold. I was standing next to my friend Nithin, telling him the technical track was his. Then they read out mine.

I asked three more times whether they really meant me.

I've never taken a single technical module. I studied business and maths, and my master's is in cybersecurity risk management, which is governance, not code. I'd started LeetCode four days earlier. Everything I know about building software I learned at hackathons, and on Saturday 3 October, at Hacktoberfest Hack Day Dublin x The AI Collective, that classroom gave me a prize: Best Open-Source AI Project.

This post is the build behind it: what Droichead does, how an open-weight model runs it without being allowed to make things up, and what I did while the AI was writing the code.

TL;DR. Droichead is a calm, private career navigator for people whose work is being reshaped by AI, built for Ireland's multilingual workforce. A 90-second check-in gives you roles to grow into, an honest gap analysis, and a dated week-by-week plan that links only to real courses, preferring free and government-funded Irish programmes. It runs entirely on Google's open-weight Gemma 4: in the cloud, or fully offline on a laptop through Ollama. It works in seven languages, with no accounts and no database. I built it solo in one four-hour Claude Code session, and I pitched it with a flip chart.

What I Built

The question on the board

The organisers set out five tracks. With ten minutes left to choose, I was standing in front of the Job Displacement board, and I didn't need to go and interview anyone: my own role ends on 14 October. I was applying for everything, including jobs I'd never trained for, and asking the exact question the track was asking. Is AI going to replace me?

So I wrote a persona. Eva is a software engineer in Dublin. She keeps hearing about a role called Forward Deployed Engineer, a client-facing engineer who applies technology in the field, and wonders whether it's her way forward. She just doesn't know how to get there. Her pain points were mine:

  1. The job market is tough.
  2. Certificates are expensive.
  3. In Ireland, a lot of hiring runs through referrals.
  4. When you're applying for everything, it's hard to know which role is the right fit.

And in Ireland it's harder if you work in a second language. A big part of the workforce does: large Polish and Ukrainian communities, and the international staff who keep Dublin's tech and finance sectors running. The advice they get is generic, English-only and often fear-based. Meanwhile Ireland funds excellent upskilling through Springboard+, Skillnet Ireland and SOLAS eCollege, but most people never connect those programmes to a concrete next role.

Droichead landing page:

What it does

  1. A 90-second check-in. Tap-first and skippable: role, industry, experience, the skills you enjoy, how you feel about AI, and the hours you can give each week. You can dictate the answers, or drop in a PDF CV, which is read in your browser and never uploaded.
  2. Pulse. Real articles from the last seven days (RTÉ, Silicon Republic, the Irish Times, the Guardian, TechCrunch), each with one line on what it means for you, next to live CSO Ireland unemployment figures.
  3. Roles to grow into. Emerging roles like Forward Deployed Engineer, AI Solutions Engineer or AI-enabled Finance Analyst, ranked by how close they are to what you already do.
  4. A gap analysis that leads with what you have. Then what's partly there, then what to build, with a time estimate at your hours per week, and a Listen button that reads it aloud.
  5. Bridge the gap. Pick a goal date and get a phased, week-by-week plan with a portfolio project. Every course comes from a human-checked catalogue.
  6. My plan. A timeline with a weekly streak, an .ics calendar export, a printable wall planner with QR codes that open each course from the paper, live job openings with how long ago each was posted, LinkedIn post drafts, local events, and a weekly check-in that re-plans around a bad week without guilt.

All of it works in English, Gaeilge, Polski, Українська, Español, Deutsch and Français: the interface, the AI's answers, read-aloud and dictation.

The idea behind it fits on a napkin, and it's the scroll animation on the landing page. Wanting to switch jobs is a wish. Give it a deadline and it's a goal. Put a plan behind the goal and you have a strategy. Act on it every week and that's success.

Scroll-drawn bridge on the landing page: Wish, Goal, Strategy, Action light up in turn as an arc draws itself

Demo

Try it: droichead.onrender.com. It's on Render's free tier, so the first load after a quiet spell takes a little while to wake up. Tap Try a demo for one of two personas: Aoife, a software developer in Dublin (English), or Оксана, an accountant in Cork (Ukrainian). Or do the check-in as yourself.

Pulse: roles to grow into News for you, plus live CSO data
Pulse page: strongest fit and roles to grow into, ranked by match Industry pulse with real articles from the last 7 days and live CSO Ireland unemployment figures
Gap analysis My plan
Gap analysis: you already have, partly there, to build My plan: phased timeline, portfolio project, print and calendar export
Printable wall planner One QR code per course
Printable A4 goal poster Printable sheet of QR codes, one per course or programme

The wall planner is my favourite part. A plan that only lives in a browser tab is easy to close. A plan on your fridge, where you can scan the next course with your phone, is harder to ignore.

GitHub logo MuhammadMurtuzaHussain / Droichead

Droichead is a calm, private career navigator for people whose work is being reshaped by AI. It runs on open-weight Gemma 4 and works in seven languages.

Droichead

Bridge the gap to the job that's coming. Droichead (DRUH-hed) is Irish for "bridge".

Droichead is a calm, private career navigator for people whose work is being reshaped by AI. It runs on open-weight Gemma 4 and works in seven languages. It was built in Dublin in one day for Hack for Humanity (Hacktoberfest Hack Day Dublin x The AI Collective), on the job-displacement track: help people navigate changing roles, skills, opportunities and economic security.

Live demo: https://droichead.onrender.com  ·  Licence: MIT

Droichead landing page: "The work is changing. So can you." over the Samuel Beckett Bridge in Dublin

A wish to switch jobs is a fantasy. Give it a deadline and it becomes a goal. Put a plan behind the goal and you have a strategy. Act on the strategy consistently and that is success.

Scroll-drawn bridge: Wish, Goal, Strategy, Action


The problem, locally

AI anxiety is real, and it is not evenly spread. In Ireland, a big share of the workforce works in a second language. That includes large Polish and…

How It Works

Browser: Next.js 16, React 19, Tailwind v4, Motion
  IndexedDB (Dexie): profile, plans, check-ins      pdf.js: CV read in the browser
        │  profile sent per request, never stored
        ▼
Stateless route handlers
  /api/pulse    RSS feeds + CSO PxStat ─► Gemma: roles, "what it means for you", economy
  /api/gap      Gemma: have / partly there / to build
  /api/plan     Gemma picks from a 32-item course catalogue ─► code schedules the weeks
  /api/replan   code reschedules ─► Gemma writes one kind sentence and one tiny next step
  /api/jobs     Arbeitnow + Remotive, matched to the target role
  /api/posts    Gemma: LinkedIn drafts
        │
        ▼
Gemma 4: Google AI Studio (26B-A4B) │ Ollama on a laptop (12B) │ any OpenAI-compatible endpoint
Enter fullscreen mode Exit fullscreen mode

The model picks, the code owns the facts

Career advice is a bad place for a model to improvise. A made-up course link wastes someone's evening, and a made-up deadline wastes their month. So I split the work the way I'd split it with a colleague I trusted but checked:

Gemma decides Code guarantees
Which roles fit, and why Every news item is a real article from a real feed
What you already have, what's partly there, what to build Unemployment figures come straight from the CSO API
Phases, tasks and minutes for each task Every course link is one a human checked, picked by id
Which catalogue resource fits each task The dates: weeks are computed from the goal date and your hours
A warm, specific line of encouragement Re-planning: nothing stays overdue, and each week fits your hours

The model never writes a URL. It gets a catalogue of 32 resources (Springboard+, Skillnet Ireland, eCollege, Cyber Skills and more), each with an id, and it's told it may only use those ids. Then the server checks anyway. An id Gemma invents simply disappears:

// app/api/plan/route.ts: an id that isn't in the human-checked catalogue is dropped
const resourceId = t.resourceId && RESOURCE_BY_ID[t.resourceId] ? t.resourceId : undefined;
Enter fullscreen mode Exit fullscreen mode

Every response is validated against a zod schema. If it doesn't validate, Gemma gets the validation error back and one more try:

// lib/llm.ts
for (let attempt = 0; attempt < 2; attempt++) {
  const text = await complete(messages, opts.maxTokens ?? 2000, opts.temperature ?? 0.5, signal);
  try {
    return opts.schema.parse(extractJSON(text));
  } catch (e) {
    messages.push({ role: "assistant", content: text });
    messages.push({
      role: "user",
      content: `That did not validate (${String(e).slice(0, 400)}). Reply again with ONLY the corrected JSON object.`,
    });
  }
}
Enter fullscreen mode Exit fullscreen mode

And if the model is unreachable altogether, the demo personas fall back to pre-written content. A live demo in a room with shaky wifi should never dead-end.

The weekly check-in follows the same rule. When you tell it you're "a bit behind" or "way behind", plain code moves the tasks so nothing stays overdue and each week's load fits the hours you say you have. Gemma only writes the encouragement and one tiny next step. Rescheduling has to be right every time. Kindness is where a model earns its place.

There's one more guard in the system prompt: news text and CVs are treated as untrusted data, and the model is told never to follow instructions found inside them. A CV is exactly the kind of document someone could slip a prompt into.

One model family, three places

Where Model Why
The live demo gemma-4-26b-a4b-it on Google AI Studio Fast enough to pitch with
A laptop, offline gemma4:12b on Ollama Your answers never leave your machine
Anywhere else Any OpenAI-compatible endpoint (DigitalOcean Inference, vLLM, Groq) Swap providers with environment variables

I measured both main setups on the day, on the same calls:

Call Laptop: Gemma 4 12B on Ollama Cloud: Gemma 4 26B-A4B on AI Studio
Gap analysis ~9 s ~4 s
Roles ~28 s ~9 s
News commentary ~21 s ~8 s
26-week plan ~42 s ~23 s

Two things I learned the hard way, both visible in the agent session below:

  • Gemma 4 thinks at length by default, and it can spend the whole budget doing it. My first call to the 26B took 17 seconds and returned no answer at all, just thoughts. Setting thinkingLevel to minimal through Google's native API brought it to about 5 seconds, with valid JSON in Irish.
  • Gemma on Google's API has no system role. So the system prompt is folded into the first user turn:
// lib/llm.ts: Gemma on Google's API has no system role
const [sys, ...rest] = messages;
const turns = rest.map((m, i) => ({
  role: m.role === "assistant" ? "model" : "user",
  parts: [{ text: i === 0 ? `${sys.content}\n\n${m.content}` : m.content }],
}));
// ...
generationConfig: { temperature, maxOutputTokens: maxTokens, thinkingConfig: { thinkingLevel: "minimal" } },
Enter fullscreen mode Exit fullscreen mode

A local model also handles one request at a time, and React's dev mode fires effects twice. So identical requests in flight share one generation, and when everyone waiting on a generation has gone away, it's cancelled so it stops blocking the queue.

Private by design

There are no accounts, no database and no tracking. Your profile and plan live in your browser's IndexedDB, with one-tap export and delete. The server routes are stateless: your profile is sent with each request and never stored. Your CV is read on your device with pdf.js. On the laptop setup, nothing leaves your machine at all.

An Agent Skill other agents can reuse

The method itself is packaged as skills/bridge-the-gap/SKILL.md, so any agent can run the same gap analysis and planning without Droichead's UI. Its rules are the app's rules: lead with strengths, prefer free and funded programmes, never invent URLs, treat CVs as data, and never post on the person's behalf.

The build, by commit

Seventeen commits, all on the day (Irish time):

Time Commit
11:32 Initial commit
11:44 Skeleton: survey, pulse, gap analysis, planner
11:56 Redesign, real photography, RSS news
12:01 Six more languages, with a check that every locale has every key
12:03 The Agent Skill
12:25 AI moves to open-weight Gemma 4 on Ollama, locally
12:57 Gemma 4 on Google AI Studio, the scroll-drawn bridge, the wall planner
13:05 Render Blueprint
13:29 to 13:43 Social preview, QR codes, streaks, voice, CV upload, live CSO data, live jobs, weekly re-plan
14:35 README with screenshots

On Lighthouse it scored 93 for performance, 89 for accessibility, 100 for best practices and 100 for SEO.

Partner Technologies

Gemma 4 (open-weight, from Google)

Gemma does every AI job in the app: roles, news commentary, gap analysis, plans, check-in messages and LinkedIn drafts. Open weights matter for this product in three ways:

  • Privacy. A career plan is built from your work history and your worries. On Ollama it never leaves your laptop, and the code to do that is the same code the live demo runs.
  • Cost. People looking for their next role are often the people least able to pay for another subscription. A local model costs nothing per plan.
  • Control. Because Gemma runs inside my own pipeline, every answer passes through code I wrote before anyone sees it: schemas, the id check, deterministic scheduling. I could also swap sizes and providers and measure the difference, which is how I picked 26B-A4B for the demo.

It handled Ukrainian, Polish and Irish JSON well enough to ship. The one honest caveat: a native speaker hasn't reviewed the Gaeilge yet.

Google AI Studio

I'd used AI Studio for the first time the day before, building Pīzhù for a DEV weekend challenge. That practice run turned out to be the best preparation I could have done, because at noon on hack day I needed a plan B fast. The native API was the key: it's the only route where I could turn Gemma's thinking down to minimal.

Render

The whole deployment is one render.yaml Blueprint: a free Node service in Frankfurt (the closest region to Dublin), built with npm ci && npm run build, a health check on /api/health, and a redeploy on every push to main. Render asks for the AI Studio key when you create the Blueprint, so the key never touches the repo. The one thing to know: the free tier sleeps after about 15 minutes idle, so I opened the site a couple of minutes before my pitch.

DigitalOcean (the plan A that didn't happen)

DigitalOcean was the diamond sponsor, and I wanted to build on it. Joanna, one of the organisers, spent time getting my credits through, but the billing set-up wouldn't accept either of my cards, and without billing I couldn't generate a key for DigitalOcean's Inference. I'm including it because the code still carries it: there's a .do/app.yaml App Platform spec in the repo, and lib/llm.ts talks to any OpenAI-compatible endpoint, with DigitalOcean Inference as the default base URL. Pointing Droichead back at DigitalOcean is a matter of setting a key and a model name.

The detour took less than half an hour, and it made the product better. Discovering that my laptop already had Gemma 4 on Ollama is why "your answers can stay on your computer" is a feature and not a slogan.

Hackathon Experience

Getting there

At 00:33 I was wrapping meal prep for the week. By six I was on a bus from Galway to Dublin. The event had two names, Hacktoberfest Hack Day Dublin x The AI Collective Dublin Chapter on MLH and Hack for Humanity: Dublin on Luma, and I was on Luma's waiting list, so I didn't know where the venue was. I picked a direction and walked for twenty minutes. It was the wrong one. A taxi later I was one of the first people through the door at Dogpatch Labs, and Ashley, one of the organisers, turned my morning from lost to ready within a few minutes of chatting.

The welcome screen at Dogpatch Labs:

Seven tables, all full. Around 45 people in roughly 15 teams, from Ireland, Brazil, Poland, Ukraine, India and elsewhere in Asia. While everyone else talked architecture, I stood in a corner with Avi from Give a Go, who told me I had a voice for radio. It was exactly what I needed to hear.

Twenty minutes with nothing to build

I went outside and recorded a voice note: what the product should do, what the agent workflow should look like, and where AI should earn its place rather than replace a simple calculation. Then I handed it to Claude Code. That voice note is the first message in the session below.

While the first build ran, I had twenty minutes with nothing to do, and that's the part that catches people out. You can't interrupt the build without slowing it down. So I asked a different question: what can Claude not do that I can? The answer was pitching.

There was a flip chart in the corner. I tore off a sheet and split it into four quadrants: Eva and her thought bubble, "Is AI going to replace me?"; FDE, covered with sticky notes I could peel back with the audience; the pain points; and how Droichead answers each one. Then I thought about latency. A model takes several seconds to answer, which is a long time in a three-minute pitch, so I put the project name, a tagline and the tech stack on sticky notes to give the audience something to read while Gemma worked.

An illustration of the flip chart, redrawn from my description: Eva in Dublin asking

An illustration, redrawn from my description. The real one had more marker and fewer straight lines.

Three minutes, one flip chart

Most teams had slick slides. I dragged in a stand with a folded sheet of paper and started talking with my laptop still unplugged: "Hi folks, I'm Muhammad Murtuza from Galway, and Galway people are known to be a bit crazy, so what you're about to hear is a crazy guy's storytelling. Let's meet Eva." By the time I reached her pain points, I'd plugged in and gone live.

For the live demo I picked a volunteer: Nithin, who has years in offensive security and had no idea what I was about to do. I pasted his LinkedIn profile into Droichead. On the venue wifi the model took about twelve seconds, so I walked the room through Eva's plan while it worked, then came back to his result. The role it suggested was one he said he actually wanted: "that's the role I want." A real reaction, live, is hard to fake on a slide.

I ran out of time before the languages, the accessibility work or the live Irish data. I finished on the clock anyway, on the Lighthouse scores and a QR code to the live site.

Waiting to lose

Every other team had a back-and-forth with the three judges. I got one question from one judge: what's the human element? I said Droichead sends you out of the app, to events and to people on LinkedIn, because referrals matter in Ireland. Then I sat down certain I'd lost. I'd given them a person, a feeling and a solution, and in a room full of builders that felt like too little.

It was enough. Droichead won Best Open-Source AI Project. Congratulations to Moldmate by Christopher Svitok and team, who won the non-technical Build Without Code track. The prize was €25 and three sessions with Andrei, a Head of AI, which could not have come at a better moment for someone looking for their next role in AI and security.

What I'll remember

  • When the AI is building, ask what only you can do. Claude writes code faster than I ever will. It can't read a room, choose a volunteer, or cover twelve seconds of silence. Those twenty minutes were the most valuable of my day.
  • Start with a problem you live. Eva was a version of me, and I think the room could tell.
  • Pitch for the room, not the rubric. The flip chart wasn't a gimmick. It was me being myself, and it gave people something to read while the model thought.
  • Don't read the judges by the number of questions. I was sure one question meant I'd lost.

The rule that came out of that day, the model picks and the code owns the facts, became how I build. I used it the day before in Pīzhù without a name for it, and again the week after in Return Route.

What It Can't Do Yet

  • The Gaeilge needs a native speaker's review. The Irish interface was written with AI help and checked by script, not by a fluent speaker.
  • The match percentages are Gemma's estimates. They rank roles sensibly, but they aren't a validated score, and the app shouldn't pretend otherwise.
  • The catalogue is 32 hand-picked resources. That's enough to be useful and small enough to check by hand. It needs to grow, and to be maintained.
  • Live jobs come from Arbeitnow and Remotive, which skew towards Germany, the UK and remote roles. Irish job boards are next.
  • It answers the judge's question only halfway. It sends you to events and drafts your LinkedIn posts, but it doesn't introduce you to anyone yet. Partnering with Skillnet Ireland, Intreo or community groups that support Polish and Ukrainian workers would.
  • It needs a signal. An offline-first PWA, for people with patchy data, is on the list.

My Agent Session

I built Droichead with Claude Code in one session on hack day, from the voice note to the README. This is a curated version: my prompts lightly trimmed, Claude's turns summarised, and the tool calls and their outputs real. It includes the moment DigitalOcean's billing fell through, the benchmark that found Gemma 4 on my laptop, and the thinking-budget fix.

Building Droichead with Claude Code at a Dublin hack day: from a voice note to a winning open-weight career bridge
You

[11:25 Dublin time. Dictated as a voice note outside the venue, lightly trimmed.]

Project idea. I don't have the name in my mind, but I want a platform where users can... oh, you know what, actually, not use a login. Let's keep it safe, secure, and very much browser side data storing. Users put in what they do, their employment history, their preferences, in a very quick, playful survey that is not boring. Then the platform tells them the current news, what's happening in the industry, how the roles are changing, how the economic times are changing, and how people can adapt. AI gives anxiety to everyone that it will replace people, but I suppose the correct answer is that it will ask people to upgrade a bit, with AI-enabled tools.

Now here comes the wow part. I don't want just an overview, Google News can do that. The person clicks one of the top roles, say forward deployed engineer, and it shows how they can bridge the gap from their current profile. When they hit "I want to bridge the gap", the AI makes them a custom planner: certifications, a calendar, job alerts posted in the past 48 hours, LinkedIn post recommendations so they can be visible, and events nearby.

Because just thinking about switching a job is a fantasy. Having a deadline with what you want is a goal. A plan with a deadline and a goal is a strategy. And consistent actions are success.

Let's plan this, with an Irish palette for the UI, and a multilingual UI in Irish, Polish, Ukrainian, Spanish, German and French.

Agent

Found your event: Hacktoberfest Hack Day Dublin x The AI Collective. It ends at 16:00 Dublin time today, which leaves about 4 hours of build time.

What the event details change:
- The theme fits. Your idea lands squarely on the Job Displacement track, and the event asks for a local problem, so the pitch is "built for Ireland's workforce, in the languages Ireland actually speaks": large Polish and Ukrainian communities, and international tech workers in Dublin.
- Courses should point at Irish public programmes: Springboard+, Skillnet Ireland, SOLAS eCollege, Intreo.
- For the open-source AI prize, the model has to be open-weight and the repo public and licensed.

Agent

Scaffolding Next.js, then the data model (IndexedDB, no accounts), zod schemas for every model output, a human-checked course catalogue the model can only reference by id, and four API routes. The first build passes.

The news API I planned on (GDELT) is timing out from here, so I'm testing RSS feeds instead:

RSS is faster and gives real Irish headlines (RTÉ, the Irish Times, Silicon Republic). Switching.

Agent

Redesign with the design-taste skill: Geist (it covers Irish, Polish and Ukrainian characters), Phosphor icons, real photos of the Samuel Beckett Bridge in Dublin and the Brian Boru Bridge in Cork (credited), dark mode. Then all 7 locales, with a script that checks every locale has every key and no dashes.

Next, the README (judges read it) and a small Agent Skill, skills/bridge-the-gap/SKILL.md, that packages the gap-analysis method so any agent can run it. Pushed. The flow works end to end, but only on demo data: the AI isn't connected yet.

You
  1. i cant find the .env.local and from which section in DO shall i grab the key from
  2. let's come to this when 1 is done, because i did not understand this.

the credits are in DO so let's use it if needed

Agent

You couldn't find .env.local because it didn't exist yet, and dotfiles are hidden in Finder. I've created it, and it's already in .gitignore, so the key will never be pushed.

DigitalOcean renamed the product: it's now Inference (it used to be Gradient). Control panel, INFERENCE, Manage, Create model access key, All models, No VPC network, then copy the key right away: it's only shown once.

You

the digital ocean is giving me issues with payment information and stuff i dont think i can get a key, can we do alternative plan?

Agent

Good news: Ollama is already installed on your Mac, with open-weight models downloaded.

Gemma 4 12B writes good Ukrainian. I'm making Ollama the default backend, keeping the OpenAI-compatible path for DigitalOcean if billing ever works, and adding a warm-up call so the first real request is fast.

Agent

A local model handles one request at a time, so: identical in-flight requests now share one generation, abandoned ones are cancelled when the user navigates away, and the pulse is split into two requests so roles show up before the news.

We don't need DigitalOcean at all. All the AI now runs on your laptop on open-weight Gemma 4, so "your answers never leave your computer" is literally true. Pushed.

You

okay great! let's make the Ui much better more interactive i suppose and makes it look wow, you know like an amazing Ui/UX, at the moment it looks like a government website got modernized with AI slop. source more skills and improve the UI.

Also, do you think we can deploy this? I can grab keys from google Ai studio and stuff if needed. let;s polish it to the best extent we can and make this an actual wow

Agent

Adding a Google AI Studio provider (it serves the open-weight Gemma family), then checking the key against the model list. I won't print the key.

Both models think at length by default, and it eats the whole token budget. Testing whether thinking can be turned down through the native API:

Gemma 4 26B-A4B with thinkingLevel minimal: 5 seconds, valid output. The 31B errors, so 26B-A4B it is. Gemma on this API also has no system role, so the system prompt gets folded into the first user turn.

Agent

Roughly 4 times faster than local. Now the redesign: dark emerald theme, a floating glass nav, the hero photo of the bridge, a scroll-drawn arc where Wish, Goal, Strategy and Action light up in turn, and a printable A4 wall planner.

One honesty fix before deploying: the landing page says the AI runs "on this computer", which won't be true on a server. Rewording it in all 7 languages so it's true for both setups.

You

we are going with render for deployment, so will it be a blueprint or something else

Agent

A Blueprint: a render.yaml in the repo that describes the service, so Render sets it up the same way every time and asks you for the secret key. Free Node service in Frankfurt (the closest region to Dublin), npm ci && npm run build, health check on /api/health, auto-deploy on push. Added and pushed. Paste your AI Studio key as GOOGLE_API_KEY when Render asks, and send me the URL when it's live.

You

https://droichead.onrender.com/ here you go, suggest me ideas on how we can improve the project or polish it more.

Agent

The live site works. It's 13:23, so about 2.5 hours left. Ranked by how much they help against the effort:
1. MLH submission and a demo script. 2. A 60-second backup video. 3. Make the 23-second plan wait feel intentional.
4. QR codes on the printed wall planner. 5. Live CSO Ireland figures. 6. Read-aloud and voice answers in all 7 languages. 7. Celebrate progress, with a weekly streak.
8. Weekly check-in and re-plan. 9. Real job listings. 10. CV upload, read in the browser.
Also: ask an Irish speaker at the venue to check the Gaeilge, and open the site 2 minutes before judging, because Render's free tier sleeps.

You

okay let's do , 3, 4, 5, 6, 7. 8, 9, 10

i will work on 1 and 2 after we have done the above task. can you add the social preview image btw?

Agent

Quickest first: the social preview, then 3, 4, 7, 6, 10, 5, 9 and 8, committing as I go.

All eight features plus the social preview are built, pushed and confirmed on the live site: the staged plan loading, a QR sheet with one code per course, confetti and a weekly streak, dictation and Listen buttons, PDF CVs read in the browser with pdf.js, live CSO figures (5.0% unemployment, 12.5% for under-25s), live jobs with how long ago each was posted, and a weekly check-in that reschedules without guilt.

You
  1. you make the mlh submission thing, i will look at it and submit
  2. i will do that
Agent

The draft is in SUBMISSION.md. I haven't created or submitted anything on MLH. Checked against the rules and the Best Open-Source AI Project challenge: built today (16 commits, 11:32 to 13:43), public repo with an MIT licence, Gemma 4 does all the AI work, the Agent Skill follows the open standard, no secrets in the history, and an AI disclosure section that names Gemma 4 at runtime and Claude Code while building.

You

everything is done, i have submitted, just update the read me, add screenshots if needed and push to github

Agent

Capturing 2x screenshots of the live site with headless Chrome, reviewing each one, retaking the two where the floating nav covered a heading, then compressing them to JPEG.

The README is pushed with all 11 screenshots, the architecture, the open-source AI setup, privacy, how to deploy, and the AI disclosure.

You

quick question which model is faster at responses, the local or cloud one

Agent

The cloud one, by about 3 to 5 times. What we measured today:

Call Local, Gemma 4 12B on Ollama Cloud, Gemma 4 26B-A4B on Google AI Studio
Gap analysis ~9 s ~4 s
Roles ~28 s ~9 s
News commentary ~21 s ~8 s
26-week plan ~42 s ~23 s

The cloud model is bigger, but it's a mixture of experts, so only about 4B parameters work on each token. The local model's advantage is privacy and resilience: answers never leave your machine, and it works without internet. That's a good backup if the venue wifi drops during the demo.

Thank You

To Ashley, Joanna and Andrei from The AI Collective's Dublin chapter, to Avi from Give a Go, and to Major League Hacking for running the day. Joanna, thank you for sorting out my DigitalOcean credits. Nithin, thank you for being the best volunteer anyone could ask for.

If you're nearby, I'm hosting a Hacktoberfest Fest in Galway on 29 or 30 October with the University of Galway Cybersecurity Society. Come and build something. And if you're a non-coder wondering whether to walk into a room like that one: go. Bring what you're good at, and let the AI do what it does best.

Photos of the Samuel Beckett Bridge (DXR) and the Brian Boru Bridge (Joachim Kohler-HB) are from Wikimedia Commons, CC BY-SA 4.0. Unemployment data from CSO Ireland (MUM01).


Built with AI assistance (Claude Code) on the day, and written up with AI help. Gemma 4 generates the advice inside the app. The product decisions, the pitch and the flip chart were mine, and I reviewed and edited everything here.

Top comments (2)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.