What we have made
Planning, design, launch and operations in-house; part of the implementation with AI coding assistance
Where there is no screenshot the image slot stays empty and the card points at the product page: we did not invent screens that do not exist.
Those numbers count products only, on the same basis as the front page. The grid below also holds things we do not count as products (digital goods, channels, candidates we dropped), so it has more cards.
Showing all 29.
한절한절
Mobile appsCopy scripture by hand on paper, then tap the last verse to log it.
Golf Weather Score
Web services and sitesLive playability scoring for US golf courses: one number (G-Score 0–100) from National Weather Service forecasts — temperature, wind and reported conditions — with a 7-day window and twice-daily email alerts.
- A G-Score for each course with the deductions shown, 7-day play windows from the forecast, 53 state hubs, 7 rankings, 4 guides, 27 insight posts and email alerts (a cron twice a day).
- Next.js 14 App Router, TypeScript and Tailwind CSS. Forecasts come from the US National Weather Service (NOAA/NWS) api.weather.gov first, with OpenWeather One Call 3.0 as the fallback. Hosted on Vercel (2 crons), with 5 dependency-free CI gates on GitHub Actions.
- Generated 11,556 course pages from a 13,092-row US course dataset (8,324 scorecards, 9,107 hole strategies, 11,539 mini-maps); 226 curated courses are published in the sitemap. 379 commits, 32 PRs.
ReplacerGuide
Web services and sitesA parts-number directory for home appliance filters and cartridges — 856 listings across 16 categories, where every page states what it can and cannot verify.
- A search that takes a part number (for example DA29-00020A or TN760) to the matching item, plus a directory of 16 categories and 39 brands: 143 public pages, 856 items.
- Carries 454 Amazon affiliate links but shows no prices or shipping on the page, since Associates rules require the API and a retrieval time for prices. Each page only says "See price on Amazon."
- Built a pipeline that blocks unsourced claims in code: 5 automated checks before deploy (types, build, fabricated first-person claims, numbers without a source, brand claims) and a full string check of the live site after deploy.
jobsignal
Chrome extensionsA Chrome extension that labels hidden red flags on Upwork job pages you open — local-only, sends nothing.
- Shows 8 signals on a job's detail page (low average hourly rate paid, repeated small contracts, required track record, currency or time-zone requirements, number of proposals, high Connects cost, vague scope, low hire rate) and 5 on the list cards, each as a quote from the post rather than a score.
- Manifest V3 with a single permission (storage) and no network requests. Settings and the list of seen jobs stay in the browser's local storage and are deleted after 30 days.
- A packaging script that checks permissions and external URLs at build time, and 55 automated tests built on 8 saved pages. Size: 487 lines of source JS, about 19.6 KB zipped. Published on the Chrome Web Store on 2026-10-15 (v0.1.6), updated 2026-10-26 (v0.1.7).
Little Jobs
Mobile appsA chore chart you tap through together, with a printable weekly sheet
Household templates · an ebook on charging for Chrome extensions
Digital goodsExcel household-budget and fridge-clearing planner templates, plus an ebook on monetizing Chrome extensions, listed on a Korean freelance marketplace.
- Three packages: an Excel household budget (blank and sample) and a fridge-clearing meal planner (blank, sample and a 2-page printable PDF).
- An ebook on charging for Chrome extensions (A5, 53 pages, 8 chapters plus an appendix), explaining license keys that are signed and checked offline.
- A set of Python scripts that regenerate every template, PDF and zip from code.
FreshBooks Timer — validated, not built
Chrome extensionsI tested demand for a FreshBooks time-tracking Chrome extension before writing it, and built the API checks and a small serverless backend along the way.
- Verified the FreshBooks API (OAuth 2.0, time entries, rate limits) against a real account and kept the raw responses as evidence. Time entries require a client, each user can run one timer at a time, saved time is rounded to the minute, and the limit is 600 calls a minute.
- Built a stateless token proxy that keeps secrets server-side, plus an email waitlist endpoint, as one Cloudflare Worker (about 900 lines, 253 automated tests). The same Worker now also handles launch notifications for 4 other apps.
- Collected sign-ups with a landing page and 2 blog posts. The result was 1 sign-up and almost no visits, so the extension was never built and the project was closed.
朵諾莉|居家小日子 — a Taiwan home-tips account on Threads
ChannelsA Traditional-Chinese home-tips account on Threads, built to learn how a new account grows through reciprocity and source-cited cards.
- Published 27 info cards in Traditional Chinese, each citing the Taiwan FDA (食藥署) source line by line, with an illustration set for each card (31 sets).
- Built the pre-publish check tool in-house and ran the account on a fixed daily cap and spacing.
- Results over one month (9/28 to 11/3): 6 followers, 0 genuine comments and 1 Meta action (a reply removed on 10/1). With no signal after that, the account went dormant on 11/3.
Wall Math — paint, wallpaper and flooring quantity calculators (US English)
Web services and sitesWall Math turns a measured room and the coverage figure printed on your can into a can-by-can shopping list — two coats, openings subtracted, rounded up to the sizes a store actually sells.
- 3 calculators (paint, wallpaper, flooring) with 3 input modes (room size, single wall, total area); a floor plan that redraws as you type; a shopping list in cans, rolls or boxes with the leftover amount; project notes stored only in the browser (JSON export and import); and 16 hand-calculation guides that quote the manufacturers' own text.
- A zero-dependency static generator and pure calculation engine (Node standard library only); 181 automated checks on the built-in runner; a release gate that lets a production build through only when it matches a signed digest; quality gates on GitHub Actions; no third-party requests (except the ad-verification loader); all 10 color swatches measured at 4.5:1 contrast or higher.
- 32 public pages · 16 guides, 35,495 words · 34 cited sources · 46 source files, 3,504 lines · 428 commits · 98 merged PRs · 45 signed releases.
Inch & Drawer — a dimension-comparison site for small kitchen storage
Web services and sitesA measurement-first site that answers one question — will this organizer fit your drawer? — using only dimensions the maker published, each quoted with its source and check date.
- A zero-dependency fit engine: clearance is subtracted once per axis, a manufacturer's stated requirement is applied verbatim ahead of the body fit, and when published figures disagree it answers "measure again" instead of yes or no. 201 tests.
- A source ledger and signed release gate: 44 evidence records (quote, source URL, date checked). Code and content changes are bound into a digest, and a production build is designed to fail without Danorie's signature.
- A 32-page static site (11 guides) with no photos and no AI images; every diagram and all 32 OG cards are generated by the site's own scripts.
Danorie on Threads & X — English social pilot
ChannelsA 15-day English social pilot for our small apps, where every post and reply passed a voice check and a rule check before it went out.
- Two publishers (Threads API and X API) that post only what has been approved in the queue. Each post is checked against its style-card score, a lint and the approval hash.
- A reply-rule checker (8 rules, 36 automated tests).
- 13 Threads posts and 5 X posts · 609 total Threads views (best post 286) · followers: 1 on Threads, 0 on X. Closed 2026-11.
gliddy
Web services and sitesAnswer three questions and get a day-by-day trip plan — hotel, airport transfer, timed stops and a route map — by email and PDF.
- A 3-question wizard, then 3-stage LLM generation (outline, day-by-day text, route reordering), then delivery by email of a web link, a PDF, a Mapbox map and walking routes.
- A one-time $4 payment through Lemon Squeezy, with webhook signature checks and idempotent handling. No sign-up.
- 5 languages (English, Korean, Japanese, Chinese, French) · public sample itineraries for 13 cities · 17 pages and 7 APIs · about 43,000 lines and 279 commits.
AskTrail
Shopify appsA Shopify app that asks buyers what they asked ChatGPT before ordering, and saves the answer with the order.
- A post-purchase survey on the thank-you page (Shopify Checkout UI extension) plus order-source analysis that auto-tags orders coming from 6 AI assistants: ChatGPT, Perplexity, Gemini, Copilot, Claude and Grok (11 classification tests passing).
- Passed Shopify App Store review and went live on 2026-07-23, 4 days after the first commit. Three Shopify-billed plans (Free, $29, $79) and a weekly report email (Vercel cron, Resend) that is not sent for empty weeks.
- 95 commits · about 3,433 lines · 0 paying merchants while it ran (7/23 to 11/1).
One Fix A Week
ChannelsSmall Python scripts that each remove one repetitive office task, shared as public GitHub Gists.
- An unattended pipeline that writes a Reels caption from each Shorts package (disclosure on the first line, 5 tags, no links) and posts it through the Instagram Graph API: 27 posts over 4 weeks.
- Each post's permalink, media_id and video specs go into a ledger, and its results sit side by side with the same video's Shorts results.
- Long-lived IG tokens for 3 accounts are refreshed weekly without anyone touching them (token values are never printed).
PowerBar for Xero
Chrome extensionsThe Xero menu shortcuts that never shipped — a Chrome extension built from requests on Xero's own feature forum.
- Features picked from forum requests: a Statements item, status submenus for Sales and Purchases, a favorites bar, shortcuts to reconciliation and settings, and a way to turn off tip pop-ups, each module with its own switch.
- Manifest V3 in plain JavaScript with no build step; the only permission is xero.com; no server and no analytics; the free core is open source (MIT); remote kill switch per module.
- A Pro feature (invoice PDF file names) checked with Lemon Squeezy license keys. Published on the Chrome Web Store 4 days after takeover (2026-08-06). About 4,900 lines, 61 tests.
Pen & Verse: Scripture Writing
Mobile appsWrite the Bible by hand, one verse at a time.
MerchantPilot
Shopify appsWeekly Shopify client reports under your agency's name.
- Pulls an agency's client stores into one dashboard through Shopify Partner OAuth (read-only) and sends a report email every Monday under the agency's own logo and name (30-day sales, orders, average order value, change from the previous week).
- Next.js 15 · Supabase (magic link) · Lemon Squeezy subscriptions ($49/month, live payments from 2026-07-27) · Resend · Vercel cron. 11 screens, 11 APIs, 31 commits.
- Emailed 40 agencies that were researched one by one: 2 replies, 0 interested, $0 in revenue. Closed on 2026-07-29 and published the post-mortem.
CleanShot
Web services and sitesA Chrome extension that turned a YouTube video into a ready-to-post LinkedIn carousel in about 30 seconds.
- Reads a video's captions in the side panel and builds a carousel (a hook, 7 insight slides, a CTA and hashtags), downloadable as PDF or PNG in 3 slide templates.
- Backend on Cloudflare Workers, D1 and R2, with Google sign-in, Lemon Squeezy subscription webhooks and two-stage generation with Claude Haiku and Sonnet.
- v2.0 passed Chrome Web Store review (2026-04-20); 55 users and a 5.0 rating (2026-10-15).
Danwoo.Video
Chrome extensionsAsk why a YouTube video blew up, without leaving the video.