Inside a One-Person AI Company: What I’m Building Right Now
A current record of the products, AI infrastructure, and GeekCode writing I am working on—including what is not finished yet.
This page had not been updated since March 2025. At the time, I was building a browser translation extension, polishing website interactions, and considering a crawler-driven technical weekly. That record is still true, but it no longer describes the work.
The current direction is easier to say now: I am connecting products, AI services, engineering practice, and writing into a system one person can keep running over time.
In plain English: keep the products running, make problems visible, and turn lessons into material I can reuse. One person has only two hands, and coffee still refuses to take the night shift.
August 2026 update
Strat Thread: turning a quant prototype into a product
Most of the work is going into Strat Thread. It is no longer a small tool for viewing prices or running one backtest. The goal is to help a user move from finding a market idea to building a strategy, checking it against old data, running it safely on paper, and then choosing live execution or notifications.
Recent work has concentrated on a few boundaries:
- Market data now spans OKX crypto, TDX A-shares, and Alpaca US equities. The less visible work is just as important: catalogue ownership, historical backfill, confirmed candles, and recovery when a source fails.
- The global Page Agent—an AI assistant that can understand the current page—can discover available actions and use Chinese or English prompts and tool descriptions to match the user’s language. Its model traffic now routes through
llm.geekcode.vip. - Normal, Pro, and ProMax plans, a seven-day usage window, physical Worker-attempt accounting, and operator controls have reached implementation and regression coverage. The database migration and production release gates are still recorded separately; implemented does not yet mean deployed.
- The market workspace is gaining complete drawing interactions—selection, dragging, colour, width, and deletion—while the Dock, indicators, keyboard paths, and narrow-screen behavior continue to be tightened.
The engineering work behind those features now follows specification-first admission, explicit domain boundaries, recoverable asynchronous jobs, and layered regression. The latest recorded complete Web run contained 152 suites and 981 tests. The immediate unfinished task is to undo an over-broad global visual restyle while keeping the first-use empty-state illustrations that passed review.
Infrastructure: letting one person see what the system is doing
PostgreSQL, Redis, and ClickHouse now live in a shared Kubernetes baseline. Each application receives its own database, account, and namespace instead of starting another local data stack. New object storage is moving to Cloudflare R2 rather than recreating the retired MinIO service.
OpenLIT now collects LLM traces, token usage, cost, and latency. OTLP ingestion remains private to explicitly authorized cluster workloads, and trace data has a seven-day ClickHouse retention policy. The point is not to accumulate infrastructure. It is to make cost, failure, and recovery boundaries visible enough for one person to operate them.
The same shared base is starting to support older products. fortune.geekcode.vip has moved into the unified workspace, and its PostgreSQL data has been restored. It now uses shared Redis, the LLM gateway, and R2, and it passed production checks with two running copies. One old avatar URL is still broken because the original image is gone; new images now go to R2. TBTI has also moved into this workspace. Automated releases will wait until the remote-repository rules are settled.
GeekCode: turning shipped work into reusable material
The GeekCode website has a clearer job now. It is not a generic developer community or a portfolio. It documents how a one-person company working in collaboration with AI handles products, engineering, content, and operations in practice.
I rebuilt the brand and documentation experience. Chinese and English both get a real edit; neither is treated as a translation attachment. The latest articles come directly from project work: guardrails for AI features, Specs and changelogs for steadier Vibe Coding, how much testing is useful, why prompt-cache reuse can suddenly fall to zero, and why Agent optimization is bigger than shortening a prompt. The delivery method behind these articles is also available as the downloadable stable-vibe-coding Skill.
The old crawler-driven technical weekly is still not complete. For now, I would rather publish slower field notes with evidence and limitations than produce summaries merely to maintain a posting frequency.
What comes next
The near-term work is concrete:
- Finish Strat Thread’s visual rollback, Agent-plan migration, and production acceptance while continuing to distinguish “implemented” from “deployed.”
- Keep moving older applications onto explicit recovery, credential, storage, and release boundaries without recreating retired services for convenience.
- Turn recurring engineering problems into Chinese and English articles and reusable Skills, without inventing a story merely to have something to publish.
Archive: March 2025, week 2
Simple Translate extension
- feat: Finish the professional-enhanced translation capability, including model fine-tuning and corpus preparation.
- feat: Improve the interaction flow with SSE streaming so long translations do not time out.
- pref: Improve the i18n configuration for error messages.
- fix: Refine when the translation button appears, so it is not triggered unexpectedly in certain situations.
- fix: Add a few small guardrails and constraints.
- pref: Improve the Redis data model and add expiration control for stored records.
GeekCode operations
- feat: Add a technical-weekly feature to the website to enrich content and improve SEO (crawler task, API, and frontend).
- feat: Add emoji support to the public docs. 😈
- docs: Expand the independent-development articles. The first two chapters are complete.
- perf: Polish document-anchor and section-highlighting details on the website.
- docs: Add this “what I’m working on” section to build in public and keep a regular record of goals and progress.