DANORIE

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.

20shipped
3In Orbit
9Live
7Still up · no longer worked on

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 apps
Live

Enter your birthday and meet the character living in your saju.

Visit ↗Details

Golf Weather Score

Web services and sites
upkeep only since 2026-11 · no new feature work · Still up

Live 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.

Period 2026-01 ~ 2026-11 (9 months)
Role Solo: planning, development, data pipeline, SEO and operations
Stack Next.js 14, TypeScript, Tailwind CSS, lucide-react, NOAA/NWS api.weather.gov (primary) + OpenWeather One Call 3.0 (fallback), Vercel, Upstash Redis, Resend, GitHub Actions

Visit ↗Details

ReplacerGuide

Web services and sites
upkeep only since 2026-11 · no new feature work · Still up

A 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.

Period 2026-02 ~ 2026-11 (9 months)
Role Solo: planning, development, content and operations (including running the AI agents)
Stack Next.js 16 · React 19 · TypeScript · Tailwind 4 · Vercel · Google Search Console API

Visit ↗Details

jobsignal

Chrome extensions
upkeep only since 2026-11 · no new feature work · Still up

A 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).

Period 2026-10-06 (brief) ~ 2026-11-03 (decided to stop)
Role Made by Danorie, implemented with help from Claude
Stack Chrome Extension MV3, vanilla JavaScript, chrome.storage.local, Node test runner, ECDSA signed-key design (not implemented)

Visit ↗Details

Household templates · an ebook on charging for Chrome extensions

Digital goods
Closed 2026-11 (the sales pages stay up)

Excel 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.

Period 2026-09-30 ~ 2026-11-03
Role Planning, production, design and store listing
Stack Python (openpyxl), headless Chromium for PDF layout, Kmong

Visit ↗

FreshBooks Timer — validated, not built

Chrome extensions
Product work ended 2026-11 · the landing page and blog stay up

I 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.

Period 2026-09 ~ 2026-11
Role Solo (planning, validation, backend, draft copy; final copy review done separately)
Stack Cloudflare Workers + KV, JavaScript (Node), FreshBooks API, Chrome identity (OAuth flow design), LemonSqueezy License API (design)

Visit ↗

朵諾莉|居家小日子 — a Taiwan home-tips account on Threads

Channels
Dormant (stopped 2026-11-03, account kept)

A 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.

Period 2026-09-28 ~ 2026-11-03
Role Planning, copy, illustration, automation and operations
Stack Python, PIL, Threads (web), in-house gate scripts

Visit ↗

Wall Math — paint, wallpaper and flooring quantity calculators (US English)

Web services and sites
Frozen · the site stays up

Wall 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.

Period 2026-09-07 ~ 2026-11-03 (live from 2026-09-08)
Role Solo: planning, development, content and operations · the domain, accounts and release signing keys are held by Danorie directly
Stack Node 22 (zero dependencies) · in-house static generator · node:test · GitHub Actions · Vercel static hosting

Visit ↗

Inch & Drawer — a dimension-comparison site for small kitchen storage

Web services and sites
Frozen · the site stays up

A 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.

Period 2026-09 ~ 2026-11 (58 days)
Role Solo: design, implementation, content, checks and deploys
Stack Node.js (minimal dependencies, in-house static build) · Ed25519 signing gate · Playwright (560-assertion smoke test, OG generation) · Python (check scripts) · Vercel · GitHub Actions

Visit ↗

Danorie on Threads & X — English social pilot

Channels
Closed 2026-11

A 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.

Period 2026-10-16 account opened ~ 2026-11-03 closed
Role Run by Danorie, with help from Claude
Stack Python · Threads Graph API · X API v2 (OAuth 1.0a, pay-per-use credits) · JSONL ledgers

Visit ↗

gliddy

Web services and sites
upkeep only since 2026-11 · no new feature work · Still up

Answer 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.

Period 2026-01-19 ~ 2026-10-23 (itinerary product since 2026-04-11)
Role Solo planning, development, design and operations
Stack Next.js 16 · React 19 · TypeScript · Tailwind · next-intl · Supabase · Lemon Squeezy · Resend · Mapbox · @react-pdf · Anthropic Claude · Vercel

AskTrail

Shopify apps
upkeep only since 2026-11 · no new feature work · Still up

A 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).

Period 2026-07-19 ~ 2026-11-01
Role Solo: planning, development, listing copy and operations
Stack Remix (Shopify app template) · TypeScript · Shopify Polaris · Prisma · Supabase (Postgres) · Vercel (serverless, cron) · Resend · OpenAI Responses API · Shopify Checkout UI Extension

One Fix A Week

Channels
upkeep only since 2026-11 · no new feature work · Still up

Small 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).

Period 2026-09-14 ~ 2026-10-09
Role Solo development and operations
Stack Python · Instagram Graph API · ffprobe · Vercel static hosting (temporary video URLs)

Iron Speed Calc

Web services and sites
Live

Instant clubhead speed estimates from your iron distances.

HideKit

Shopify apps
Live

Hide, rename and reorder checkout methods by rule.

CookieMop

Chrome extensions
Live

Close the tab, the cookies go with it.

PowerBar for Xero

Chrome extensions
upkeep only since 2026-11 · no new feature work · Still up

The 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.

Period 2026-08-02 ~ 2026-10-23
Role Solo planning, development, listing and operations
Stack Chrome Extension Manifest V3 · JavaScript · Lemon Squeezy License API · GitHub Pages

Costfold

Shopify apps
In Orbit

Freight and duty, folded into Shopify's cost per item.

SEMO

Web services and sites
In Orbit

Assess, prescribe, track — the coaching OS for PT studios.

Guidely

Web services and sites
In Orbit

Chat stays in the messenger. Booking and payment don't.

鵲來取名

Mobile apps
Live

A Taiwanese baby-name stroke checker that shows three schools side by side

SteamyLogic

Channels
The Archive

One post a day, written by hand. It stopped in June 2026.

MerchantPilot

Shopify apps
The Archive

Weekly 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.

Period 2026-05 ~ 2026-07 (product 2026-05-20 to 07-19, sales attempts 07-20 to 07-29)
Role Solo development, design and operations
Stack Next.js 15, TypeScript, Tailwind, Supabase, Shopify Admin API, Lemon Squeezy, Resend, Vercel

CleanShot

Web services and sites
The Archive

A 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).

Period 2026-02 ~ 2026-04 (commits 2/10 to 4/21) · archived 2026-09-30
Role Solo development, design and operations
Stack Chrome Extension MV3 · TypeScript · Cloudflare Workers · D1 · R2 · Claude API · Lemon Squeezy · Google OAuth · GitHub Pages

Danwoo.Video

Chrome extensions
The Archive

Ask why a YouTube video blew up, without leaving the video.