Latest Updates

2025-01-07

🔗

Building

  • Most of my time lately has been spent between my new startup and my new baby, but when I can squeeze in some free time I'm trying my hand at an autonomous programming agent based around Aider. First attempts with prompts I found from elsewhere were just mediocre, but I'm thinking something like this:
  • Aside from Aider's internal repo map, I'll create a list of all the files in the repository and use an LLM to create a short description of each one.
  • Core loop:
    • Get a task from plan.md
    • Use file_map.yaml to ask about relevant files, add these to Aider.
    • Generate a plan to implement this task. Lay out the interfaces between the frontend and backend, but do not generate any code except for type definitions.
    • Generate integration tests for the plan
    • Generate the frontend code based on the plan.
    • Generate the backend code based on the plan and the generated frontend code.
    • Check types and edit until type checks pass
    • Generate unit tests for the code
    • run/edit loop on tests
    • once tests pass, run format step
    • run postmortem step updating docs and lessons
    • update file_map.yaml file to describe any newly added files or files that
  • As I make progress on this I may need to also come up with a system for developing detailed plan documents for each task. It can be done in ChatGPT/Claude but it gets a bit hard to manage all the different feature-specific chats all in one, and it would be nice to have this live alongside the actual coding agent and be informed by the repository structure.

2024-07-11

🔗

Learning

Today I read StateFlow: Enhancing LLM Task-Solving through State-Driven Workflows. This paper talks about using state machines to explicitly model the problem that an agent is trying to solve. They got great results, and I agree that it's a good way to go about solving a problem, but I'm not sure what's really new here. Maybe it's just my background, but using state machines to direct the high-level behavior of your agent feels like a very obvious thing to do, and a lot of people in the LLM space have been talking about it for a while now.

See more daily updates...

About Me

Work

I'm currently taking some time off, but previously I co-founded and spent nine years working on Carevoyance (acquired by H1 Insights), a sales acceleration tool that analyzes healthcare data and enables healthcare sellers to zero in on their best prospects and generate custom reports and insights with just a few clicks.

I spent most of my time there creating new data analyses, working on the backend API and database systems, and developing tooling to research data anomalies and automate repetitive tasks. I also successfully transitioned the entire frontend application from AngularJS to SvelteKit.

In the past I worked almost exclusively in C++ and various assembly languages. Now that I'm more in the web ecosystem, I'm mostly writing Javascript for work, using Rust when I can justify it, and grudgingly dealing with Python's package system for AI/ML work.

Before starting my own venture, I interfaced with advanced network switching chips at Arista Networks and worked on JTAG hardware debuggers and embedded operating systems at Green Hills Software. Running a small startup feels very different from working at these companies, and it has its ups and downs, but I love it.

Life

I usually have a few side projects going on, and I have a selection listed on my projects page. There you'll find a bunch of data workflow stuff, a personal dashboard, an AI assistant to amuse my kids, and other things in various states of done-ness.

Sometimes I wish I could code all day and night, but when not hacking on something or spending time with my family, I enjoy good coffee, nature photography, reading nonfiction and sci-fi, and improving my nascent design and UX skills. I'm also active in my church and run the sound board there every few weeks.

Where to find me

Twitter is probably the best way to contact me. You can also email me at daniel at this domain or find me on Github.

About this site

The website is written using SvelteKit, Tailwind, and hosted on Vercel. Icons sourced from the Refactoring UI icon set and iconmonstr.

The prose content on this site is licensed under a Creative Commons Attribution 4.0 International License. The code can be viewed on Github. The underlying code as well as all code examples are licensed under the MIT license.