Post Vacation work - AI Development for Web Application

I came back from vacation and completed a AI update for Miskowin.
This past month has been a mix of rest and quiet innovation — and I’m proud to share what I’ve been working on.
Normally, I try to keep momentum going by diving into development during my off weeks. This time around, I was on vacation — and while I didn’t get to complete a full sprint, I did come back with something meaningful: a new feature powered by AI, and a deeper dive into the practicalities of running AI in a real-world system.
🚀 AI-Powered Goal Enhancements in Miskowin
I've enhanced Miskowin, our progress planning and goal-tracking platform, with AI-driven recommendations for Progress Plans, Goals, Goal Tasks, Tasks, and Discussion Points.
For me, one of the most frustrating parts of goal setting was phrasing — how do you write a goal that’s specific, actionable, and truly useful? I’ve found that even seasoned planners struggle with clarity.
So, I introduced an AI feature that generates enhanced, clearer versions of goals — not just for reporting, but to help me focus on what needs to be done. The AI helps reframe vague goals into ones that are measurable, time-bound, and outcome-oriented — something that actually helps the team move forward.
🔧 How It Works (Behind the Scenes)
To make this work without relying on expensive cloud APIs, I built a console application that:
- Scans the database for items flagged to trigger AI enhancement
- Runs them through a local LLM (LMStudio) running on my machine
- Saves the generated recommendations directly into the relevant fields
This runs as a Dockerized service, triggered every hour — a lightweight, cost-efficient way to experiment with AI integration without incurring ongoing fees.
Why local? I don’t want to pay for API calls — and I don’t know how often this will be used. By running locally, I gain control over costs, performance, and data privacy. Plus, it’s a great way to learn hands-on about Docker, local AI deployment, and service monitoring.
🖥️ User Experience & Feedback
On the UI side, each item now has a flag to trigger the AI, and users can see the recommended updates directly in the interface. I added controls to Accept, Reject, or Dismiss the AI-generated suggestions — giving users agency over the recommendations.
One small issue: every time you save an item, the recommendation engine triggers again. That feels wrong — it should only run when explicitly requested. But I released it anyway — because I wanted to ship something, and learning from real-world use is just as important as the code itself.
It’s live now — and yes, there are a few bugs. But that’s the point: shipping early, learning fast.
