Luke Sleeman

142 Followers
161 Following
675 Posts
Android principal at Mantel Group
Websitehttp://lukesleeman.com/

IDK why, but for some reason today I've been thinking a lot about when we went to see the hives play.

I'm hardly a live music aficionado - but dammit that was an absolute banger of a show! 😁

Awesome dragon boat regatta! I'm hugely proud to have been part of the CYSM Seadragons crew that took home 3rd place in the 2k Mixed 12s at the Hualien International Dragon Boat Festival.

This is a massive milestone for us: our club's first medal at an international regatta!

On top of the podium finish, our crew also pushed hard to make the semi-finals in the 500m and 200m mixed 12s races.

The venue in Hualien was stunning—racing between cloud-topped mountains was unforgettable. Loved the strong competition and the friendly, collegial atmosphere.

Last weekend I had an incredible time presenting on "The Principal's of Modularization" at the @gdgmelbourne Devfest.

As always the energy from the Melbourne mobile developer community was amazing - so many insightful conversations, both during the sessions and in the hallways afterward. It was great to catch up with so many people from the community.

I presented on "The Principles of Modularisation" - sharing our journey at ANZ Plus as we transformed our monolithic Android codebase into a modular architecture. We covered:

- The fundamental principles behind modularisation and team codebase structure
- How we aligned our solution with those principles
- Planning and executing a major architectural shift across a large team
- The key components that make an Android modularisation effort successful

Huge thanks to the organizers for putting together such a fantastic event, and to everyone who attended my session and shared their own experiences. The hallway discussions were honestly some of the best parts of the day!

Day 7 was a "successful failure". I've got a lot of videos of my team dragonboating. A key element for a dragonboat team to be successful is paddling in sync - everybody's paddle should enter and exit the water at the same time. For quite a while I've been wondering how hard it would be to highlight the angles of the paddle in the video, so that it was easy to see how in sync the paddlers are. Is this a "5 min" problem once you have the right tools - or a "5 years + a team of engineers" kind of problem?

Well, it turns out its not a 5 min one. I used cline and let it run wild with python in a directory with a few sample videos. It confidently applied all kinds of algorithms to analyse the videos and identify the paddles - all of which failed very, very badly!

About the closest we got was using the YOLOv8 model to identify bounding boxes around the paddlers, and then use the bounding box as a filter for a Hough Line transform to identify the line of the paddle shaft - which kinda, sorta worked sometimes.

# Tools I used

- Cline, with the claude 4.0 sonnet model
- Python for scripting

# What went well

- I now know that the problem was trying to solve is a very hard one, which will require dedicated effort. There are no "obvious" out of the box approaches that yield quick results.
- The ability to include images in the cline prompt was helpful - often it would claim that an approach was working, when it obviously wasn't. Showing cline the visual output of the analysis tools it was building helped keep it on track

# What went badly

- Lots of running around in circles and not much progress - which is probably intrinsic to the problem I was trying to solve
- The tool was _very_ confident about the success of the approaches it was taking. It would frequently claim that the code it had written was successfully identifying paddles in the video footage, when it was doing no such thing!
- Writing a whole mess of scripts probably isn't the best approach to this kind of problem, and I'm pretty sure its not how actual data scientists work. Being able to "vibe code" with a jypyter notebook would probably be a better approach.

# What I learnt

- You can't easily highlight paddles in footage people paddling a dragonboat
- The tools are't as good for doing this kind of exploratory analysis, as they are for doing more typical programming tasks

For Day 5 of my AI challenge I explored running LLMs locally. I've been using LM Studio ( https://lmstudio.ai/ ) with a number of models. I tried running cline against the qwen3-coder-30b model, however the performance was slow, the results mediocre and the context window too small.

I shifted to doing some more "traditional" AI assistant/chat work, using googles gemma-3-27b model to help me take some interview transcripts and turn them into one page case studies.

It went very well - its a little bit slow, but workable. gemma-3 is a multimodal model, so I was able to include images and attach files, which came in very helpful.

# Tools I used

- LM Studio, with the gemma-3-27b model.

# What went well

- Things were surprisingly performant on my 2021 Macbook Pro. I think it helped having 32gb ram. I was able to run some surprisingly large models.
- Chat worked really well - its almost a drop in replacement for web based tools, except its running locally!
- Was able to get useful help writing copy, re-wording things, etc
- Multimodal input is very helpful - its useful being able to drop in files, images, etc and then have the assistant work with them.
- It feels good being able to run things locally, and know that you have full control over the process, privacy, no sever costs, etc!

# What went badly

- My laptop isn't powerful enough to run models useful for agentic coding
- I found myself running out of context space quickly - however this is a parameter you can tweak when loading the model.
- The gemma-3 model is the open source base for googles gemini assistant. Gemini Pro can do things like search for results from the web, and integrate them into an answer. Unfortunately this isn't something that I could do with gemma-3 running locally in LM studio. It would be nice to have a complete local replacement for Gemini.

# What I learnt

- Running things locally is surprisingly doable, and produces good results!
- You need lots for RAM! But if you have a decently specced macbook you may be surprised by whats possible

Day 3 of my AI challenge was productive. I re-worked the name matching logic of my revsport bookmarklet to be a lot more robust. I also updated the docs, putting installation instructions right up the top, and recorded a nice video of it in action.

The code is at https://github.com/lukesleeman/revsport-crew-entry-bookmarklet

# Tools I used

- Claude Code, then Cline
- I switched between a few models, trying out the very pricy Claude Opus 4.1 model
- Apart from the JS used in the bookmarklet, I also generated some python script to modify test data.

# What went well

- Matching names is non trivial. I spent some time getting together test data based off previous regattas, then asked the agent to come up with an approach. It developed a robust multi-strategy approach, that I would have taken a long time to come up with.
- We were able to quickly iterate through various UI design ideas for dealing with the name matching process, coming up with a good final design
- We were able to remove personally identifying information from a copy of the revsport webpage, allowing me to use it for a video recording, and to check the page in.

# What went badly
- WOW the Opus 4.1 model is expensive to use 💸
- I asked the tool to replace personally identifying information in a saved copy of the revsport webpage, with mock data. It tried to do this using sed, and landed up in all kinds of trouble. Prompting it to create a script to modify the page worked much better.

# What I learnt

- For data processing tasks its often better to get it to write a script to do the processing, rather than having the model attempt it directly.
- I'm not sure the Opus 4.1 model actually gives better results. Its smarter - but that sometimes leads it towards choosing solutions that are too smart for their own good! In coding, a simpler approach of breaking things down into basic steps often gives better results.
- This feels a lot like helping guide a junior dev. Being able to provide good reviews of the code, and guide the tool in better directions are critical skills.

Day 2 of "building stuff" with using agentic AI! I built a bookmarklet to automate crew entry for my dragon boat club.

The website we use for registering crews is good ... but it has no "bulk entry", which means adding a crew of 26 paddlers involves **a lot** of clicking, typing and cross checking spreadsheets to ensure there are no errors.

The code is at https://github.com/lukesleeman/revsport-crew-entry-bookmarklet

# Tools I used

- Claude Code, firstly in the terminal and then with the VS plugin
- I setup a nifty bookmarklet development environment using webpack to bundle and compress the javascript into a bookmarklet
- NPM ties everything together and is used for building

# What went well

- I was able to get an environment setup quickly, even though I had no idea around the best way to develop bookmarklets
- Added functionality rapidly, and got a lot of stuff working with little effort
- My estimate was I got a 200% to 300% speed boost. That is, it would have taken me 2 or 3 days to do this on my own, instead it took an afternoon
- Most of the time I would have taken to do this by hand would have been around researching the tech stack and tools and figuring out how to do basic stuff. So having the ability to have claude get all the environment together rapidly was very helpful
- Claude always asks you before executing any tool, so there were no more instances of it checking stuff in and deploying by its self!

# What went badly

- The claude interface is pretty clunky, not sure I like it as much as cline
- Perhaps its the "we are building a bookmarklet" - but the tool tended towards fairly "hacky" solutions. This wasn't too bad, as I was able to point it in better directions.

# What I learnt

- It really helps to have somebody with software dev experience and a solid mental model of how to structure and architect software, to guide the tool in the right direction
- If your looking to get started quickly with a unfamiliar environment, agentic AI can be really helpful

Over the past month, not only have I been travelling around Indonesia, I've also been participating in the #pushupchallenge2025 to raise money for #mentalhealth

So far I've completed over 2500 pushups, sit-ups, squats and stair climbs!

Please donate to help me reach my fundraising target and support this important cause:

https://www.thepushupchallenge.com.au/fundraisers/lukesleeman

Yesssss! Stinky tofu for dinner 😋
If anybody wants or needs some non world burning down news - I cranked up the pizza oven the other day. It was nice! Since the kids were all here for the school holidays they all got to make pizzas