My first ever "e2e" ML project during early covid quarantine was a crude vision model to detect pigeons on my balcony (and pigeons only) and play a loud random sound. It almost worked sometimes.
Did a similar thing where I had a neighbor who raised dobermans and rottweilers - it's a bit difficult to code with 8 or 9 large dogs barking in the yard outside your window.
Set up an amp and speakers that would pump out ultrasonic noise when it heard the barking, sending them running to the other side of their house.
I've been pleasantly surprised how well it has worked and how robust it is. It's installed at my parent's house and I am many states away so I was paranoid about making it resilient since i'm usually not there and have to fly to get there. So, i really tried to think of everything I could. I thought it might overheat the first afternoon or have other problems, but it's been running for months now uninterupted. Sometimes the OpenRouter credits run out and it stops catching birds , but it still runs normally and after I re-up the credits, it continues working normally. No need to restart even.
I had been using gemma-4-31B-it llm for cost/accuracy and it was super cheap, about $0.65/month. I had also downscaled the size and back tested on bird/no-bird images from my camera.
But, then I noticed that it was missing birds that were at the back of the pool and I needed to use higher resolution and better models and cost went up 10x. Now, it's to high for my liking and I need to do more model testing to get it down to a few dollars a month that seems reasonable. I can also reduce frequency, I'm doing every 2 mins during daylight hours.
My sense has been that accuracy that I need is only possible with the pretty advanced AI models and that OpenCV type approach wouldn't be good enough. Birds are pretty small in the image of the overall pool that I am working with and discerning them accurately is hard. I think it would be possible for other use cases and basically depends on the image source you are working with and the difficulty of detection within that image.
If you had, say, a camera on the inside of a birdhouse and the whole scene was either empty of taken up by a bird, then that would be easy for an on-device model.
I'm seeing some pretty cool projects for bird detection with YOLO online. They may do more than you need; you probably don't care about the kind of bird, right?
Maybe it would be worth it to spend a few tokens on an implementation, just to try!
It doesn't have to only be money. In person waiting time is another mechanism to allocate a scarce resource. Back in the day when # of tickets exceeded demand at a fixed price, the tickets went to he/she who was willing to arrive early and wait in line longer (ie, die hard fans). Camping out for tickets was a thing and I somewhat miss it relative to scalpers and price being the only mechanism to drive demand/supply to equilibrium.
Here's mine fully deployed, https://hackernewsanalyzer.com/. I use it daily and have some users. ~99.7% LLM code. About 1 hour to first working prototype then another 40 hours to get it polished and complete to current state.
It shows, quite an interesting wrapper over GPT with unauthorized access to prompting it you assembled there ;) Very much liked the part where it makes 1000 requests pulling 1000 comments from the firebase to the client and then shoots them back to GPT via supabase
41 hours total of prompting, looking at code diffs, reverting, reprompting, and occasional direct code commits. I do review the full code changes nearly every step of the way and often iterate numerous times until I'm satisfied with the resulting code approach.
Have you tried to go back to the old way, maybe just as an experiment, to see how much time you are actually saving? You might be a little surprised! Significant "reprompting" time to me indicates maybe a little too much relying on it rather than leading by example. Things are much faster in general if you find the right loop of maybe using Claude for like 15%-20% of stuff instead of 99.7%. You wouldn't give your junior 99.7% ownership of the app unless they were your only person, right? I find spending time thinking through certain things by hand will make you so much more productive, and the code will generally be much better quality.
I get that like 3 years ago we were all just essentially proving points building apps completely with prompts, and they make good blog subjects maybe, but in practice they end up being either fragile novelties or bloated rat's nests that end up taking more time not less.
I’ve done things in days that in the before times would have took me months. I don’t see how you can make that time difference up.
I have at least one project where I can make that direct comparison - I spent three months writing something in the language I’ve done most of my professional career in, then as a weekend project I got ChatGPT to write it from scratch in a different language I had never used before. That was pre-agentic tools - it could probably be done in an afternoon now.
I'm not a fulltime developer, but manage a large dev team now. So, this project is basically beyond my abilities to code myself by hand. Pre llm, I would expect in neighborhood of 1.5-2 months for a capable dev on my team to produce this and replicate all the features.
I taught English in Seoul for a year in '02/'03. bang = room. There was (maybe still is?) a PC bang on every block or two pretty much. I'm sure I went at least 100 times. Great way to kill some time playing counter-strike for me and dabbling in starcraft. It was maybe $1.50/hr at the time. For a much better PC, nice chair, pre-installed games and snacks available.
This article bummed me out. I think this analogy of popular digital content being the 'junk food' of the brain is correct and the negative effects will, yet again, accrue disproportionately to the poor and less privileged in society. Sadly, it looks inevitable with no mechanism to prevent or counter it.
not OP, but for the "unique identifiers", you can think of it like the footnote style of markdown links. Most of these models are fine-tuned to do markdown well, and a short identifier is less likely to be hallucinated (my philosophy anyway), so it usually works pretty well. For the examples, something like this can work
Instead of having the LLM generate the links couldn’t you use a combination of keyword matching and similarity on the model output and the results to automatically add citations? You could use a smaller NLP model or even a rule based system to extract entities or phrases to compare. I’m sure this is already being done by bing for example.
You definitely can do that. It’s just sometimes simpler to dump lots of stuff in context and then check it wasn’t made up.
It like the idea of using markdown footnotes. I think that would word well - ChatGPT does handle markdown really well.
code: https://github.com/mattsahn/bird-away
writeup: https://mattsahn.github.io/bird-away-blog/
reply