NORIAKI KISHIDABASED IN SAN FRANCISCO

Ideas are easy.
I build the
real thing.

I’m Noriaki, a software engineer building AI agents, secure infrastructure, and end-to-end products that solve real problems.

Built with intent.

Research tooling, a local-first desktop assistant, deployed platforms, and agents that carry a task from start to finish. Each one solved a problem I actually had.

2nd prize · Convex track, YC Growth Hackathon
AI AGENTS · TEAM HACKATHON BUILD

HookLoop

An autonomous paid-ad experimentation agent. It forms a creative hypothesis, generates ad reels, simulates a week of spend, and folds what it learned into the next cycle.

Under the hood
Three specialized agents — Strategist, Generator, Analyst — around a simulator that allocates budget with Thompson sampling. Structured OpenAI outputs tag the creative DNA of every reel so results can be attributed, and Convex reactive queries stream the run live.
3rd place · Auth0 × Stripe Hackathon
AGENTIC COMMERCE · TEAM HACKATHON BUILD

SOLID Marketplace

A buying agent for Facebook Marketplace. It searches and ranks nearby listings, runs parallel simulated negotiations, and carries the deal through to a protected meetup payment.

Under the hood
The interesting part is stacking safety on top of autonomy: vision-based condition analysis with Qwen2.5-VL, scam detection that combines pattern matching with a model check and halts high-risk negotiations, and Stripe Connect escrow that releases funds only after both sides confirm the meetup.
PRODUCTION PLATFORM · CAPITAL LAUNCHERS

IndoBiz Japan

An India business-intelligence platform for Japanese companies — news, regulation, market signals, and investment activity, each summary published with its evidence attached.

Built
Next.js 16 and Supabase over a Python scraping layer, feeding a Claude synthesis pipeline that deduplicates, classifies, and quality-gates every story before it publishes, keeping provenance snippets attached to each summary. Memberships run on Stripe, and LINE Login is wired in as a custom OIDC provider.
PERSONAL PROJECT · DEPLOYED

idobataAI

A privacy-first productivity network. Tasks stay private by default, you choose what to post when you finish one, and encouragement comes back from real people and clearly labelled AI personas.

Built
Next.js 16 and React 19 on Supabase, with privacy enforced by PostgreSQL row-level security rather than trusted to application code. Cursor-paginated feeds, one-to-one chat, scheduled persona engagement, account deletion that purges media, and an interface built to WCAG 2.1 AA.
BROWSER-NATIVE AI · PERSONAL PROJECT

Research Copilot

A goal-oriented research assistant that lives in the browser. You give it a research goal; it generates the questions worth answering, reads the pages you actually visit, keeps only the goal-relevant insights, and tells you when you have drifted off topic.

Built
A Chrome extension — popup for setup, side panel for the workspace — over a FastAPI backend that handles goal clarification, question generation, and page analysis. Insights cluster by topic or timeline, drift detection watches the session, and heuristic fallbacks keep the extension useful when no model key is configured.
There’s more where that came from.Explore my GitHub
knov

Local by architecture,
not by promise.

A closer look at knov, the local-first macOS assistant from the work above — how it rebuilds your working context on your own machine, and why so little of it ever leaves. Technical alpha, Apple Silicon.

TYPICAL AI ASSISTANT
  1. Hand over your activity
  2. Get context
KNOV
  1. Collect locally
  2. Build work threads
  3. Sanitize
  4. Budget tokens
  5. Send only that

The problem

Your working context is real but scattered — across app windows, browser tabs, editors, and documents — and it evaporates the moment you switch tasks. The assistants that could rebuild it are the ones you have to hand your activity to first. The tool that would know the most about your day is the one you trust least.

The product insight

So the context gets assembled where the data already lives. Everything is collected and stored on the machine, and the only thing that reaches a model is a small, sanitized, token-budgeted packet — assembled by code the user can inspect rather than by a prompt.

Read the engineering breakdown

Approach

  1. Collect foreground app activity and window titles through native macOS APIs.
  2. Bootstrap up to 90 days of history from an explicitly chosen Chrome profile.
  3. Take metadata-only Local History and Git-path signals from editors — never file contents.
  4. Write it all to a local SQLite store with 30-day detailed-activity retention.
  5. Assemble semantic work threads across app, browser, document, and editor evidence.
  6. Pack context deterministically, dropping full URLs, absolute paths, and credential-like fields.
  7. Send only that token-budgeted packet to the provider the user brought a key for.

Architecture

Desktop app
A Tauri 2 shell with a Rust core for collection and packing, and a React and TypeScript surface for the dashboard, activity inspection, and profile corrections.
Store
Local SQLite, and nothing else. Detailed activity is kept 30 days; imported history past that window is cleaned up automatically.
Companion
An optional Chrome MV3 extension adds active-tab timing. It is a post-MVP experiment, not a dependency — the desktop app works without it.
Providers
OpenAI, Anthropic, or Amazon Bedrock on bring-your-own-key credentials, held in the macOS Keychain. Exclusion lists drop named apps and domains locally, before they can reach a profile at all.

The decision I would defend

Sanitization is deterministic and happens in the Rust core before any model call — stripping full URLs, absolute paths, credential-like fields, and unrelated raw activity, then enforcing a token budget. Handing the model everything and instructing it to be careful would have been far less work. But a privacy guarantee that depends on a model behaving is not a guarantee. Putting it in the packer makes it a property of the system.

Why it matters

Local-first is a constraint rather than a marketing line: it decides what you can collect, where you can compute, and how much you are ever allowed to send. It also forces honesty about inference — knov presents work threads as inferences rather than confirmed intent and lets you correct them, because a system that quietly guesses at your day and sounds certain is worse than one that asks.

A global perspective.
A builder’s mindset.

Noriaki Kishida in front of the Golden Gate Bridge

I’m studying Computer Science and Artificial Intelligence at Minerva University, with a minor in Economics.

I’m most interested in AI systems that get past the isolated prompt — tools that hold context, work across a whole workflow, and help people make better decisions. That interest has taken me from confidential inference on AWS Nitro Enclaves to autonomous agents, browser-native research tooling, and local-first desktop software.

Minerva moved me through teams in Japan, South Korea, and Taiwan, and I’m now based in San Francisco. Wherever a project starts, I care about taking it all the way to something people can actually use.

Minerva UniversityB.Sc. Computer Science & AI · Expected May 2027
TOOLS I REACH FOR

Languages

Python / TypeScript / JavaScript
Rust / SQL

Products & interfaces

React / Next.js / Tauri
Flask / FastAPI / Node.js

AI & infrastructure

OpenAI / Claude / PyTorch / AWS
Supabase / Convex / Docker / n8n

The right tool for the problem.
Always learning the next one.
605minSecure AI setup time
EAGLYS
45+RSS feeds automated
Capital Launchers
50+AI agent workflows managed
GSP Cloud

Real teams.
Real impact.

Four internships and a tech lead role across Japan, South Korea, and Taiwan — building where engineering meets a real constraint: security, cost, or time.

Download my resume
MAY 2025 — PRESENTCapital LaunchersTech Lead / CTO
Nagoya, Japan

Built an India business-news platform for Japanese executives: 45+ RSS feeds ingested, deduplicated, and synthesised into quality-gated articles with generated imagery, reducing manual curation to effectively zero. Automated social distribution with n8n and platform APIs, cutting posting work from roughly 2 hours to 15 minutes, and analyzed 300+ companies with Python, the OpenAI API, and Tavily to identify 130 potential GP/CVC partners.

Next.js · Supabase · Claude · OpenAI · Python · Tavily · n8nVisit the platform
JUL 2024 — APR 2026EAGLYSSoftware Engineer Intern
Tokyo, Japan

Built a GPT-2 chatbot system running inside AWS Nitro Enclaves for confidential inference, with RSA-encrypted client-server communication over vsock. Shipped a Flask and boto3 control plane that automates EC2 and enclave management, key handling, and IAM-based access control — taking environment setup from about an hour to 5 minutes. Presented the system to 40+ professionals.

Python · Flask · boto3 · React · AWS Nitro Enclaves · vsock
JAN 2025 — APR 2025GSP CloudFrontend & Platform Developer Intern
Seoul, South Korea

Built the console dashboard managing 50+ AI-agent workflows, plus REST APIs behind file-transfer, billing, and data-download flows and a customer-support integration. Tested with 20 pilot users, contributing to a 30% improvement in onboarding satisfaction.

TypeScript · React · Supabase · REST APIs
SEP 2024 — DEC 2024BearVFXSoftware Engineer Intern
Taipei, Taiwan

Automated an educational avatar-video pipeline end to end: transcript generation with GPT-3.5, narration with SpeechT5, and Wav2Lip lip-sync composited through OpenCV and FFmpeg — reaching 91%+ lip-sync accuracy.

Python · PyTorch · OpenAI · SpeechT5 · Wav2Lip · FFmpegSource code

Shipped on the clock.

Four podium finishes at hackathons between 2024 and 2026, each one a working product by the deadline.

BEYOND ENGINEERING

I came to software from competitive English debate — winner of the Make Friends Cup national tournament as Defense Speaker, arguing a ~40-page case built over months of research. More recently: Japan champion and 5th worldwide in the 2025 Youth Fact-Checking Competition. Research a space, build the argument, defend it live — the engineering habits came from there.

Let’s build
something good.