[{"content":" What it does # Interstate Tracker answers a question that is surprisingly hard to answer for yourself: which parts of the Interstate Highway System have I actually driven?\nAn Android app records the drive — start and stop it by hand, or import a GPX file afterwards — and matches the trace against real interstate geometry on the phone. The sync API keeps what it found, and the web app renders it back as a personal completion map of the country, rolled up per route and per state, with achievements that unlock as coverage grows.\nThe phone is a client of that backend rather than a device-only app. It still matches locally, which is what lets a finished drive summarize with no network and no round trip, but the facts it derives are pushed to the server, and the server decides what they add up to. Privacy is delivered through control and data rights — a full export endpoint and an account-delete endpoint — rather than through the app being unable to open a socket.\nWhere it stands # The public site, the sync API, and the web app are live. Accounts, magic-link sign-in, server-evaluated achievements, and the backup-and-restore drill are all in place, and the whole thing has been road-tested on real drives.\nThe Android app is not publicly released. The build on Play internal testing is still the earlier local-only version; the sync build has not shipped to Play, pending the Play Console data-safety paperwork.\ninterstatetracker.com — the public site app.interstatetracker.com — the web app How it is built # Kotlin and Jetpack Compose on Android. Kotlin and Ktor for the sync API, over PostgreSQL with PostGIS for the geometry. Svelte for the web app. A Python pipeline prepares the highway network data. Zola builds the marketing site. It all runs in Docker Compose on a single VPS.\n","externalUrl":null,"permalink":"/work/interstate-tracker/","section":"Work","summary":"What it does # Interstate Tracker answers a question that is surprisingly hard to answer for yourself: which parts of the Interstate Highway System have I actually driven?\n","title":"Interstate Tracker","type":"work"},{"content":" What it does # Run AI agents on more than one computer, in more than one framework, and you lose the ability to answer two basic questions: what is running, and what is waiting on me?\nGrid is the coordination layer that puts those answers in one place. One roster, one control plane, one dashboard. It dispatches work between agents, bridges frameworks that do not otherwise talk to each other, carries messages out to channels like Telegram, and keeps durable state underneath so the picture survives a restart.\nWhere it stands # The federation backbone is built and tested — the control plane, dispatch, adapters, the durable substrate, enrollment, replication, and the dashboard. It is versioned v0.1.0 and runs in real daily use.\nSome pieces are deliberately still stubs, including semantic memory and autonomous wake-up push, and a handful of integration points are waiting on production validation. It is honest working software at an early version number, not a finished product.\nHow it is built # Node and TypeScript. Configuration in TOML, validated with Zod. Networking over Tailscale. SQLite with Litestream underneath, agent-to-agent dispatch and an MCP bridge on top, server-sent events to the dashboard, and systemd to keep it alive. MIT licensed.\n","externalUrl":null,"permalink":"/work/grid/","section":"Work","summary":"What it does # Run AI agents on more than one computer, in more than one framework, and you lose the ability to answer two basic questions: what is running, and what is waiting on me?\n","title":"Grid","type":"work"},{"content":" What it does # A graduating class needed a slideshow, which meant getting full-resolution photos out of about 33 families\u0026rsquo; phones and into one place. The families were not going to make accounts, and the deadline was the dinner.\nMemory Drop is a single page with no login. A family opens it, enters the code they were given, picks photos, and is done in under a minute. The files go straight from the phone to object storage without passing through an application server, which is what makes full-resolution uploads from a cellular connection survivable.\nWhere it stands # Shipped in April 2026, for the event it was built for, on a hard one-week deadline. Every requirement was met and the live deployment was verified before the night.\nIt is not linked here: the live URL is a code-gated upload endpoint belonging to one school\u0026rsquo;s families, not a public demo.\nHow it is built # Cloudflare Workers with Hono for the one endpoint that matters — signing upload requests — and Cloudflare R2 for storage, with presigned requests generated using SigV4. The front end is vanilla HTML and ES modules: no framework and no build step, which is a large part of why it shipped in a week.\n","externalUrl":null,"permalink":"/work/memory-drop/","section":"Work","summary":"What it does # A graduating class needed a slideshow, which meant getting full-resolution photos out of about 33 families’ phones and into one place. The families were not going to make accounts, and the deadline was the dinner.\n","title":"Memory Drop","type":"work"},{"content":" What it does # NogLog is a logbook for eggnog. Browse the brands, record a tasting, write the review, keep your favorites, and share a homemade recipe. It is a small, cheerful, genuinely seasonal product, and it takes the logging part seriously even though the subject is eggnog.\nWhere it stands # In development. The web app and the Android build both exist, and recent work has been production hardening rather than new features — rate limiting, security headers, a CORS allowlist, refresh-token rotation, and account lockout.\nIt has not launched. There is no public URL to send you to yet.\nHow it is built # A monorepo: Next.js and React for the web app, Capacitor wrapping a Vite build for Android, and a shared component package so both surfaces render the same things. PostgreSQL with Prisma behind it, NextAuth for sign-in on the web and tokens on mobile, Cloudflare R2 for images, and Resend for transactional email.\n","externalUrl":null,"permalink":"/work/noglog/","section":"Work","summary":"What it does # NogLog is a logbook for eggnog. Browse the brands, record a tasting, write the review, keep your favorites, and share a homemade recipe. It is a small, cheerful, genuinely seasonal product, and it takes the logging part seriously even though the subject is eggnog.\n","title":"NogLog","type":"work"},{"content":" What it does # A coach standing in the dugout wants one thing before calling the next pitch: what has this hitter done before? That history is usually spread across seasons, age groups, and team changes, in a stack of paper scorebooks, which means in practice it is unavailable.\nPitch Chart records every pitch of a game and keeps a batter\u0026rsquo;s history attached to the batter rather than to the season — so a hitter who has changed teams twice still brings his record with him. It is built offline-first, because the places youth baseball is played reliably have no signal.\nWhere it stands # In development, and early. The data model, the game setup flow, and live pitch entry are in. It is not on the Play Store and there is nothing to install yet.\nHow it is built # Flutter and Dart, with drift over SQLite for local storage. Android first.\n","externalUrl":null,"permalink":"/work/pitch-chart/","section":"Work","summary":"What it does # A coach standing in the dugout wants one thing before calling the next pitch: what has this hitter done before? That history is usually spread across seasons, age groups, and team changes, in a stack of paper scorebooks, which means in practice it is unavailable.\n","title":"Pitch Chart","type":"work"},{"content":" What it does # Five calculators a photographer actually reaches for, on a phone, in the field or the night before a shoot:\nDepth of field — how much will be sharp, and where the near and far limits fall Field of view — what a given focal length will actually take in Exposure — how much filtration a long exposure needs Crop factor — equivalence across sensor sizes Subject size in frame — how large a thing of known size will appear, which is the calculation that decides whether you brought the right lens It is aimed at APS-C shooters, and it is the one project where the two halves of the studio meet.\nWhere it stands # Built, and not yet published. All five calculators work. It has never been deployed anywhere, so there is no link.\nPublishing it is the obvious next move — it is a static page with no server and no build step, so it can be hosted here as-is whenever it is worth doing.\nHow it is built # Plain HTML, CSS, and vanilla JavaScript ES modules. No server, no build step, no dependencies.\n","externalUrl":null,"permalink":"/work/lenscalc/","section":"Work","summary":"What it does # Five calculators a photographer actually reaches for, on a phone, in the field or the night before a shoot:\n","title":"LensCalc","type":"work"},{"content":" What it does # Film a baseball game from two or three angles and you have hours of footage and no way to get at the twelve seconds that matter. IsoReel is the desk tool for that: scrub the footage frame by frame, mark in and out points, tag the clip with the player and the play type, and cut it without re-encoding, so the export is fast and the quality is untouched.\nWhere it stands # Early development. What exists today is the scaffold — the application structure, dependency injection, configuration, logging, the main window shell, and the service interfaces. The implementations behind those interfaces are not built yet.\nThere is no release and nothing to install.\nHow it is built # .NET 8 and WPF for Windows, in an MVVM structure. FFmpeg does the cutting as an external process, LibVLCSharp handles playback, Serilog handles logging. MIT licensed.\n","externalUrl":null,"permalink":"/work/isoreel/","section":"Work","summary":"What it does # Film a baseball game from two or three angles and you have hours of footage and no way to get at the twelve seconds that matter. IsoReel is the desk tool for that: scrub the footage frame by frame, mark in and out points, tag the clip with the player and the play type, and cut it without re-encoding, so the export is fast and the quality is untouched.\n","title":"IsoReel","type":"work"},{"content":"Parlette Studios is the name Andrew Parlette works under for software and photography.\nIt is a workbench rather than an agency: projects start here as a page on this site, and the ones that earn it graduate to a domain of their own — which is what Interstate Tracker did. The rest stay here, described accurately, for as long as that is what they are.\nAndrew coaches youth baseball in Maryland; that side of things lives at andrew.parlette.net, and it explains why a noticeable share of the workbench points at a ball field.\nEmail reaches him at andrew@parlette.net.\n","externalUrl":null,"permalink":"/about/","section":"Software that keeps track of things","summary":"Parlette Studios is the name Andrew Parlette works under for software and photography.\nIt is a workbench rather than an agency: projects start here as a page on this site, and the ones that earn it graduate to a domain of their own — which is what Interstate Tracker did. The rest stay here, described accurately, for as long as that is what they are.\n","title":"About","type":"page"},{"content":"Parlette Studios is the name Andrew Parlette\u0026rsquo;s software and photography go out under. It is part of the parlette.net family, with an identity of its own. The brand should read as precise, thoughtful, creative, understated, and capable.\nThe full written guide, with the reasoning behind each rule, lives with the source files in this site\u0026rsquo;s repository at sites/studio/brand/README.md.\nLogo # The mark is a P built on a strict construction. A hidden A is cut into its foot, and a thin aperture ring surrounds it, split into four blades by cuts that run tangent to the bowl, the way an iris\u0026rsquo;s blade edges do. The P matches PARLETTE in Midnight Navy; the ring matches STUDIOS in Steel Blue.\nPrimary lockup Primary lockup Horizontal Horizontal Circle badge Circle badge Mark Mark One colour One colour Use the files as supplied. Keep clear space equal to the width of the mark\u0026rsquo;s stem on every side. The lockup should be at least 120 px wide and the mark at least 24 px. Below that, use the one-colour mark. Don\u0026rsquo;t recolour, stretch, outline, shadow, or rebuild the logo from a font. The tagline is never part of the logo.\nThe SVGs are trimmed tight to the art. Padded PNGs are alongside them in /brand/logo/png/, and print PDFs in /brand/logo/pdf/.\nColour # Mostly navy, slate, and white. Signal Blue is the only saturated colour, and it is reserved for links, focus, and selection.\nMidnight Navy #0F1720 Logo, headings, dark backgrounds Deep Slate #334155 Body and secondary text Steel Blue #64748B The ring, STUDIOS, graphics Light Steel #94A3B8 Steel on dark backgrounds Cool Gray #D1D5DB Borders and rules Soft White #F8FAFC Light backgrounds Signal Blue #3B82F6 Accent: links (#2563EB as text), focus. Never in the logo Steel Blue is for graphics and large type. Use Deep Slate for small secondary text on light backgrounds, and Light Steel in place of Steel on dark ones.\nType # Archivo — headings and labels\nCreate thoughtfully. Build well.\nIBM Plex Sans — body and interface\nTools that solve a real problem, described honestly. Body copy sets in IBM Plex Sans at a comfortable reading size, with normal tracking.\nThese are the parlette.net family\u0026rsquo;s typefaces, which tie Studios to the rest of Andrew\u0026rsquo;s sites. Headings use Archivo at weight 600 with slightly tight tracking. Labels, like the one above, are Archivo in capitals at weight 600, set a little wider and tracked very wide. This is the STUDIOS treatment. The wordmark itself is custom lettering, not a font.\nIcons # Line icons on a 24-unit grid with a 1.5 stroke, drawn from the mark\u0026rsquo;s own geometry rather than generic camera or code symbols.\nSoftware Photography Digital creation Components # Primary action Secondary action Buttons are square-shouldered, set in the label style, and never shadowed: solid navy for the one thing to do next, and an outline for the alternative. Sections are divided by 1 px Cool Gray rules rather than boxes. Where separate things need a grid, cards are a hairline border with no shadow.\nImagery # Photography is Andrew\u0026rsquo;s own, shown with plenty of negative space and the logo kept out of the frame.\nFor backdrops, his photographs are graded into the palette: nearly colourless, toned from slate to soft white, low contrast and hazy, with a gentle lift in the centre for the logo to sit on. The home page uses one from the Grinnell Glacier Trail in Glacier National Park; that\u0026rsquo;s Andrew on the ledge. A few decorative images, like the social card\u0026rsquo;s background, are AI-generated illustrations. They are never presented as photography.\nThe watermark on finished photographs is the mark alone, white or black at low opacity, small, in a corner: a signature, not an advertisement.\n","externalUrl":null,"permalink":"/brand/","section":"Software that keeps track of things","summary":"Parlette Studios is the name Andrew Parlette’s software and photography go out under. It is part of the parlette.net family, with an identity of its own. The brand should read as precise, thoughtful, creative, understated, and capable.\n","title":"Brand","type":"page"},{"content":" Where the pictures are # The photographs live on Flickr, which is where they have been going for years — including a run at the 365 discipline of making a frame every day.\nThe photostream — everything, newest first New River Gorge — a West Virginia set A small selection also sits on the personal site, at andrew.parlette.net/photo-gallery.\nWhat is coming here # A real portfolio — a chosen, sequenced, printed-size selection rather than a stream — belongs on this site, and it is not built yet. Choosing which frames are portfolio-grade is not a job to hand to anyone else, so this page points at Flickr until that edit happens.\nThe nearest thing to photography software on the workbench is LensCalc, five field calculators for depth of field, field of view, exposure, crop factor, and subject size in frame.\n","externalUrl":null,"permalink":"/photography/","section":"Software that keeps track of things","summary":"Where the pictures are # The photographs live on Flickr, which is where they have been going for years — including a run at the 365 discipline of making a frame every day.\n","title":"Photography","type":"page"},{"content":"Almost everything here started the same way: something worth remembering, and nothing writing it down.\nInterstate Tracker logs the roads. Pitch Chart logs the pitches. NogLog logs the eggnog. That is not a coincidence — it is the whole disposition. The work tends toward the same shape: capture what actually happened, keep it somewhere durable, and give it back later in a form that is worth looking at.\nParlette Studios is the name Andrew Parlette builds under. It is a workbench, not an agency.\nThe workbench, most finished first Project What it does Form Status Interstate Tracker Tracks which stretches of the Interstate Highway System you have driven, and maps what is left. Web app, sync API, Android Live — web Grid Makes personal AI agents running on different machines behave like one team, with one roster and one dashboard. CLI and daemon Working — v0.1.0 Memory Drop Let 33 graduating families upload full-resolution photos from a phone in under a minute, for one night\u0026#39;s slideshow. Web app Shipped — April 2026 NogLog Logs eggnog tastings — brands, reviews, ratings, and homemade recipes. Web app and Android In development Pitch Chart Charts every pitch of a baseball game and recalls a batter\u0026#39;s history from the dugout, with no signal needed. Android app In development LensCalc Five field calculators for photographers — depth of field, field of view, exposure, crop factor, and subject size in frame. Web app Built — not yet published IsoReel Cuts clips from multi-camera game footage frame by frame, tagged by player and play, without re-encoding. Windows desktop Early development About that status column. It says what you can do with a thing today, not what it will be able to do. \u0026ldquo;In development\u0026rdquo; means exactly that, and nothing on this page is described as available until it is. If a row does not link anywhere, there is nothing yet worth sending you to.\nPhotography # The other half of the studio. The photographs mostly live on Flickr for now — see Photography for where to find them and what is coming.\n","externalUrl":null,"permalink":"/","section":"Software that keeps track of things","summary":"Almost everything here started the same way: something worth remembering, and nothing writing it down.\nInterstate Tracker logs the roads. Pitch Chart logs the pitches. NogLog logs the eggnog. That is not a coincidence — it is the whole disposition. The work tends toward the same shape: capture what actually happened, keep it somewhere durable, and give it back later in a form that is worth looking at.\n","title":"Software that keeps track of things","type":"page"},{"content":"","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"Every project here, with what it does and where it actually stands.\nAll work Project What it does Form Status Interstate Tracker Tracks which stretches of the Interstate Highway System you have driven, and maps what is left. Web app, sync API, Android Live — web Grid Makes personal AI agents running on different machines behave like one team, with one roster and one dashboard. CLI and daemon Working — v0.1.0 Memory Drop Let 33 graduating families upload full-resolution photos from a phone in under a minute, for one night\u0026#39;s slideshow. Web app Shipped — April 2026 NogLog Logs eggnog tastings — brands, reviews, ratings, and homemade recipes. Web app and Android In development Pitch Chart Charts every pitch of a baseball game and recalls a batter\u0026#39;s history from the dugout, with no signal needed. Android app In development LensCalc Five field calculators for photographers — depth of field, field of view, exposure, crop factor, and subject size in frame. Web app Built — not yet published IsoReel Cuts clips from multi-camera game footage frame by frame, tagged by player and play, without re-encoding. Windows desktop Early development ","externalUrl":null,"permalink":"/work/","section":"Work","summary":"Every project here, with what it does and where it actually stands.\nAll work Project What it does Form Status Interstate Tracker Tracks which stretches of the Interstate Highway System you have driven, and maps what is left. Web app, sync API, Android Live — web Grid Makes personal AI agents running on different machines behave like one team, with one roster and one dashboard. CLI and daemon Working — v0.1.0 Memory Drop Let 33 graduating families upload full-resolution photos from a phone in under a minute, for one night's slideshow. Web app Shipped — April 2026 NogLog Logs eggnog tastings — brands, reviews, ratings, and homemade recipes. Web app and Android In development Pitch Chart Charts every pitch of a baseball game and recalls a batter's history from the dugout, with no signal needed. Android app In development LensCalc Five field calculators for photographers — depth of field, field of view, exposure, crop factor, and subject size in frame. Web app Built — not yet published IsoReel Cuts clips from multi-camera game footage frame by frame, tagged by player and play, without re-encoding. Windows desktop Early development ","title":"Work","type":"work"}]