From frontend to
AI products
Here is the frontend, AI tooling, and full-stack work I've done, grouped by area with links to the corresponding projects and articles.
Frontend & cross-platform development
On the frontend, I mainly write React, Vue, and Next.js in TypeScript, and have also built apps with Flutter and Electron.
I care about how components are split, how state and data flow, and whether an interface reads and works well across devices. I pick tools to fit the job.
Read about concurrent token refreshAreas of focus
-
Web interfaces — organizing pages, components and interactions with React, Vue and Next.js.
-
Cross-platform apps — building apps beyond the browser with Flutter and Electron.
-
Types & state — using TypeScript to clarify data shapes and investigate asynchronous state and component lifecycles.
-
Interaction design — checking responsive layouts, feedback and keyboard interaction so features are understandable and usable.
-
Frontend engineering — using Vite, build tooling and reusable components to organize maintainable projects.
AI agents & developer tools
I'm interested in how AI fits into everyday development: organizing coding conversations, retrieving project experience and making that knowledge available to agents.
ChatCrystal puts this into practice: a local-first tool that turns AI coding conversations into notes and connects them to later workflows through semantic search, a tag graph, CLI tools and MCP.
Explore ChatCrystalAreas of focus
-
Conversation organization — turning scattered AI coding conversations into notes with titles, summaries and tags.
-
Semantic search — retrieving experience relevant to a problem through semantic search and related information.
-
Connected knowledge — using a tag graph to show how notes connect and make review easier.
-
Agent memory — letting agents retrieve and record reusable project experience through MCP.
-
Developer tools — using CLI tools, browser extensions and automation to address recurring development problems.
Full-stack delivery & engineering
On the backend, I write Python and Node.js, using automation scripts and Docker to take projects from local development to running services.
I focus on API contracts, configuration, failure states and maintenance costs. Docker and GitHub Actions help make builds, validation and delivery repeatable and easier to troubleshoot.
Explore Network Error ReporterAreas of focus
-
APIs & data — connecting frontend and backend services with clear requests, responses and error handling.
-
Container deployment — using Docker to organize runtime environments, service configuration and deployment.
-
Automation — using GitHub Actions and scripts for repeatable build and validation steps.
-
Performance & reliability — assessing behavior through actual loading paths, asynchronous state and failure cases.
-
Ongoing iteration — recording design tradeoffs, user feedback and validation results to inform the next improvement.
From a problem to a working solution
The rough order I follow when tackling a problem.
Understand the problem
Reconstruct the context, expectations and constraints to turn an unclear symptom into a testable problem.
Narrow the scope
Find a minimal reproduction and key variables, distinguishing causes, triggers and symptoms.
Implement & validate
Choose an appropriately scoped solution and check expected behavior, failure cases and boundaries.
Document & iterate
Explain the conditions and tradeoffs, improve the result through feedback and capture the lessons in code or writing.
Skills & collaboration
Clarifying the technical scope, communication and expectations.
Technology & writing
What areas do you work in?
Which technologies do you use?
Where can I explore your AI tooling work?
How do you validate an implementation?
How are English versions of articles published?
Communication & collaboration
How can we discuss a project?
Can we discuss things remotely?
Do I need a complete specification before contacting you?
When can you estimate the timeline?
How can I reach you?
Have a problem or a collaboration in mind?
Tell me the context, your goal and what you've already tried. We can start by discussing the direction and feasibility.