I had just graduated from college. A friend and I were running a recruiting startup out of our living room. We had a good working relationship and an effective division of labor: he handled sales and most of marketing so the company would have money. I tackled our backend systems so we could deliver on what he sold. There was a variety of data we had to track: relationships with customers, relationships with universities, relationships with and statuses of applicants, etc., and it was up to me to figure out how to make it all work.
There was, however, one small problem: I had no formal background in technology, software, or information systems management. I had a music degree. But when you’re working in a two-person startup, “I don’t know” is not an acceptable answer. The solution: “I’ll figure it out.”
We settled on using the Airtable platform. Airtable is about as basic a relational database platform as can be found: it looks like a spreadsheet but functions like a database. It allowed us to create robust (enough) relational databases for our needs. With a pre-built UI, cross-platform support, and the paucity of prerequisite knowledge about primary and foreign keys, ERDs, join tables, SQL or any other coding language—even knowing what the word schema means—it fit the bill, enabling me to put something together quickly without embarking on a lengthy expedition up a steep learning curve.
A few years later I found myself at another growing company in desperate need of a systems overhaul. Once again, the answer was a relational database. But this time I knew what I was doing. I had been around the block a few times. So I thought. I was soon to discover that this block I had been around was a very small one.
FileMaker was the platform I hoped existed but wasn’t sure did.
Airtable is great for what it is and for what it claims to be, but proved inadequate for this new set of needs. We needed a solution not for a company of two people sitting in their living room, but for a team of nearly twenty people out in the field, some of whom were decently computer-literate, and several of whom struggled with anything that, to quote Captain America, “seems to run on some form of electricity.” We needed a system that provided six key features: 1) the ability to organize and relate our data, 2) the ability to control access to data on a per-user basis, 3) the ability to embed business logic within the system rather than in the brains of individual users, 4) the ability to automate workflows, 5) the ability to present only relevant data to the user in an easily-digestible format for each type of record, and 6) the ability to run reports on that data.
Airtable was able to meet only the first of those requirements.
Despite how much I may personally enjoy the discovery process, I do not advocate reinventing the wheel, and so I began looking for a piece of existing software that could meet our needs. However, like many businesses, that piece of software did not exist, leaving me with two options: build a custom solution myself, or let the company flounder in its current disorganization. Realizing the later was not a viable option, I committed to building something myself. But I had never built a piece of software before. I didn’t know there was a difference between Java and JavaScript, how to pronounce “SQL”, and had never even heard the phrase relational database. I didn’t know what SQL or HTML stood for, and had never heard of CSS. (I did, however, know how to use the <body> and <p> tags in HTML, though that didn’t help much.)
That’s when I found FileMaker.
…I had actually found an ocean.
FileMaker was the platform I hoped existed but wasn’t sure did. Here, in FileMaker, I found a platform that would enable and equip me—someone with zero coding experience—to develop a custom app that solved our unique business problems, have it work on a variety of operating systems, and allow me to deploy it to a team of people without any prerequisite knowledge of setting up a server.
FileMaker transformed how we work. The process of invoicing clients, for example, used to take four full days each month. It now takes fifteen minutes. Processing payroll used to take one to two days every two weeks. It now takes five minutes. Putting together a list of our current clients used to take an hour. It now takes ten seconds. Calculating our net revenue over a given time period used to take hours. FileMaker gives us that report in less than thirty seconds. The inefficiency of some of our previous processes meant that our team oftentimes didn’t even record certain types of data. FileMaker not only provides us easy access to data, but has allowed us access to data we previously weren’t even collecting. It has freed up our time, allowing us to better serve our customers and to expand the number of services we offer.
Discovering FileMaker was like discovering a kiddy pool—easily navigable with water no higher than my knees—only to realize later that I had actually found an ocean. The barriers to entry were low. The learning curve to get an initial workable solution up and running was minimal. I didn’t drown. In fact, even after deploying my first solution, I still thought I was in the kiddy pool. But the longer I was in the FileMaker world, the more I realized what was in my hands. After about a year of self-taught development, I attended my first FileMaker DevCon.
A game changer.
It was here that I discovered businesses who weren’t just getting their feet wet with FileMaker. They were scuba diving. The power and potential of FileMaker were far broader and significantly deeper than I ever realized. I had seen FileMaker as a fun set of tinker toys. This was no set of tinker toys. This was real, powerful stuff.
And that, I think, is the beauty of FileMaker. It doesn’t require you to know how to swim to get started. You can make something meaningful and useful, even as a novice. But when you’re ready to go deeper, to do more, to expand your toolkit, FileMaker is there to deliver. There are great depths out there, and FileMaker allows you to explore them along the way—without being stuck with an unworkable solution in the meantime.