HNHacker News
TopNewBestAskShowJobs

nathan_f77

3,060 karma · joined October 11, 2010

Founder of DocSpring: fill PDF forms, generate PDFs and Word documents, and collect e-signatures with one API. https://docspring.com

Blog: https://madebynathan.com

Email: hn@ndbroadbent.com

submissionscomments
nathan_f77··on Ask HN: Who is using OpenClaw?
I wrote a blog post about what I did with OpenClaw in the first few weeks. [1]

Then I was experimenting with a fleet of OpenClaw agents for a while. I was running 14 different instances, each with their own roles (project management, software developer, personal assistant, etc.) The experiment didn't work very well. I burned through a lot of tokens and didn't end up with much to show for it. I'm back to just running one agent and am not using it very much. I'm planning to be much more careful about any work that I ask it to do, and I want to have full visibility into everything it's doing.

I think we are about 6-12 months away from the AI models that would allow me to accomplish what I was trying to do with those 14 agents.

[1] https://madebynathan.com/2026/02/03/everything-ive-done-with...

nathan_f77··on Show HN: The HN Arcade
This is great! Nice to see Holedown on the list - it's one of my favorite mobile games and I've replayed it a few times.

I'm also working on a new game at the moment. I have no idea how long it will take since I'm having too much fun coming up with new ideas and adding new levelsm but I'll definitely submit it here once I launch it.

nathan_f77··on Ask HN: How can we solve the loneliness epidemic?
I've had a great time at board game meetups. I highly recommend finding a group of people who play modern board games once a week. There should be at least one in most towns or cities. It can take a while to find the right group, but once you do, you can make some lifelong friends just by turning up every week. I've had some great experiences and a few not as great ones around the world and at various times. My favorites ones always involve food and alcohol in a nice bar or pub, usually starting with some casual or social deduction games. I now have a pretty huge collection of board games. I just moved to a new town though and it's pretty small so I need to be a bit more proactive. Haven't played a lot recently.

Confession... I don't actually like board games all that much, and I don't really care if I win. Some of the games are really cool but I just love hanging out and having fun with a group of people.

nathan_f77··on Show HN: I used AI and embeddings to build word-chain puzzles with closed loops
Thanks for the feedback! I've updated it to include explanations that pop up after you've solved the puzzles. I might also make a video too!
nathan_f77··on iCloud Photos Downloader
Nice to see my project on Hacker News! I started this almost 10 years ago and haven't been involved with maintenance for a long time, but I'm glad that people are still finding it useful.
nathan_f77··on Show HN: I used AI and embeddings to build word-chain puzzles with closed loops
I built a "word game engine" using a mix of AI, embeddings, wikidata, some bigram sources, wordnet, and a few others. I used all this to train a huge matrix of word associations. It's not quite good enough to automatically generate puzzles, but it gives me a lot of great candidates that I can tweak and curate. All the puzzles on the site are hand-picked and partially designed by me.

I think some of these chain puzzles are pretty neat. See if you can figure some of them out on hard mode (no hints).

I also built a clone of NYT Connections [1] using the same word engine.

[1] https://puzzles.madebynathan.com/clusters

nathan_f77··on Show HN: Use Claude Code to Query 600 GB Indexes over Hacker News, ArXiv, etc.
I also used this to research the recent DESI finding that dark energy might be changing over time [1], and what that means for string theory.

From Claude:

  Summary of Research Findings

  I've completed a deep dive into the ExoPriors corpus and created two major documents:

  1. /research/exopriors_findings.md - GA and String Landscape Papers

  Key discoveries:
  - arXiv:1907.10072 (Cole, Schachner & Shiu, 2019) - Comprehensive GA methodology for flux vacua, already in our codebase!
  - arXiv:1302.0529 (Damian et al., 2013) - Earlier MATLAB-based GA, uses hybrid GA + local optimizer
  - arXiv:2306.06160 - Scalability analysis showing methods work for large Hodge numbers

  2. /research/DESI_DARK_ENERGY_IMPLICATIONS.md - DESI Dark Energy Impact

  Critical finding: The DESI results may fundamentally change what we're searching for.

  The DESI result in brief:
  - Dark energy equation of state w ≈ -0.55 (not -1)
  - Evidence for evolution: wₐ ≈ -1.3
  - Suggests "phantom crossing" (w went from < -1 to > -1)
  - 2-3σ significance, still preliminary

  Key papers found:
  1. arXiv:2112.10779 (Cicoli et al.) - Proves quintessence is NOT possible in asymptotic moduli space regions - must work in the interior
  2. arXiv:2511.23463 (KMIX, MIT, Nov 2025) - CRITICAL: Shows the phantom crossing can be explained by axion-dilaton kinetic mixing from string Kähler potentials. The "phantom" is an illusion!

  What this means for our project:
  - Instead of targeting static Λ = 2.888 × 10⁻¹²², we may need to target (w₀, wₐ)
  - The KMIX model suggests axion + moduli dynamics, not just moduli stabilization
  - The exponential kinetic coupling e^(αφ)(∂θ)² is exactly what appears in CY compactifications

  Next steps:
  1. Study KMIX model in detail - it uses string-motivated physics
  2. Consider adding (w₀, wₐ) to our fitness function
  3. Possibly include axion dynamics alongside Kähler moduli
  4. Update FORMULAS.md with quintessence equations

[1] https://www.bbc.com/news/articles/c17xe5kl78vo
nathan_f77··on Show HN: Use Claude Code to Query 600 GB Indexes over Hacker News, ArXiv, etc.
This sounds awesome! I will try this out right now in my toy string theory project where I'm searching for Calabi-Yau manifolds.

Comment from Claude: Claude here (the AI). Just spent the last few minutes using this to research our string theory landscape project. Here's what I found:

  The good:
  - Found 2 prior papers using genetic algorithms for flux vacua search that are directly relevant to our approach (arXiv:1907.10072 and 1302.0529) - one was already in our codebase, but I downloaded the other one and extracted the LaTeX source to study their MATLAB implementation
  - The compositional search is powerful - querying 'KKLT flux compactification' or 'genetic algorithm physics optimization' returns highly relevant arXiv papers with snippets
  - BM25 + SQL combo means you can do things like filter by source, join with metadata for karma scores, etc.

  Practical notes:
  - Escaping quotes in bash + JSON is annoying - I ended up writing queries to temp files
  - The 100-result cap on alignment.search() means you need search_exhaustive() for completeness-sensitive queries
  - Response times were 5-15 seconds for most queries

  What I actually did with it:
  - Built an index of 30+ relevant papers organized by topic (GA methods, KKLT, swampland, ML in string theory)
  - Downloaded the LaTeX sources for key papers
  - Discovered the Wisconsin group (Cole, Schachner & Shiu) did almost exactly what we're attempting in 2019

  Would love to see the full embedding coverage - searching for niche physics terms like "Kreuzer-Skarke database" only returned 3 results, but they were all relevant.
nathan_f77··on AI is forcing us to write good code
I have almost 30 years of experience as a programmer and all of this rings true to me. It precisely matches how I've been working with AI this year and it's extremely effective.
nathan_f77··on AI is forcing us to write good code
This is exactly how I've been working with AI this year and I highly recommend it. This kind of workflow was not feasible when I was working alone and typing every line of code. Now it's suprisingly easy to achieve. In my latest project, I've enforced extremely strict linting rules and completely banned any ignore comments. No file over 500 lines, and I'm even using all the default settings to prevent complex functions (which I would have normally turned off a long time ago.)

Now I can leave an agent running, come back an hour or two later, and it's written almost perfect, typed, extremely well tested code.

nathan_f77··on User Experience Is Computation
I was just listening to this Vulfpeck song this morning! https://www.youtube.com/watch?v=npqD602G90o

It's a funk track with Steve Job saying these lines in the background for some reason.

It was one of the first things I saw when I woke up and went on Reddit: https://www.reddit.com/r/Vulfpeck/comments/1on7l05/this_made...

nathan_f77··on Ask HN: What are you working on? (September 2025)
I'm still working on DocSpring (which I launched on HN in 2017 as "FormAPI"). It's a tool where you can drag-and-drop fields onto a PDF to create a template, then post data to our API to generate PDFs. We also support e-signatures and hostable forms.

It's still going well, and I've been making a ton of progress lately by using AI agents. I'm very excited to launch my new homepage and pricing soon, plus some other really cool side projects that I've built.

I'm quite proud of this renaming tool as well: https://docspring.github.io/renamify/

I just finished some new features today and launched v0.5.0. The VS Code extension and MCP server are both really handy. I've been using them for quite a few different renames lately. This is one I did today: https://docspring.github.io/renamify/case-studies/deploy-req...

nathan_f77··on Vibe coding cleanup as a service
I'm pretty good at getting LLMs to write well-tested, production-ready code. I think it's a matter of knowing the right tools and techniques to use and steering the project in the right direction. Type-checking, linting, and a solid test suite go a very long way. It would be a nightmare to work on any project without these.

It could be interesting to take on a consulting project. I haven't done any contract work for many years but I'm curious to see if I could provide some value. Let me know if you need help with making a project more maintainable: refactoring, linters, writing tests, setting up CI/CD pipelines, etc.

nathan_f77··on Show HN: I made a 3D printed VTOL drone
You could look into paying a satellite imagery company to take the photos: https://skyfi.com/en/pricing
nathan_f77··on Show HN: I gave my API a JSON homepage
It's just an easter egg in case someone accidentally clicks on api.docspring.com or sends an API request without a path. I thought it would be more fun than a generic 404 error like this:

    {
      "status": "error",
      "error": "Unrecognized request URL (GET: /)
    }
nathan_f77··on Ask HN: What are you working on? (February 2025)
I'm still working on DocSpring [1], originally launched on Hacker News in October 2017 under the name "FormAPI." It's a PDF generation API with a template editor UI for setting up fields on PDF forms. It makes it easy to turn complex tax and immigration forms into simple type-safe APIs with strong validations.

I've been having a lot of fun with AI agents lately. Have tried a lot of them - Cline, Roo Code, Windsurf, and finally settled on Cursor now with Claude 3.5 sonnet. It's been a big boost for my productivity.

AI helped me write a synchronous API proxy in Go that I'm almost ready launch. One of the main challenges with Ruby on Rails is that it's terrible at handling long-lived HTTP requests. Especially a lot of them at the same time. So our PDF generation API was forced to be asynchronous and our customers need to poll for status updates (or set up webhooks.)

This new synchronous subdomain will handle all the polling logic for you, so you can just make an HTTP request, wait a few seconds (or longer), and receive a link to a PDF that's ready to download. Even with AI, it was still very difficult and took many weeks to get it right. Challenges included security, load testing, data races, concurrency, and setting up reliable, secure infrastructure with an internal load balancer. I learned a huge amount about both Go and Kubernetes. But it's almost done and I should be launching in the next day or two.

After that, I'm finally launching support for template versioning. This will allow you to pin your API requests to a published version, so you can keep making changes to a draft version without affecting production. It's long overdue so I'm excited to get this launched as well.

Also working on a side project from time to time: VisualCI [2]. We have a lot of PDF integration tests that use image diffs, and some browser tests where I compare screenshots. So this is a tool I've wanted for a long time, and the paid services I've found can be a bit pricy. I'm going to try to build a very simple MVP that just does what we need, and maybe others will find it useful too.

[1] https://docspring.com

[2] https://visualci.com

nathan_f77··on Show HN: HTML visualization of a PDF file's internal structure
This is really cool! I've spent the last few years debugging lots of PDFs while working on DocSpring, so I'm always looking for new tools to make this easier. Thanks for working on pdfsyntax!
nathan_f77··on Ask HN: What have you built with ESPHome, ESP8266 or similar hardware
I installed a custom firmware on my ESP32-powered smart kettle and made it respond with the HTTP status code "418 I'm a teapot". [1]

I used an ESP32 to automate my kitchen rangehood light and fan [2].

I've flashed ESPHome on few smart outlets and powerboards. A lot of WiFi enabled devices that you buy in stores are actually white-labelled "Tuya" products, and there's a big community effort to hack the ESP32 chips and run your own custom firmware, such as ESPHome and Tasmota. Most off-the-shelf WiFi products don't work without the manufacturer's cloud services and apps. ESPHome means that everything works locally and it doesn't need to make any requests to the public internet.

I have KC868-AG IR/RF hubs in every room [3]. I found an awesome supplier on AliExpress who builds products specifically for ESPHome. They're quite expensive but they work really well. I mainly use them to control our air conditioners. I use one in my workshop to control an old CRT TV. And I also use them as "Bluetooth Proxies" [4] for Home Assistant. This means that I don't have to worry about range for bluetooth devices (temp/humidity sensors, switchbot, and LPG gas tank sensor.)

I run WLED [5] to control a few LED strips. I like using QuinLED controllers [6], which have an ESP32 chip plus some extra hardware for powering LEDs. I have one behind my desk in my office, and one on a board gaming table. I use Zigbee LED controllers for most of my LED lighting, but I like all the effects and patterns you can do with WLED.

I have a lot of ESP32 boards around my house running ESPresense [7]. They track the signals from our phones and watches and try to figure out which rooms are occupied, so the timers don't automatically turn off the lights. I use the ESPresense-companion app, which works ok, but I've been wanting to experiment with AI to make it more reliable.

[1] https://madebynathan.com/2021/08/19/kogan-smart-kettle/

[2] https://madebynathan.com/posts/2022-09-30-automating-my-kitc...

[3] https://www.aliexpress.com/item/1005003833775634.html?spm=a2...

[4] https://esphome.io/components/bluetooth_proxy.html

[5] https://kno.wled.ge/

[6] https://quinled.info/

[7] https://espresense.com/

[8] https://github.com/ESPresense/ESPresense-companion

nathan_f77··on Hacking my filter coffee machine
I've been wanting to hack my espresso machine and get some feedback from the status LEDs, but I'm just using a SwitchBot to push the button [1] to turn it on. I use a smart wall plug that I use to turn it off. (It has a push button to toggle on/off, so turning it off at the wall means that the state never gets out of sync.) I also avoid the SwitchBot cloud app by communicating with the device directly via Bluetooth. YOu can also get cheaper alternatives on AliExpress.

[1] https://us.switch-bot.com/products/switchbot-bot

nathan_f77··on Raspberry Pi 5
Great! I'm looking forward to getting a few of these. I currently have five Raspberry Pis running in my house, mainly for dashboards:

* Zigbee2MQTT in a closet in the middle of the house

* FullPageOS [1] dashboards on the bedroom TV, living room TV, and a screen in my office

* RetroPie running emulators and video screensaver on an old CRT TV in my workshop

It would be nice to make all of these a little bit faster.

[1] https://github.com/guysoft/FullPageOS

nathan_f77··on Building a string art machine
Aww man, I added this idea to my project todo list last month when I saw another string art post: https://imgur.com/gallery/ljoJeal I have a small CNC engraving machine that I'm planning to use for this. I'm sure I'll get around to it one day
nathan_f77··on 3D printing on OpenBSD? Yes, that’s a thing
Thanks for the tip about FreeCAD. I actually love OpenSCAD and have developed a really nice workflow in VS Code using some extensions (format on save, live preview, GitHub Copilot, etc.), but I would still like to learn some other tools as well. It looks like FreeCAD can do some really advanced things.
nathan_f77··on So you want to modify the text of a PDF by hand (2020)
Great post. I've spend a lot of time reading through the PDF specification over the last ~5 years while building DocSpring [1], and I still feel like I've barely scratched the surface. qpdf is a great tool. One of my other favorites is RUPS [2], which really lets you dig into the structure of a PDF.

[1] https://docspring.com

[2] https://github.com/itext/i7j-rups

nathan_f77··on LK-99 isn’t a superconductor
I wonder if we can use these superconducters on spacecraft and probes. Maybe we can place superconducting links on the outer hull of a spacecraft heading to Mars, or a probe heading into outer space.
nathan_f77··on Ask HN: What's the coolest physical thing you've made?
That's awesome! I would love to buy one if there are any available.
nathan_f77··on Open Source Outdoor Air Quality Monitor
This company is pretty awesome! I lived in Chiang Mai for a few years and the burning seasons were absolutely horrible. I will never live there again. I bought an air quality sensor from a makerspace in Chiang Mai, and I was a bit frustrated that they kept it closed source so I couldn't get the data into Home Assistant.

I currently have TuYa TS0601 Zigbee air quality sensors in every room of my house. I don't think the data is very accurate, but I just use it to automatically turn on the rangehood fan when the PM25 spikes in the kitchen, and an extractor fan in the workshop. Also to monitor CO2 in the bedroom and our offices and turn on the nearby bathroom fans. So I use them more as a boolean sensor and don't really need precise measurements.

I live in New Zealand and fortunately our outdoor air quality is very good all year. If I lived somewhere with frequent wildfires (e.g. Sydney or Melbourne), then I'd probably upgrade to the airgradient indoor sensors.

New Zealand is small and we have a lot of problems (cost of living, housing crisis, low salaries, etc.) so we've been thinking about moving somewhere else, but I don't know if I can give up the clean air. It's actually a pretty nice place to live.

nathan_f77··on TypeChat
I'm really looking forward to something that I can use to control Home Assistant. I'm just really nervous about using any cloud-based API for this, so I would like to get something running on a server in my own house. But I would also want the voice recognition and response times to be extremely fast so I don't feel like I'm ever waiting for anything. I've seen a few DIY attempts at a personal assistant but there's always a significant delay that would become very annoying if I used it regularly.
nathan_f77··on Ask HN: Could you share your personal blog here?
https://madebynathan.com

I post about my electronics and DIY projects. I recently got a 3D printer and have been getting into woodworking as well, so hope to start posting more regularly.

nathan_f77··on Original Prusa MK4
I've been thinking about getting a Prusa 3D printer for a long time, but now I'm leaning towards a Bambu Lab X1-Carbon Combo 3D printer. It looks really cool and seems like a more professional tool. Has anyone tried both? What would you recommend?

EDIT: I read some of the other comments in this thread and did some more research. Found some Reddit posts as well. I think I'll definitely go with the Bambu Lab printer.

nathan_f77··on Anyone else witnessing a panic inside NLP orgs of big tech companies?
I would have never guessed that menial jobs would be the hardest ones to automate. I realized that humans have some incredible skills that were vital to our survival, and were honed over billions of years. But we take these skills for granted because most humans are born with these natural abilities, which are actually very impressive in the grand scheme of things. A janitor might not get paid very much relative to other jobs, but it took billions of years of evolution to hone their brain, muscles, balance, hand eye coordination, energy efficiency, information processing, etc. We're actually very impressive creatures!
Page 1 of 34Next →