From the Driver's Seat to FeedbackKit: Why I Built It
I'm Ben Van Aken, and I built FeedbackKit. I didn't start out writing code. In 2016 I was driving a truck for a water cooler rental company in Belgium. This is how I got from there to here, and why FeedbackKit works the way it does.
The short version
- I went from truck driver to business application manager, learned SQL and data analytics on the job, and taught myself Swift on the side.
- In August 2024 I co-founded Swiftly Workspace, a business app for European SMEs. Its users' requests had to reach GitHub and ClickUp, and my team needed their own access.
- I started FeedbackKit at the end of November 2025 and went from idea to product in four weeks of work. It went live on 9 January 2026.
- Three things were deliberate: native SDKs, a team with roles, and telling people what happened to their request.
From the cab to the database
In 2016 I was a truck driver and regional coach at a water cooler rental company. A year later I was running its distribution department of 20 people. When the company brought in a new ERP system, I became the key user for logistics and operations: the person between the people doing the work and the software meant to support it.
With some luck, that led to a job as business application manager and data analyst at the end of 2018. I was responsible for the ERP, the CRM, route planning, reporting and a customer self-service portal, and I was the business side's voice towards a development team spread across Asia, the Middle East and Europe. To answer the questions people brought me, I learned SQL, and then data analytics.
After that I worked as an ERP project manager at a Microsoft partner, and since 2022 I have run my own consultancy for ERP and digitalisation work.
Curious about code
Writing SQL every day made me curious about code. I taught myself Swift with Paul Hudson's Hacking with Swift books and courses, and built fun apps on the side. Until August 2024 that was all it was: playing around.
Then I co-founded Swiftly Workspace, a business app for small and medium-sized European companies, with CRM, projects, invoicing, inventory and finance. We build it in SwiftUI, with a Vapor server on PostgreSQL.
The problem that started FeedbackKit
Swiftly Workspace needed a way for its users to request features and vote on them, and we used WishKit. Over time, a mix of reasons made me want something else.
- Integrations. Our work lived in GitHub and ClickUp, and I wanted our users' requests to reach them. I needed more integrations than WishKit offered, and other developers told me the same.
- A team. I had a team, and in WishKit an account was a single user. You don't just give every employee access, and security was and is important to me.
- Pace. We didn't like the pace of development.
So I started building what we needed.
Four weeks, not counting Christmas
I started at the end of November 2025, working locally without making commits. I know, it's not best practice. I wanted to see whether I could get it working quickly, and if I couldn't, I would drop it.
Between Christmas and New Year I took two weeks off to visit family. Leaving those out, it took four weeks to get from idea to product. The earliest commit in FeedbackKit's repository is from 3 January 2026, and the server went live on Heroku on 9 January.
I wrote most of the Swift side by hand. For the other SDKs, AI coding agents helped me. I was confident that test-driven development would let me ship something reliable that way. And because FeedbackKit would always have a REST API, anyone on a platform without an SDK could build their own client. The API reference is public.
By 8 February there were SDKs for Kotlin with Jetpack Compose, Flutter, React Native and JavaScript alongside the Swift SDK. A Vapor SDK for server-side Swift followed later that month.
By the time FeedbackKit was ready to launch, WishKit was being worked on again. But FeedbackKit already ran on several platforms, connected to several trackers and supported a team with permissions, so I saw no reason not to launch.
What was hard
Many platforms at once
Every change to the API had to reach the Swift, Kotlin, Flutter, React Native, JavaScript and Vapor SDKs. I read Paul Hudson's book and have always used test-driven development. I never trust anyone, not even my mother, so to speak. TDD had shown me I could make bold changes and trust my app to keep working. I might have sharpened my pencil for too long, but the foundation was rock solid.
Doing it alone
At Swiftly Workspace I started out as CEO, responsible for product, QA, sales and marketing. When development didn't move forward, I took over the coding as well. I built FeedbackKit the same way: on my own.
What I decided on purpose
Native SDKs
Feedback happens inside your app, on screens that look like the rest of it: SwiftUI on iPhone, iPad, Mac and visionOS, Jetpack Compose on Android, plus Flutter and React Native. The JavaScript SDK is a headless client for the web, and the REST API covers everything else. Here is how that looks in FeedbackKit, with sample data from a fictional hiking app:
One board, every device
A team with roles
Each project has an owner, and everyone else is an Admin, Member or Viewer. Admins manage settings and members, members respond to feedback, and viewers read. Team members are part of the Team plan; see pricing.
Telling people what happened
When a request moves to a status on the project's list, the person who asked gets an email, on every plan. Pro lets you choose which statuses send it, and Team also emails voters who opted in. Closing the loop explains why that matters.
Your tracker, not another list
A request can become a ticket in GitHub, ClickUp, Notion, Linear, Monday.com, Trello, Airtable, Asana or Basecamp. FeedbackKit also connects to Slack, HubSpot, Salesforce, Mailchimp and MailerLite. Integrations are on Pro and up.
What I'd tell other indie developers
- Find out fast whether it works. Give yourself a few weeks, and be willing to drop it.
- Write the tests before you trust the code, especially code an AI agent helped write.
- Leave an escape hatch. A REST API means nobody is stuck waiting for you to support their platform.
FeedbackKit is made by Swiftly Workspace BV in Antwerp, Belgium. If you build apps and want your users' requests inside your app, shared with your team and connected to your tracker, start free.