Theme shop tab to match printables, add dark mode support to Shopify embed Shop tab layout - Wrap Shopify embed in v-card (elevation 2) to match printables card style - Add skeleton loaders while the Buy Button SDK initializes - Add subtitle blurb above the category filter, consistent with printables tab Dark mode support - Add useTheme() / isDark computed to track the active Vuetify theme - Convert SHOPIFY_OPTIONS to buildShopifyOptions(dark) so all SDK-rendered surfaces can be re-themed on toggle - Theme product tile background + text (previously hardcoded white text with no background, invisible in light mode) - Theme product modal background (previously always rendered white regardless of site theme) - Theme cart/checkout drawer background, header, line items, and footer (previously always rendered light mode) - Re-run initShopify() via a watcher on isDark so the embed re-renders when the user toggles theme - Round button border-radius from 0px to 4px across product, modal, and cart buttons for visual consistency with printables cards Bug fixes - Add shopifyRenderToken generation guard in initShopify() to prevent a race condition where overlapping calls (e.g. theme settling shortly after mount) could leave the product grid partially rendered with missing images - Move subtitle blurb above the category filter dropdown (was below) Files changed: src/pages/StorePage.vue
DeFlock
Crowdsourced tool for locating and reporting ALPRs. View Live Site.
Purpose
I created this project after noticing the mass deployment of ALPRs in cities, towns, and even rural areas in the recent years. It's a massive threat to privacy, and this projects helps shed a light on this issue as ALPRs continue to be deployed to thousands of cities across the US and possibly beyond.
What it Does
View ALPRs on a Map
Uses OpenStreetMap data to populate a map with crowdsourced locations of ALPRs, along with their type and direction they face.
The map has become a separate repository, deflockhopper_maps.
Report ALPRs
Provides instructions for using the DeFlock App or OpenStreetMap's iD web editor to report ALPRs using a standardized tagging system.
Identify ALPRs
A constantly-growing repository of ALPR makes, models, and tagging instructions for OpenStreetMap, along with images for identifying them.
Tech Stack
Backend
- TypeScript
- Fastify API server
- Cloudflare R2 for ALPR points and vector tiles
- OpenTelemetry
Cloud
- AWS Lambda (for region segmenting [deprecated] and counts)
- AWS S3 - phasing out for R2
- AWS ECR
- Cloudflare as DNS + Proxy
- Directus CDN
- Zammad helpdesk
Frontend
- Vue3
- Vuetify
- MapLibre GL
- Vue Leaflet [deprecated] - phasing out for MapLibre GL
Services
- OpenStreetMap - Overpass API, Basic Map Tiles [deprecated]
- Nominatim - Geocoding
Development
Requirements
Running Frontend
cd webappbun ibun dev
Running Backend
cd apibun ibun dev
Contributing
We welcome contributions from anyone. Here's how you can help:
How to Contribute
- Fork the Repository
- Make Your Changes
- Open a Pull Request against This Repo
