This thread is for anyone working on personal projects to share their progress, and hold themselves somewhat accountable to a group of peers.
Post your project, your progress from last week, and what you hope to accomplish this week.
If you want to be pinged with a reminder asking about your project, let me know, and I'll harass you each week until you cancel the service.

Jump in the discussion.
No email address required.
Notes -
Some time ago, I had an idea for a project in work. As other more pressing matters kept coming up, I never had time to pursue it, but I have some downtime now and would really like to look into it.
The idea I'm describing is listed in terms of progressive utility and difficulty, where each "step" is more useful and more difficult than the preceding one, but even step 1 would be useful in its own right.
My company's core demographic is old people. The most recent census in my country was in 2022, and they've released the figures for the mean age in each district (I'm not sure if it's done on the basis of postal or electoral districts: I'll just say postal districts for convenience). Step 1 would be to produce a map of the country broken up into postal districts, with colour-coding for mean age (say, a gradient running from light blue to dark blue for young to old). Hovering one's cursor over a specific postal district would produce a pop-up window displaying the mean age in that district.
Step 2 would be the above, but using a weighted average age rather than a raw average. A postal district with a mean age of 60 but a population of 1,000 is more valuable than a postal district with a mean age of 70 and a population of 100. This might be as simple as multiplying mean age by population to get the districts' cumulative age in man-years. Hovering one's cursor over a specific postal district would produce a pop-up window displaying the mean age in that district and the population.
Step 3 would be the above, but incorporating population density. If two postal districts have the same mean age and population, but one is twice the area of the other, the higher population density should be reflected in the colour-coding. (Cumulative age in man-years)/(area in km2) = weighted pop. density. Hovering one's cursor over a specific postal district would produce a pop-up window displaying the mean age in that district, the population and the area and pop. density.
My company operates numerous branches across the country, and scraping the coordinates of these branches from Google Maps would be trivial. Step 4 would be adding a layer to my map of the country with a binary "Does this postal district already contain a branch?" This would look like a patchwork of postal districts in which those containing a branch are solid red while those without a branch are solid white. On top of the red-white layer, there would be a translucent layer in a different colour (perhaps with some kind of pattern, like diagonal lines) indicating the mean age.
The idea is that postal districts with an older population but which don't currently contain a branch would immediately jump out visually.
Step 5 is where it gets complicated. Instead of a binary "does/doesn't contain a branch" layer, we'd have a second gradient (white to red) displaying the mean distance for someone living in that postal district to their nearest branch. This would be as simple as specifying the coordinates for the centre of a given postal district, then calculating the crow-flies distance from that point to the nearest branch (in practice: calculating the distance from the centre of that postal district to every branch and returning whichever distance is smallest). Hovering one's cursor over a specific postal district would produce a pop-up window the mean distance to the nearest branch (and the name of that branch), in addition to that district's aforementioned metrics.
Again, the idea here would be that postal districts containing an older population and which are quite a distance from their nearest branch would immediately jump out at the user.
Step 6 would be importing anonymised customer data from our CRM, assigning it to its postal district based on the customer's address, and subtracting that from the weighted average specified in step 2. The idea here is that the gradient of young to old people in a specific postal district should exclude existing customers: we're looking for older people who've never bought from us before. Hovering one's cursor over a specific postal district would produce a pop-up window displaying the population of that district after excluding existing customers, in addition to all the aforementioned metrics.
Step 7 would be the above, but incorporating our customers' ages and subtracting them from the mean age. If a specific postal district has a population of 1,000 and its mean age is 65, then the combined age in man-years in that district is 65,000. But supposing that district contains 200 existing customers whose mean age is 70, meaning their combined age is 14,000. Ergo, the mean age of people who in that district who aren't existing customers shortens to 63.8. Hovering one's cursor over a specific postal district would produce a pop-up window displaying the mean age in that district once those of existing customers have been excluded.
Step 8 would be allowing the user to hide either or both of the gradient layers described above.
Step 9 would be adding interactive binary toggles, such that e.g. postal districts which already contain a branch would be greyed out.
Step 10 would be allowing the user to filter on the basis of editable text fields. If a user wants to hide any postal districts where the mean age is under 50, or in which the population density is less than 2,000/km2, those postal districts will be greyed out.
The deliverable would ideally be something that can run in a browser, but if it has to be a self-contained executable, so be it.
Limitations: I can't code, lol.
I can envision how I'd make part of this: it's not difficult to create a CSV file containing a list of postal districts, the mean age, the population (thereby calculating the cumulative age), the area (thereby calculating the weighted population density), the coordinates for the "centre" of that postal district and so on. Nor would it be difficult to create a CSV file containing a list of branches and their coordinates, then using an Excel formula to calculate the distance from the centre of each postal district to each branch, and return whichever one is lowest. I can likewise envision exporting a table of customers who've bought from us in (say), the last four years, their addresses and their ages, then writing an Excel formula which will assign a postal district to each address, then calculating the total number of existing customers in that postal district and subtracting that number from the total population. Likewise for customers' ages.
But beyond that, I'm fairly stumped. I haven't the first clue how to create an interactive map of the country.
Based on the above description, do you think it would be possible to accomplish it via "vibe-coding" (a term I admit I still don't fully understand)? If so, what would be the best AI agent to accomplish it.
I think this would be a heck of a lot easier to accomplish as a GIS file openable in QGIS rather than as an HTML+CSS+Javascript file openable in a browser or as a standalone executable file.
I thought of using GIS alright. Is it free?
QGIS is free (gratis and libre), yes. (It's my understanding that the paid standard is ArcGIS.)
Amazing, thank you.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link