Tag
Go
38 posts tagged Go. See every tag.
-
Every feature worked and nobody could reach it
Last week I wrote about features that were lying. This week is the sequel with a different shape: features that were telling the truth and were unreachable. The meeting recap needed a recording nobody made. Browser tr...
-
Every test passed and the feature was lying
Last week I wrote about things that broke silently. This week nothing broke. The build was green, the frontend's 618 tests passed, and three features were telling customers things that were not true: a meeting recap t...
-
Every health check was green and nobody could download my product
I made the build server's Docker image smaller, which is a good idea, and it removed two binaries that appear in no import statement. The service compiled, started, stayed healthy, answered its install script from mem...
-
One server per customer, and the four times the obvious design was wrong
OneCamp has always been self-hosted: you buy a licence, you run it. Managed hosting adds the other option — you pay monthly and a whole server gets provisioned for you, one machine per customer, no shared database any...
-
Two-factor, SCIM, and the config file nothing was checking
OneCamp now has TOTP two-factor sign-in and SCIM 2.0 provisioning, so Okta or Entra can create and deactivate members and a stolen password is no longer enough. Writing them turned up four decisions where the obvious ...
-
The same one-line fault, five times, and the test that missed it too
Every document and board in the workspace showed 'Reconnecting to collaboration server...' for two weeks, because one unhandled rejection killed a container that had no restart policy. Fixing that one service was the ...
-
A failed signup burned the email address forever
Creating a user wrote to Postgres, then to Dgraph, and on a Dgraph failure it logged and returned — leaving a row that owns the email address and an account nobody can see. Every retry then failed on the unique constr...
-
We opened OneCamp to outside AI agents, and every gate we added found a bug
Claude Desktop, Cursor and anything else speaking MCP can now reach a OneCamp workspace — through an authority rule that is an intersection with a real person's live permissions, never a union, re-evaluated per call. ...
-
One context window for every model was quietly wrong
OneCamp lets an admin allow several models, and a member, a channel or an agent can each pick a different one. But there was exactly one context window setting, and every budget read it no matter which model actually ...
-
The code was written. Nothing called it.
Four times in one week I found the same thing: a mechanism that was finished, correct, documented, unit-tested — and unreachable. Two of them were hiding real bugs, including one where forwarding a message to a group ...
-
Regex is not a sanitiser, and other things I got wrong about text
Four fixes about handling text and media, none of which involve AI. Truncating a string by bytes was splitting characters and producing invalid UTF-8, and the guard around it was appending an ellipsis to text it had n...
-
What we fixed so you never notice: a search outage, a coding agent that couldn't run, and 31 screens that lied to you
No new features in this one. A search node was killed by someone pasting a screenshot into a document. The coding agent turned out to be unable to work in the exact configuration it shipped with. And 31 screens told p...
-
Agents that can ask each other for help — without laundering permissions
Your specialist agents couldn't talk to each other. Not by oversight — by a deliberate mute that stopped one agent replying to itself forever. This release replaces that blanket mute with a budget, so an agent can pul...
-
AI teammates you can interrupt: stop it, steer it, and actually watch it work
Handing work to an AI agent has had one uncomfortable property from the start: once it goes, it's gone. You watch a spinner, you can't change your mind, and if it's heading the wrong way you wait for it to finish bein...
-
OneCamp AI teammates reach your whole workspace: external databases, documents, voice, and governed code
Last week OneCamp's agents learned to open pull requests. This stretch was about reach: an agent can now query your real production databases (Postgres, MySQL) read-only through a plan you can inspect and re-run, read...
-
OneCamp AI teammates open pull requests: a coding agent that ships on your own infra, not someone else's cloud
This week OneCamp's agents learned to write code and open a pull request, the same way you'd hand the job to a teammate: @mention one, describe the change, and it clones the repo, edits, builds, tests, and opens a PR ...
-
OneCamp AI teammates get senses and skills: vision, data analysis, sandboxed code, and agents that watch your work
Last week I gave OneCamp's agents a place in the room and the governance to make handing one to a team responsible. This week was about senses and skills: native tool-calling that works on modest local models, an agen...
-
OneCamp AI teammates: agents that live in your channels, with governance you can audit
The next chapter for OneCamp's agents: instead of a separate chatbot, an agent becomes a real, named member of a channel or a DM you can @mention, with its own model and permissions. You can now assign it a task and t...
-
Putting a budget on AI: workspace and per-user token caps for a self-hosted workspace
How I added enterprise-grade cost control to OneCamp's AI: metering and gating every model call at one provider chokepoint, daily token budgets for the whole workspace and per individual user, a per-run token cap and ...
-
Making OneCamp programmable: a public API, scoped tokens, an MCP server, and a TypeScript SDK
Turning a self-hosted workspace into a platform: scoped, hashed personal access tokens with per-token rate limiting and audit, a /v1 API that reuses the app's own permission-checked business layer, OneCamp as an MCP s...
-
OneCamp tables: Notion-style databases your AI and API can actually use
Why a table in OneCamp is its own first-class entity rather than a blob inside a doc: a jsonb row model that survives schema changes, fractional ordering, grid/board/calendar views, a relation field that links rows to...
-
OneCamp collaborative boards: a Miro-class whiteboard on your own infrastructure
How I built a real-time, multiplayer whiteboard into OneCamp: Excalidraw bound to Yjs over the same collaboration server the docs use, live cursors, an AI that draws diagrams and UI mockups, pinned comments with menti...
-
OneCamp AI agents: from a chatbot that answers to a coworker that does the work
How I turned OneCamp's workspace AI from a question-answering assistant into an agent that creates and updates tasks, drafts docs, manages projects, and chains reads into actions, all while respecting the exact permis...
-
Workflows in OneCamp: Slack-class automation without the sprawl
Welcome messages, keyword auto-replies, turning a message into a task, lightweight moderation — the automation every team eventually wants. I built a Workflow Builder for OneCamp that does it without a single extra ru...
-
The AI that sits in your calls: how OneCamp turns meetings into notes, decisions, and memory
Every call you have is full of decisions and action items that evaporate the second it ends. OneCamp puts an ambient AI assistant in the room — it transcribes live, then writes the recap, posts it where the call happe...
-
AI nudges in OneCamp: a workspace that remembers what you promised
Most software waits for you to remember. OneCamp's AI Nudges flip that — a quiet engine that notices the commitment you made in a Tuesday call, sees it's overdue, and taps you on the shoulder. Here's how I built it, w...
-
OneCamp connectors: I gave the workspace AI access to Gmail, Google Calendar, and GitHub
How I built per-user OAuth connectors for Gmail, Google Calendar, and GitHub so OneCamp's AI can read emails, check your calendar, and surface pull requests — all on your own infrastructure, without a single byte of y...
-
I built a full Slack-style app platform for OneCamp. Here's every decision I made.
How I designed and built a slash-command and app platform for OneCamp — a data-driven external-app webhook system, built-in first-party apps, a curated marketplace, and a per-app encrypted secret store — without requi...
-
Hardening a self-hosted workspace: zero-trust ingestion and client resilience
How I built a zero-trust ingestion layer for OneCamp—implementing magic-byte file signatures, zip-slip and zip-bomb decompression protection, ClamAV socket scanning, and designed a visibility-aware exponential backoff...
-
How I built a self-hosted, AI-agnostic workspace with active memory layering
How I re-engineered OneCamp to support hot-swappable local and cloud LLMs, implemented a self-calibrating EWMA token budget to prevent context truncation, and designed a structured workspace memory layer spanning Post...
-
How I built a universal import engine supporting 8 different productivity platforms
How I engineered a high-throughput, chunk-based, multi-database migration engine for OneCamp that seamlessly unifies, de-duplicates, and ingests workspace data from Slack, Notion, Asana, Jira, Linear, Trello, ClickUp,...
-
OneCamp: GitHub sync, custom webhooks, data archiving, and a complete frontend redesign
The biggest OneCamp update since launch. Bidirectional GitHub integration, production-grade webhook infrastructure, admin data archiving with undo, and a ground-up frontend redesign — 38,000+ lines of new code across ...
-
OneCamp vs. the world: a deep technical comparison of self-hosted workspace tools
A brutally honest, technically deep comparison of OneCamp against Slack, Mattermost, Rocket.Chat, Zulip, Notion, and Huly. Architecture, pricing models, AI capabilities, data ownership, and what none of the marketing ...
-
I spent a year building OneCamp. Here's the complete architecture.
The honest, technical story of building OneCamp - a self-hosted all-in-one workspace. Full system architecture, real tech choices, and the reality of launch day.
-
Why I used MQTT for team chat (not WebSockets) - and what that taught me about broker-based architectures
Deep dive into OneCamp's real-time messaging layer - why MQTT beat raw WebSockets, how topics map to workspace entities, the Redux pattern that keeps UI and transport completely decoupled, and the scroll position pr...
-
Streaming AI in Go: SSE, circuit breakers, and the nginx buffering bug that aged me
The real technical details behind OneCamp's streaming AI feature - Server-Sent Events in Go's net/http, a fast-path optimization for conversational inputs, post-stream tool call parsing, circuit breakers, and the Re...
-
Why OneCamp uses both Postgres AND Dgraph (and whether that was a mistake)
Most apps get away with one database. OneCamp uses two - Postgres for users and config, Dgraph for the social graph. Here's the reasoning, the tradeoffs, the distributed write problem, and whether I'd do it again.
-
Server Health Monitoring Using Raft Algorithm
server health monitoring using raft algorithm also submitted as mini project in my college assignment. Raft algorithm for distributed systems.