Zheng404

746 posts

Zheng404 banner
Zheng404

Zheng404

@Zheng404

🚀 Indie Hacker | AI Beginner | BIP 📊 Recording Real Data from Indie Development and Going Global 👀 It is part of the plan | Thanks for your attention

China Katılım Eylül 2025
76 Takip Edilen76 Takipçiler
Dmitrii Volosatov
Dmitrii Volosatov@volosatovde·
Five months ago, I had 0 followers. Today, I have 1,100. BuildInPublic is paying off. Thank you to everyone who follows me. Just getting started
Dmitrii Volosatov tweet media
English
13
0
23
552
Zheng404
Zheng404@Zheng404·
One month of building ChatBuddy. - v0.0.x — basic chat, sessions, CI/CD - v0.1.x — MCP servers, auto title generation - v0.2.x — LaTeX/Mermaid, model capability inference - v0.3.x — image paste, search, structured backup #BuildInPublic #ChatBuddy #VSCode
Zheng404@Zheng404

Day 30 of building ChatBuddy. Rewrote the settings center using a modular file structure. Shipped a provider template picker modal with 7 preset options. Added native API support for Gemini, including streaming, tools, and multimodal capabilities. #BuildInPublic #ChatBuddy #VSCode

English
0
0
0
72
Zheng404
Zheng404@Zheng404·
Day 30 of building ChatBuddy. Rewrote the settings center using a modular file structure. Shipped a provider template picker modal with 7 preset options. Added native API support for Gemini, including streaming, tools, and multimodal capabilities. #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
87
Zheng404
Zheng404@Zheng404·
@rivestack Totally agree. The boring days are what keep the whole thing from falling apart later.
English
0
0
0
10
Rivestack
Rivestack@rivestack·
@Zheng404 the quality days never feel as exciting as feature days but they're the ones that stop you from drowning in bugs later. day 29 with a shipped release is solid pace
English
1
0
1
9
Zheng404
Zheng404@Zheng404·
Day 29 of Building ChatBuddy Today was a quality-focused day — tests, cleanup, and making things work right. And shipped v0.3.1 🎉 #BuildInPublic #ChatBuddy #VSCode
Zheng404 tweet media
English
1
0
0
18
Zheng404
Zheng404@Zheng404·
Day 28 of Building ChatBuddy Today I tackled a big thing: a new local backup system. Local Backup: - User-selectable backup directory with auto or manual backup - Configurable auto-backup interval (hours), max backup count, and max age (days) - Dual cleanup strategy: keeps backups within both count and age limits - Backup history with one-click restore or delete #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
17
Zheng404
Zheng404@Zheng404·
Day 27 of Building ChatBuddy — v0.3.0 shipped! 🚀 Yesterday's compass storage refactor was just the foundation. Today I finished everything needed to ship: - Structured ZIP backup — export and import all data (assistants, sessions, settings, API keys) as a single compressed archive. One click to backup, one click to restore. - About page in Settings Center — app info, version, author, links to marketplace and repo. Clean, native feel. - Project documentation — added comprehensive file-level JSDoc headers across the entire codebase for maintainability. The full v0.3.0 release includes everything from the past few days: multimodal chat (image paste), in-message search, session search, code copy, edit & regenerate, prompt variables, model capability inference, compass structured storage, and the hardened recovery layer. SQLite import is deprecated since 0.3.0 and will be removed in 0.5.0. Compass files are the default. Extension packaged and ready. Time to publish. #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
30
Zheng404
Zheng404@Zheng404·
Day 26 of Building ChatBuddy - Refactored the entire persistence layer into `compassStorage`, introducing dedicated session and settings stores, a KV store, and a SQLite-to-Compass migrator. - Hardened recovery logic and session ownership checks, and added tests to guard against the exact data-loss scenario from yesterday. - Deprecated SQLite import (since 0.3.0); it will be removed in 0.5.0. Compass structured files are now the default. Storage rebuilt. Notices polished. Tomorrow: ship it! #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
28
Zheng404
Zheng404@Zheng404·
Day 25 of Building ChatBuddy - While using it normally, I discovered that my data was lost. - That’s a strong signal that the current storage approach isn’t reliable enough. - Next step: redesign the persistence layer for better durability and safer data recovery. #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
23
Zheng404
Zheng404@Zheng404·
Day 24 of Building ChatBuddy - You can now paste images directly into the composer. Messages persist image data end-to-end (schema v3). - Added in-message search (Ctrl+F) with highlight + next/prev navigation. - Added session search by title and message content in the sidebar. - Added code block copy buttons with language labels. - Added edit-and-regenerate: edit a user message and regenerate from that point, with image context preserved. #BuildInPublic #ChatBuddy #VSCode
English
0
0
1
28
Zheng404
Zheng404@Zheng404·
Day 23 of Building ChatBuddy Shipped model capability persistence. - Model kind & capability data now persists at user scope — your inferred metadata survives across workspaces and sessions. - Added a full model registry covering 100+ models. Combined with yesterday's ~180 hardcoded entries, the fallback chain is now robust enough for any provider. - Settings center now renders kind pills and capability tags on every model row — vision, reasoning, tool-use, web search — so you can see what each model can do at a glance. - Squashed a noisy unhandled rejection from VSCode's lifecycle. Clean logs FTW. #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
13
Zheng404
Zheng404@Zheng404·
Day 22 of Building ChatBuddy Added a three-layer model capability inference engine. - Every model now carries two dimensions: Kind (text, image, video, audio, embedding, rerank) and Capabilities (vision, reasoning, tools, web search). Non-text models are automatically excluded from chat selectors. - Inference priority chain: API response → hardcoded registry (~180 models) → regex pattern fallback. Existing data is auto-migrated on load. - Updated the registry with the latest models across all major providers — GPT-5.4, Claude 4.6, Gemini 3.1, GLM-5, Grok 4.20, Doubao Seed 2.0, Kimi K2.5, and more. - Kind pills and capability tags are now visible on every model row. #BuildInPublic #ChatBuddy #VSCode
Zheng404 tweet media
English
0
0
0
16
Zheng404
Zheng404@Zheng404·
Day 21 of Building ChatBuddy Reworked the Settings Center layout from top to bottom. - Replaced the left sidebar navigation with a horizontal top tab bar — cleaner and more space-efficient. - Split the provider editor into two sub-tabs: Config (credentials, base URL) and Models (manual + fetched). Each gets its own focused workspace. - Added scroll arrows for tab overflow and responsive stacking for narrow panels — settings look good at any width. - Silenced autosave status flicker during model operations. Less noise, same reliability. #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
25
Zheng404
Zheng404@Zheng404·
Day 20 of Building NONE No code today — sometimes life comes first. Spent the day handling family matters. Back at it tomorrow. #BuildInPublic #ChatBuddy #VSCode
English
0
0
1
25
Zheng404
Zheng404@Zheng404·
Day 19 of Building ChatBuddy Spent today cleaning up model management and release flow. - Split provider model setup into two clearer paths: manual models you manage yourself, and remote models you add from a fetch modal. - Added loading and autosave feedback so provider configuration feels much clearer. - Tightened the release process with proper changelog checks and synced GitHub release notes. #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
14
Zheng404
Zheng404@Zheng404·
Day 18 of Building ChatBuddy Today was one of those less visible but important days. I spent most of the day refactoring some of ChatBuddy’s biggest modules, cleaning up how locale-aware commands and menus are maintained, and making the codebase a lot less heavy without changing how the app behaves. Not the flashiest update, but it should make everything easier to build on from here. Tomorrow’s plan: add support for custom models. #BuildInPublic #ChatBuddy #VSCode
English
0
0
1
11
Zheng404
Zheng404@Zheng404·
Day 17 of Building ChatBuddy Spent today tightening up performance and reliability. - Cached state and session lookups during streaming so the app does less repeated work. - Reduced unnecessary webview re-renders with message signature caching and per-message HTML caching. - Tuned stream update timing to make chat feel smoother and less noisy. - Cleaned up stale MCP connections and improved panel lifecycle handling. A lot of this work is invisible, but it makes every conversation feel faster and more solid. #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
15
Zheng404
Zheng404@Zheng404·
Day 16 of Building ChatBuddy Today was all about runtime polish and reliability. - Refactored the provider runtime: unified request posting and SSE parsing for both /chat/completions and /responses. - Improved streaming UX in the chat webview with throttled state updates and cleaner panel lifecycle handling. - Added coverage tests for stream parsing and chat panel behavior, and wired test:unit into npm test. Better runtime = more reliable conversations. #BuildInPublic #ChatBuddy #VSCode
English
0
0
0
17
Zheng404
Zheng404@Zheng404·
@TTrimoreau 4 has to come before 1. How do you validate with potential users if you don't even know who they are?
English
1
0
2
12
Thomas Trimoreau
Thomas Trimoreau@TTrimoreau·
When you launch a new SaaS or app, what is the very first thing you do? 1. Validate the idea with potential users 2. Build a quick MVP 3. Set up a landing page and collect emails 4. Define the target audience and positioning 5. Start talking about it publicly (build in public)
English
59
5
59
3.2K