Cover photo

Happy Hacking v0.0.10

Community summarisers, understanding the coordination problem, bug fixing and getting out in the world.

Hey Builders 👋👋

It’s your favourite tab button developer monkey, Andy, back with another edition of Happy Hacking. The Lab is on fire (in a good way), and we’re running out of test tubes. Shall we?

Steve Joined the Party—Now He Won’t Stop Talking About It

Two weeks ago, Steve Joined the Party. Since then, we’ve been honing our prompt engineering skills to make sense of the data we’ve collected. Here’s how we're doing it:

  1. First, we fetch all “memories” from the past week in our data store. Here’s a example of what a memory looks like:

[
  {
    "id": "e6411868-28d7-0173-a9f2-a310a6158784",
    "type": "messages",
    "createdAt": "2025-01-16 15:53:43.992+00",
    "content": {
      "url": "https://discord.com/channels/932238833146277958/1168382458929098783/1329478702307872920",
      "text": "Thanks team for all your hard work.",
      "source": "discord",
      "attachments": []
    },
    "embedding": "[0.06096679,0.046528477,0.006353536,-0.0042828377,-0.03534897,-0.062324625,0.017244503,0.03186386,-0.033176433,-0.028967146,0.038879342,0.019982804,-0.04186658,-0.026658826,0.023694219,0.023626328,0.013476511,-0.03175071,-0.045623254,0.020254372,-0.011688696,-0.04666426,-0.00051626016,-0.007790578,-5.834447e-05,-0.018387347,-0.02292478,-0.005889609,0.049560975,-0.01982439,0.007213498,-0.026545674,0.032316472,0.03186386,0.028220337,-0.009657601,-0.024712596,-0.019699922,-0.0068514086,-0.015603786,0.02835612,-0.055309143,0.04164027,0.056214366,-0.024169462,-0.010415725,-0.07522406,-0.01963203,0.010059294,0.02912556,0.027677203,-0.017753692,0.019598084,0.050964072,0.0061272304,-0.022019556,0.029668694,0.069747455,-0.0034426774,-0.043292303,0.030076044,0.002681724,0.033289585,0.007106003,-0.02410157,-0.021974295,-0.021261431,-0.01475514,0.01804789,-0.03695574,0.020469362,0.030936006,-0.002691625,-0.02444103,0.011982894,-0.0091710435,0.016882414,0.012627865,-0.0029334892,-0.030981267,...]",
    "userId": "d25effd0-b284-00fb-ad1f-0e1968a3f452",
    "agentId": "9ce5770b-3bb4-02a1-959b-e2d97e34379c",
    "roomId": "df11d03d-4ce1-01fd-b308-6851de09d97b",
    "unique": true
  },
]
  1. Gripping stuff, we know. Then we need to analyse all the messages for the past two weeks.

  2. Next, we funnel all of this through our Insights Service and a Task Service, which, in theory, should extract meaningful patterns.

  3. And voilà! Here’s the latest output for the Open Format Community. We’ll do our best to keep it updated with fresh insights—assuming Steve doesn’t go rogue.

This experiment is teaching us both how—and, more importantly, how not—to use AI. It’s fun, fascinating, and mildly terrifying, all wrapped up in a neat little package. We’ll keep you posted.

Fixing the coordination problem

Ah, coordination. The fine art of getting people to work together without descending into chaos. To tackle this dilemma, we’ve been busy refining our approach. Here’s a sneaky screenshot of our latest Linear project spec:

post image

As you can see, we’re making bold moves in the world of structured organisation (Ha!). No more endless message threads, vague task descriptions, or that one person who always claims they "didn’t see the update." With this, everything has its place, and everyone should—in theory—know what they’re supposed to be doing. Here is a "simple" feedback loop.

[Community Goals]
    → Task Suggestion (Identify needs)
    → Validation (Ensure quality)
    → Compensation (Reward Distribution) (Recognise effort)
    → [Stronger Engagement → Repeat]

Will it work? Probably. Will it completely solve the coordination problem? Absolutely not. But hey, incremental progress is still progress. Here is quick mockup of what we think this could look like:

post image

As more community builders experiment with our platform, the bug reports and feature requests are pouring in. Here’s a peek at some of the latest things we’ve been working on:

Chain Signalling

Our platform supports Aurora, Base, Arbitrum, Matchain, and TurboChain. We originally added a handy Chain Selector in the top right, thinking that was a logical place for it. Turns out, users had no idea what chain they were on. Whoops.

So, we’ve added the Chain Selector into the community creation flow, making it impossible to ignore. And because we know you love a good visual cue, we’ve also added a badge next to the selector showing how much gas you have in your connected wallet for that chain - view commit

post image

Rewarding Existing Tokens

We love how our platform enables users to reward tokens and badges without touching a single line of code. However, it didn’t take long for users to ask, “Can we reward tokens we already have in our wallet?”

Technically, our contracts can handle this—but there was no way to do it through the platform. So we wanted to change that.

Now, you can either transfer existing tokens or mint new ones, all in a few clicks. Simple, flexible, and exactly how it should have been from the start. - view commit

post image

Powering the Matchain x PSG Community

We’re thrilled to be powering the Matchain x PSG Rewards community through our partnership with Matchain, enabling fans to claim Game Badges and PSG Points.

Check it out: psgclubrewards.matchain.io

post image

🚀 Changelog

  • You can now update Badge metadata directly from the Badges page - #96f1156

  • We updated the Aurora Block Explorer URL - #02c0a7c

🐛 Bugs and Improvements We’re Working On

  • Leaderboard displaying 0 values

  • CSV import for bulk reward distribution

  • A small but mighty UI fix—highlighting the active page when viewing a community, so you actually know where you are.

That's it! See you next time!

Cheers,
Andy, Dan, and the Open Format Team


Psst 👋 New to Open Format?

You can now create a token, badge, and reward them in just three minutes on our platform. Yes, you read that right. Three minutes. What a time to be alive.

Try it for yourself here.