Excited to share a glimpse of my Object Detection project using Computer Vision! 🚀
In this project, I implemented an object detection system that analyzes road images and identifies vehicles by drawing bounding boxes around detected objects.
This is a foundational step toward building AI-powered smart traffic monitoring systems, where object detection can be extended for vehicle counting, traffic analysis, accident detection, and road-safety applications.
Excited to showcase a project I developed specifically for sports court construction professionals.
This platform simplifies construction workflows by bringing project management, daily site tracking, documentation, and project showcasing together in one place.
✨ Key Features:
Project and task management
Daily logs with images, weather, and work details
Automated project report generation
Digital signatures and warranty documentation
Completed project showcases with likes and comments
Marketing materials and video resources
My goal: To simplify construction workflows through a centralized digital platform.
What does a good booking flow look like for both sides?
For the Contra × Lovable challenge, I became DJ Luvable, a wedding and art-venue DJ from a parallel universe, and built his site with Lovable to find out.
FOR THE CLIENT
✦ Every package, inclusion and deposit shown upfront
✦ Reels and playlists to check the style before booking
✦ Lulu, a voice assistant built with VAPI, for anyone who'd rather talk than type
FOR THE DJ
✦ Availability synced with Google Calendar, so no double bookings
✦ Fewer "quick question" emails
✦ Enquiries that arrive with everything already filled in
Also made with AI: two moody reels, two music sets and 3D character illustrations.
The (very real) testimonial of the week: “I’m giving him five out of five disco balls! 🪩🪩🪩🪩🪩”
The behind-the-scenes footage starts at around 2:00 in the demo video.
You spend an hour getting a feature working with an AI. The code looks fine in the pull request. Variable names make sense. Error handling is there. Types check out. You approve it. It goes live. Then it crashes because a webhook sent a null user_id something that "should never happen."
Here is the problem. AI code reads well because the examples it learned from are all clean and perfect. It falls apart in real situations. The model doesn't know your system.
Two things it misses:
It only knows the success case. The model writes code for when everything works. Every tutorial shows the success case. It doesn't write code for when the request gets cut off halfway. That never appears in examples. It only appears in your logs at 2 AM.
Assumptions you can't see. The code assumes the payment API returns "status: ok". It assumes the cache has data. It assumes the list isn't empty. These look like normal defaults. But in your system, the payment API returns "data.status: succeeded" on success. On timeout it throws a 500 with HTML garbage.
How to catch this:
Test the empty case first. Send nothing. Send an empty array. Leave out the header. Use an expired token. The happy path works in the demo. The empty path breaks in production.
Then read the code and ask: what does this assume is true? Not what it does what it assumes. The API format. The data shape. The timing. The permissions. The timezone. Check each one against your actual system. Not the one the model imagined.
The code isn't bad. It was written for a perfect world. Your world isn't perfect. The review that matters happens in your codebase with your data. Not in the chat where the code was written.