Skip to content

Projects

Starting with my work at Ivani, then the hackathon builds and write-ups. What each project does for people comes first; the tools used come at the end.

Work at Ivani

Firmware and data work on a 1,000+ node IoT deployment, and helping the engineering team use AI better.

AI adoption impact

AI adoption at Ivani: reusable prompt templates, a cheat sheet, and context guidance that spread from two engineers to roughly ten in about two weeks.

A self-run comparison of original vs. structured prompts on real engineering queries at Ivani. The savings estimates it produced are directional observations, not controlled measurement; see the case study for those figures and their limits. This is workplace AI-adoption work at Ivani, not one of the projects below.

Read the prompt-adoption case study → · Engineering at Ivani →

⭐ Flagship Builds

The most differentiated, hackathon-judged builds.

Hereforlolz/teamtrail
TeamTrail (opens in new tab)

Helps new hires at a company find the context they need on day one, instead of spending their first week hunting through channels, DMs, and docs. It answers inside Slack, using what the workspace actually says right now, and tailors results to the person’s role. Along the way I debugged an AI making things up and a login problem on Windows. Built solo for the Slack Agent Builder Challenge 2026. Built with: Slack, Groq (LLaMA 3.3 70B), Notion.

Read the case study →
Hereforlolz/qwen-memory-agent
Qwen MemoryAgent (opens in new tab)

An AI assistant memory that doesn’t just save everything. It judges what is worth keeping, catches duplicate or contradictory facts before storing them, and reviews old memories before forgetting them instead of deleting on a timer. Built for the Qwen Cloud Hackathon, Track 1. Built with: Python (FastAPI), Qwen, Alibaba Cloud.

Read the case study →
gitlab/gitlab-ai-hackathon/transcend
Dead Code Finder (opens in new tab)

Finds code that nothing uses anymore, and says how sure it is: every finding is labeled Confident, Uncertain, or Skipped, instead of a flat yes or no. It never opens a merge request and never claims code is “safe to delete.” Two platform problems came up mid-build, so I added a clearly labeled fallback mode instead of letting it fail quietly. Built for the GitLab AI Hackathon (Transcend). Built with: GitLab Duo, GitLab’s code knowledge graph.

Read the case study →

📚 More Case Studies

Additional working builds with detailed write-ups covering the problem, decisions, results, and limitations.

Hereforlolz/PilotCraft
PilotCraft (opens in new tab)

Helps a team decide whether AI is actually the right fix for a workplace problem. You describe the problem in plain language and get a report rating AI as a strong, conditional, or poor fit, with facts kept separate from assumptions and gaps, plus a phased pilot plan and a 0–100 readiness score. It has 74 passing tests and a live evaluation that checks real Gemini output against 7 deterministic checks. A personal tool, not a hackathon build. There is a published demo where you can enter a workplace scenario, try a sample one, or open a pre-built sample report that makes no AI call. Built with: Gemini.

Hereforlolz/Compassionate-connect
CompassionateConnect AI (opens in new tab)

A prototype that helps with the first step of mental-health support: it asks intake questions, flags possible crisis signals, and writes summaries a therapist can read quickly. Safeguards were designed in from the start: no diagnoses, simulated data only, and a disclaimer on every insight. I also filed an issue in Google’s ADK documentation repository after hitting a tool bug, then worked around it. The project’s own README marks it “Archived / Demo Only”: a hackathon prototype, not a validated clinical tool. Built for the Google Cloud Multi-Agent (Agent Development Kit) Hackathon. Built with: Gemini 1.5 Flash, six cooperating AI agents.

Hereforlolz/GreenGrid
GreenGrid AI (opens in new tab)

Explores helping underserved households in Missouri cut their electric bills: it forecasts next-day energy use for a neighborhood and writes personalized, multilingual tips for saving. I built it solo and put a working end-to-end pipeline ahead of UI polish. Built for the AWS Breaking Barriers Virtual Challenge. Built with: AWS (IoT, S3, Lambda, SageMaker, Bedrock, Amplify), simulated smart-meter data.

Hereforlolz/Therapist-Dashboard-AWS
AI-Powered Therapist Dashboard (opens in new tab)

Turns a therapist’s messy session notes into summaries and draft observations for the therapist to review. Tested by one practicing therapist using synthetic data. Built with: React, AWS Lambda, DynamoDB, Claude.

Looking for the smaller, playful tools? They live on the Playground.

🔒 In Progress

Private prototypes with public write-ups, no repository link since there's nothing public to open yet.

Hereforlolz/EphemeralAgentExecutor

Ephemeral Agent Executor

A Python toolkit that runs AI helper programs safely: it cleans up after them, caps how much CPU and memory they can use, and shuts down any that run away before they eat your RAM.

Private prototype, case study coming soon

Hereforlolz/SafeSakhi

SafeSakhi

An AI-driven women’s safety platform that can detect threats from live audio, movement, and the sentiment of text messages. Runs entirely on serverless AWS.

Private prototype, case study coming soon

📂 All Other Repos
🐞 Manual Bugs Log
Bugs I've filed

Critical persistent TypeError in FunctionTool init

Why: Blocked multi-agent orchestration until worked around; reported for maintainer review.

Status: ✅ Reported

View Report (opens in new tab)

ADK documentation inconsistencies for FunctionTool

Why: Causes confusion and misuse, contributing to the TypeError.

Status: ✅ Reported

View Report (opens in new tab)

Google ADK version incompatibility with Python 3.13

Why: Blocks using the latest Python versions — must be tracked & fixed.

Status: ✅ Reported

View Report (opens in new tab)

Gemini function call usage quotas undocumented

Why: Can surprise developers with sudden costs or throttling — needs clear quotas in docs.

Status: ✅ Reported

View Report (opens in new tab)

FunctionTool inconsistencies with required vs default params

Why: Related to #826 but worth tracking as a separate edge case if you find more patterns.

Status: 🚫 Not Reported

Inconsistent or unclear rate limit errors in Assistant API

Why: Makes it hard to handle throttling gracefully in production.

Status: ✅ Reported

View Report (opens in new tab)

Assistant API sometimes loses context in multi-step workflows

Why: Breaks multi-turn conversations, reducing user experience.

Status: ✅ Reported

View Report (opens in new tab)

Assistant API returns malformed JSON despite response_format=json_object

Why: Causes JSON parsing errors, complicating automation.

Status: ✅ Reported

View Report (opens in new tab)

Prompt injection YAML blocks left in public repos

Why: Found during a self-audit of my own GitHub profile — removed before they became someone else's problem.

Status: ✅ Fixed

Cross-model jailbreak/prompt-injection vulnerabilities

Why: Cross-model security evaluation across Claude, ChatGPT, and Bedrock uncovered real issues, not just theoretical ones.

Status: ✅ Documented

GitLab Orbit knowledge graph edge cases

Why: Hit while building a dead-code finder on GitLab's AI Catalog for a hackathon — some graph relationships didn't resolve cleanly.

Status: ✅ Worked around

Have a technical problem, AI or otherwise, that needs a second pair of eyes?

Let's talk.