Hi all!
I built Spikelog because I kept wanting to track simple numbers over time but every time I looked at proper observability tools, I'd bounce off the setup complexity. I wanted to make something that didn't require a lot of thinking to use.
Spikelog is made to be as simple as possible:
- POST a JSON with chart name + value (you can add some tags as well but I've not tested this part works yet)
- Chart appears automatically
- 1,000 point rolling window per chart (old data expires, no retention config)
- Max 10 charts
That's basically the whole product.
I built it in about a day using Cursor. The API is intentionally minimal so AI assistants can use it too.
I have a prompt that lets your coding agent analyze a codebase and add tracking automatically (after you approve the plan).
I used it to make Spikelog track itself: https://spikelog.com/p/spikelog
There's no alerting yet (that's next), no complex aggregations, no dashboards beyond the auto-generated charts. If you need real observability use something fully featured like Axiom or Datadog. This is for people who just want to see if a number went up or down and don't want to build that themselves. i.e. they want something slightly better than just logging the number.
You can also share the charts publicly and I might add some password protection if there is demand for that.
I haven't battle-tested it under heavy load. The rolling window deletion is naive (deletes oldest points on insert). There are probably edge cases I haven't hit yet.
Would love feedback, especially if you try it and hit something broken.
This looks neat, thanks for building and sharing it.
I do agree that observability stacks are usually a deep pit of things to configure and services to run, but there are tools that simplify things considerably. I can personally vouch for OpenObserve, and I've heard good things about SigNoz as well. They're essentially a single-binary deployment, and all it requires is configuring otel-collector on each machine you want to send data from. I know that OpenObserve has a REST API as well, so you can just send the data via plain HTTP if you prefer to not use OpenTelemetry.
So while I'm sure your project is useful for very simple use cases, it will be difficult to support anything slightly more sophisticated. And you'll have to reinvent the wheel for most of this, of course. But good luck, regardless!
I find interesting that you have added the AI prompt as an example integration guide. Will this become a new trend that products not only provide API, SDK but also prompts for your coding agent of choice.
A lot of products are giving some agent instructions as a guide to using them... e.g. https://electric-sql.com/docs/agents
This really helps if they've had large version changes and the coding agents (without a search) only know about the old docs.
In that sense, adding prompt instructions for Spikelog feels like a natural extension of this trend. I mainly added them to share what worked for me when integrating another product with Spikelog.
> See Spikelog's own metrics ← Generated with one prompt
Ah, that's why it shows user count (an integer) as a floating point? Or is that an inherent limitation somehow?
Yep, that's not ideal... if all the numbers are integers, it would be better if Spikelog recognised the chart as a chart of ints and remove the floating points. Thanks for the feedback!
How did you go about building this? What was your process, and how did you use AI to aid you?
I used Cursor and Opus 4.5. What made it faster for me was symlinking in a few on-going projects that I've been working on which gave Cursor a reference for how I set things up in these projects.
I also have this method for helping Cursor see the realtime output of services I'm running while developing locally which really speeds things up: https://foundinglean.substack.com/p/the-best-improvement-ive...
This substack is pretty new for me, but I'm planning on sharing more things there which may (or may not) help others. Next article there will just be sharing the symlinking setup (not rocket science - but some people don't know ln -s exists).
So is this app essentially written by an LLM, not by you?
Coding agents might get there someday, but today they still need quite a bit of assistance.