My End of 2024 Update
What I've been working on the last two years, and what I'm working on now
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a443626-e3aa-4333-b983-85bd665edf9d_1024x768.jpeg)
Dear readers,
I am excited to be back on the blog for the first time since September 2023. In this post I hope to catch you up on the software projects I’ve undertaken in the last two years, and to introduce my upcoming research endeavors.
TLDR for the time-sensitive human-programming fan: Human programming (the research area) is back - I'll continue to build programmatic reflection and planning systems, but now the target user will be LLMs, not humans. In tandem I'm excited to explore the frontiers of related research areas in neuro-symbolic AI, and look forward to posting about all of the above, right here on this blog.
Now, let’s return to late 2022…
InstructionKit
After publishing the human-programming tool Methodable, I teamed up with my friend Chris to build a more marketable version called InstructionKit.
What was our vision? While Methodable helped with self-guidance for personal productivity, InstructionKit focused instead on guiding others, aiming to be a simple platform on which businesses could create instructional and data-collections flows. This demo, built in the InstructionKit playground, shows the initial rich-text-editor/flowchart authoring experience. And here’s a deployed InstructionKit guide in the wild, helping people choose the right tires for their newly lifted Prius!
After building the v1 shown above, we pivoted towards a developer-focused product and built various domain-specific languages to facilitate the creation of interactive guides. My favorite was "JFX", a variant of JSX that carried data not just down but all the way around the UI component tree, allowing the developer to more easily mix sequential flows with JSX's regular markup and logic. Or to put it visually:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f6af483-f62f-4adc-9e73-8adfccc9a848_988x966.png)
Unfortunately I never got to publish JFX, and eventually we dropped InstructionKit since we each had promising part-time engagements which eventually outweighed our excitement for the startup…
The Digital Abacus
Last I blogged, I was working on my first consulting engagement, The Digital Abacus, which was another fun opportunity for me to build a spatial-programming web tool. I enjoyed that my entire involvement was via pair-programming video calls, so my collaborators and I could be creative together and iterate on our ideas quickly.
Galileo by the Josh Bersin Company
Around March 2023, while I was still working on InstructionKit and The Digital Abacus, I found myself at Movement Athletics of Pasco, Washington for a rollout of InstructionKit as a tool for employee SOPs (long story). I got a call from Josh Bersin (of The Josh Bersin Company) who was hoping to create an AI system to help people access his company's extensive HR research corpus.
In a few days I put together a retrieval-augmented generation (RAG) app that parsed, indexed and queried the company's PDFs, and we soon took the product into beta testing. As this was the early days of RAG I had to figure out a lot on my own, and was especially proud of the query-routing system I built which could selectively search against document metadata or document content, allowing the system to serve as both an advisor and a librarian.
Eventually I helped The Josh Bersin Company transition this product (now called Galileo) onto Sana Labs’ AI platform. After the transition I continued working with the company to build internal content systems and advise on technical strategy.
AI agents and spreadsheets at Sana Labs
The team at Sana were impressed by my work, and in November 2023 hired me to develop experimental additions to their enterprise AI platform. First I built their transactional multi-step AI agent system, allowing Sana’s users to do things like update Salesforce records based on a meeting, query SQL databases with natural language, and generate Google docs from a conversation. I presented on this system's design at the OpenAI DevDay London conference in a talk titled Architecting Multi-Talented General Agents:
Next I built Sana's "Sheets" feature: a spreadsheet for repeatable LLM workflows, and an AI agent to configure the spreadsheet for you. The Sheets project was also a zero-to-launch endeavor, and is now being used to various effects by Sana's enterprise customers (e.g., to extract data from pitch decks). I particularly enjoyed designing the engine that powers the sheet, which stores the computational state of the spreadsheet as a single immutable data structure and re-calculates cells automatically as upstream values change.
Transitioning towards exploration
Each of the consulting engagements described above has been wonderful for me in its own way. I got to pour my passion into designing and building ambitious web tools and AI products, and did so in a variety of collaborative environments: a non-profit research lab, a respected HR advisory firm, and a fast-paced AI startup. Though much of my work was remote, my clients brought me to conferences in SF, LA, and London, and at times I got to work alongside wonderful folks in Stockholm and New York. Along the way I set up my LLC Harmonic Software and learned to manage my contracts with increasing professionalism, creating a successful independent business.
I feel deep gratitude for these experiences and for my clients who have continuously put their trust in me. At the same time, managing projects across multiple companies has taken up a lot of energy, and in recent months I've felt a desire to open up space for exploration in my career. To that effect, I have substantially reduced my consulting commitments, moved to New York, and will be joining the community at Recurse Center once more, this time in-person, for a three-month retreat in which I'll pursue my AI passion projects full-time.
A preliminary research focus for 2025: self-modifying programs
I am excited to pursue projects that combine AI research with product development. In the process I aim to develop a more holistic understanding of the theory underlying both machine learning and symbolic AI, including the landscape of AI alignment research.
As a concrete starting point, I will continue work on an ongoing project which extends the human-programming ideas to the realm of AI agents. In particular, I aim to build a general-purpose AI agent which operates as a self-modifying collection of programs. This strikes me as a very natural way to conceive of an artificial mind, and yet I haven't come across any compelling efforts to do so - the closest I've seen is in the STOP paper (Self-Taught Optimizer (STOP): Recursively Self-Improving Code Generation), which describes a strictly controlled experiment (which is still very interesting), rather than the kind of messy engineering effort which I imagine would be necessary to bootstrap the kind of system I have in mind. I am excited to learn, though, of other related projects and papers.
Self-directives and intention to blog
I am open to my projects going in a variety of directions, and am excited to follow my passions wherever they lead. Most importantly, I am excited to operate under Recurse Center's self-directives: work at the edge of your abilities, build your volitional muscles, and learn generously. In particular, learn generously will be relevant to this blog: regardless what I end up producing, I hope to share about each interesting part of the journey with you. I would be honored if you learn generously along with me by engaging with my posts and letting me know your thoughts along the way. This blog will be one of many ways in which I hope to put myself out there and connect with people, which is perhaps the most concise summary of my goals for the new year.
I hope you have a wonderful 2025, and I look forward to seeing you next time.
Daniel
Super inspiring Daniel! Makes me want to get out there and pursue more interesting work :) excited to read about your future projects
Awesome stuff, super fun to read about it your journey!