Skip to content

For AI agents: /llms.txt

About Nathan's AI

How Nathan's AI works, what it can answer about Nathan Brodin's experience and projects, and the stack behind this interactive portfolio.

Last updated

Nathan's AI is an interactive portfolio for Nathan Brodin, a frontend engineer. Instead of reading a static page, you can ask questions about his experience, projects, and the way he builds for the web. Answers stream back from a language model and can include links, sources, and short follow-up questions.

How it works

Each message is sent to a chat endpoint, where a language model writes the reply. While answering, the model can use tools:

  • Web search for current information beyond its training data.
  • Web fetch to read a page and summarize it.
  • GitHub repository lookup for public project stats such as stars, forks, open issues, and primary language.
  • Clarifying questions when a request is ambiguous.

Replies stream token by token, so you can read them as they arrive. Completed conversations are saved and can be shared with a public link. See the privacy page for what is stored and who processes it.

What to ask

  • Nathan's experience, roles, and the problems he works on.
  • Projects, architecture, and the trade-offs behind them.
  • The stack, tooling, and workflow he uses day to day.
  • How he approaches performance, accessibility, and design systems.
  • Whether he is available for work, and how to get in touch.

Answers reflect the model's interpretation of the context and tools available to it. For anything important, verify the details against the portfolio, the resume, or by contacting Nathan directly.

Who built it

Nathan's AI is designed, built, and maintained by Nathan Brodin. He is a frontend engineer focused on fast, accessible product interfaces. You can find his work on the portfolio and his code on GitHub.

Technical stack

  • Framework: TanStack Start with React and TypeScript, rendered on the server and hydrated in the browser.
  • UI: Tailwind CSS and shadcn/ui, with Cal Sans and Geist Mono.
  • AI: Vercel AI SDK with OpenRouter as the model gateway for streaming, tool calls, and token usage.
  • Data: PostgreSQL with Drizzle ORM. Conversations are stored as JSON message history with metadata.
  • Rate limiting: Upstash Redis.
  • Hosting: Vercel.

Source

The project is open source under the MIT license. Read the Chat source code on GitHub, browse the AI-readable site index, or check the privacy page.

Frequently asked questions

Is this Nathan's real portfolio?

Yes. It covers the same experience, projects, and technical background as Nathan's portfolio at https://brodin.dev, presented as a conversation instead of a set of static pages.

Does the AI speak for Nathan?

No. Replies are generated by a language model from the context and tools available to it. They are not statements written or approved by Nathan, and they can be incomplete or wrong.

Are conversations public?

Yes. Saved conversations can be read by anyone with the link, and recent conversations are listed on the site. Do not share passwords, private documents, or anything you would not want to be public.

What can I ask?

Ask about Nathan's experience, projects, technical decisions, stack, workflow, or availability. The assistant can also search the web and read pages when a question needs current information.

Is the source code available?

Yes. The app is open source under the MIT license at https://github.com/NathanBrodin/Chat.