Get started

Community

25 Jan 2024

Community Spotlight: Vince Salvino

Meet the founder of CodeRed and creator of Wagtail-CRX

Meagen Voss

Meagen Voss

Wagtail community manager

Vince Salvino speaking behind a podium at DjangoCon 2023 in Durham.

1. Tell us a bit about yourself. How did you get interested in contributing to open source?

I started out in corporate America, where at that time virtually no open-source software was used; it was even feared like the plague. So my first impression was that open source was a toy for hobbyists, and not useful for real professionals.

Somehow, I stumbled upon Django - between that and going to my first DjangoCon, I was really hooked. Both the technology and the community were miles ahead of what I was using in my job.

I was not even aware what contributing was, nor did I even have a GitHub account, until after starting an agency (CodeRed). Once you go out on your own, there are no co-workers or vendors you can ask for help! So deep-diving into the Django source code became a daily activity.

By that point, I had become an open-source enthusiast, fixing FreeBSD Wi-Fi drivers, studying the Linux kernel, writing win32 patches for Emacs, and probably more that has since been forgotten. 

2. What drew you to the Wagtail CMS project? How did you get involved?

After starting CodeRed, I didn't have the big bucks to shell out for the then-proprietary .NET / Windows / SQL Server stack (with which I had experience). I also ended up working with WordPress out of necessity (as we all do!). Surely there had to be a better way? That's when my first employee at the time discovered Wagtail after researching other systems.

Of course, rather than build a simple blog to test it out, we decided to go all in and build an entire framework on top of it instead.

3. What was your first contribution to Wagtail?

At that point, we had used our home-grown Wagtail framework on several dozen sites. We decided it might be a good idea to open source it. So, my first contribution to Wagtail was actually writing a 3rd-party package. While technically this isn't a contribution, it is a contribution to the ecosystem.

Somehow people took notice, and our package even got called out in a "State of Wagtail" keynote, on its own slide! From there, I became much more involved with the project and then the core team.

4. You decided to build a version of Wagtail with some standard extensions included called Wagtail-CRX (formerly CodeRed CMS). Could you share a bit about why you decided to build this resource and share it through open source?

So the reason we built CRX in the first place was simply because we were an agency of just two people turning out dozens of projects at a time. We needed a massive boost of efficiency to handle the velocity of work. CRX basically contains all of the "re-inventing" of the wheel, so we could start and complete an entire website build within a few days. Think of an assembly-line mentality: CRX is a factory-made version of Wagtail that only requires minimal hand assembling.

Also, at that time, Wagtail had only been around for a year or and was relatively “unproven”. So, we figured we would make our own CodeRed-branded CMS using Wagtail in case the project died and we had to continue supporting it ourselves. Over the next couple years, that perspective drastically changed, and we adapted the package to be more of a Wagtail addon rather than its own CMS.

I gave a talk in 2019 about this if you're interested in the grisly history. 

5. You own an agency called CodeRed. Do you have any quick tips for people who might be thinking of turning their coding interests into a business?

The first tip is: don't! Just kidding – once you experience the ups and downs of running a business, you’ll get that joke. You're going to hate my real answer: business has absolutely nothing to do with how good your code is. Companies with worse products, worse service, and higher prices will still beat you to the sale. It's happened to me many times. The ONE thing that matters is people and relationships. Find someone you trust and ask them to be your first client. From there, you will get some referrals. People want to do business with someone they trust. It's hard for us programmers to focus on relationships instead of code, but it is a necessity.

6. What is your favorite feature or chunk of code in Wagtail that you recommend to other people?

I joke that the StreamField is the best and worst part of Wagtail. It's the best because Django has nothing like it, it’s super useful for editors, and really elegant in how it works technically. It's also the worst because once you peek under the hood, at how it generates migrations, how it serializes data, etc., things get complicated real fast. You can get in big trouble if you try to monkey patch a StreamField!