← Back to portfolio
How I work with AI

Not a shortcut. A sharper tool.

AI=more output×higher quality

Used for
Research, prototypes, code
Agents built
Carga & Cori
Model
Claude
Rule
I decide, it drafts
01The Idea

Most people reach for AI to skip the work. I use it to do more of the work, better.

AI has a reputation for laziness: one prompt, an app in a browser tab, ship whatever comes back. That isn’t how I use it. For me it’s a set of tools inside a real workflow, the same way Figma, Unity or Git are, and the point isn’t to make the work easier. It’s to make it better.

It reads more research than I could, tries more directions than I’d have time to draw, writes the tests I’d be tempted to skip and finds the edge cases I’d miss. I still set the brief, the constraints and the bar, and nothing ships that I haven’t read, tested and understood. The result is more output, at a higher quality.

The shortcut
  • One prompt, one app in a browser tab
  • Ships whatever comes back
  • Nobody reads the code
  • Looks finished, breaks on real users
The tool
  • AI inside a real pipeline: repository, tests, review
  • I set the brief, the constraints and the bar
  • Every line read, every claim checked at the source
  • More directions explored, more edge cases caught
02

Where I use it

01

Assisted UX research

AI reads the whole pile (interview notes, feedback, support threads, competitor flows) and sorts it into themes and open questions. Then I go back to the sources, check each finding against what people actually said, and decide what is worth designing for. It widens what I can read; it doesn’t decide what matters.

Wider coverage, every finding checked at the source
02

MCP servers

The Model Context Protocol plugs an assistant straight into the tools I already work in, so it reads and acts on the real thing instead of a pasted description of it: design files, the browser, documentation, payment dashboards. Fewer round trips, and answers grounded in the actual project.

Figma · the browser · docs · Stripe
03

Quick prototyping

Clickable prototypes in hours rather than days, so ideas get judged on real screens, with real data shapes and real interactions, before anyone commits to building them. I explore several directions side by side, keep the strongest and rebuild it properly.

Judged on real screens before production code
04

AI agents

Assistants inside the products I build, on the Claude API: tools that read the product’s own data, and guardrails designed in from the first line rather than bolted on afterwards. Read-only by default, scoped on the server, private data kept out of the prompt.

Meet Carga and Cori ↓
05

Coding assistance

Claude Code as a pair programmer on real codebases. It drafts, refactors, writes tests and reviews; I steer, read every diff and own what merges. It’s how one designer ships production apps with data models, migrations, integrations and test suites, not just front-ends.

Silver Connection: ~66k lines of TypeScript, 61 migrations, 39 test files
03

Agents I’ve built

Two assistants, each built into a product I designed and engineered. Both run on Claude Sonnet 4.6 with tool use, both answer only from the product’s own data, and both were designed around what they must never do.

Carga

Silver Connection · Supply-chain analyst
Live with client brandsClaude Sonnet 4.6

Carga answers questions about a brand’s own supply chain in plain language: what is running out, what is overdue, what to reorder and when it would land. It pulls stock, orders, invoices and forecasts in parallel, cross-checks them, and ends with a link that opens the exact screen to act on.

Tools
15 read-only data tools, plus one that opens the right screen
Lives
A panel a click away on every screen of the dashboard
Runtime
Streaming answers with prompt caching
Carga
What do we still owe on PO-2026-051, and is any of it overdue?

Yes, one invoice is overdue. XGL-26051-2 from Xiamen Greenleaf Housewares is 8 days past its due date, with $6,080 still to pay. Both drops from this supplier are already in transit, so it’s the balance payment that has fallen behind.

The Harborline invoice ($1,048) isn’t due until 19 November.

Pay overdue invoice ↗
Carga is read-only and can make mistakes. Double-check important numbers.
A real answer on demo data, shortened

What it never does

  • Change anything. Every data tool is read-only. Its one action is opening a screen, so a person always makes the call.
  • See another client. The client is resolved on the server from the signed-in account, never by the model, and a test fails if any business table lacks a client id.
  • Write its own queries. It reads through the same data layer the screens use, never SQL it generated itself.
  • Run up a hidden bill. Every client has its own usage and cost meter.

Cori

TempoApp · Clinic assistant
Romanian & EnglishClaude Sonnet 4.6

Cori supports therapists and coordinators in a therapy clinic. It explains how to do things in TempoApp, looks up a child’s evaluations, recent sessions and plan goals, suggests where therapy might focus next, and drafts notes or goals as text for staff to adapt. It never acts on its own: it has no write tools at all. Every evaluation result also gets a one-click AI analysis that judges skills against the child’s age at the time.

Tools
Two, both read-only: find a child, then read only the sections it needs
Scope
One database and one API key per clinic, with a cost ledger down to each message
Loop
Up to six tool rounds per question, streamed word by word
Runtime
Two prompt-cache points, and only the app guide in the language in use
Cori · Guidance & clinical support
Summarise Maria’s progress this month.
Two children match “Maria”: M.I., 4 years, and M.S., 7 years. Which one do you mean?
The 4-year-old.

Maria (M.I.), 4 years

  • Sessions: 11 since 1 October: 10 present, 1 excused.
  • Plan goals: “Requesting with two-word phrases” in progress; “Turn-taking in play” achieved.
  • Latest evaluation (14 Sep): the clearest gains are in imitation and understanding language. Expressive language is still the lowest area.

You could add a short requesting target to each play session. It’s an option to weigh against your own observations.

AI can be wrong. Verify clinical guidance.
Illustrative example, invented names

What it never does

  • See who a child is. The records it looks up are pseudonymised on the server first: names become initials, birth dates become ages, and database ids become one-way hashes, because a raw id can spell out a first name and a birthday. A test makes sure no name-shaped id reaches the model.
  • Read what it doesn’t need. Parent contact details and free-text session notes are never sent, and billing is hidden from the model itself unless the person asking is an admin.
  • Answer the wrong person. The role is checked on the server: reception staff don’t get Cori, and there is no AI anywhere in the parent portal. Staff accept a versioned consent screen before the first question.
  • Make things up. No diagnoses and no invented scores or dates: every fact comes from a tool result, and suggestions are framed as options for the clinician.
04

Ground rules

01

I set the bar

AI drafts, explores and checks. The brief, the taste and the final call stay with me.

02

A real pipeline, not a chat tab

Everything lands in a repository with version control, tests and review, like any other work.

03

Read every line

If I can’t explain a line of code or a claim in a summary, it doesn’t ship.

04

Guardrails by design

My agents are read-only by default, scoped on the server and given only the data they need to answer.

05

Private data stays private

Client data never goes into a prompt for a demo. The Silver Connection screenshots on this site were captured by an agent on an invented brand, on a throwaway database.

06

Better, not just faster

Speed only counts when it buys quality: more directions explored, more edge cases tested, more time for the details people notice.

05

Built this way

Supply-chain platform

Silver Connection

A managed supply-chain service, live with client brands: the data model, the Shopify integration, imports that roll back per batch, and Carga.

~66k lines · 61 migrations · 39 test files
Therapy clinic SaaS

TempoApp

A multi-clinic platform for therapy centres: staff workspace, parent portal, billing and team pay, analytics, and Cori.

One database per clinic
Content platform

Armonio

A free library for parents of children with autism, ADHD or developmental delay, with a custom CMS that turns a markdown guide into a pre-rendered page.

Next.js · Firebase · Tailwind CSS
This portfolio

stefandinca.ro

Built with the Claude Code CLI: the galaxy, the scroll ruler, a showreel rendered frame by frame from code and a CV printed from the same design system.

Vite · vanilla JS · canvas
06

Toolkit

Assistants
ClaudeClaude Code CLI
Building agents
Claude APIAnthropic SDKTool useStreamingPrompt cachingStructured output
Connected tools
MCP serversFigmaBrowser automationStripe

Interested in working together?

Get in Touch →