- Rob Arcand
- May 26, 2022
- 5 min read
Writing contests are a difficult thing to translate to an online setting. These events, which bring together thousands of novelists, poets, screenwriters, and more in head-to-head competition, already require months of planning and preparation to organize in person—without even beginning to think about what they might look like online. Writers aren’t generally known for their ability to create and maintain complex websites, and the few attempts to establish these contests online left Max Bjork feeling frustrated with the “archaic” user experience they provided.
“This was the largest and most popular writing competition of its kind, attracting five thousand people per competition, all paying over fifty dollars to sign up,” he says of an earlier competition. “I thought, ‘I can do this better. I’ve never done web development before, but how hard can it be?’ Then I found Wix.”
In 2021, he launched Writing Battle, a competition for screenwriters and flash fiction authors built entirely with Wix and Velo. Every few months, participants fire up their computers and navigate to the website, where they are given writing prompts, a ten-page limit, and five days to complete the challenge.
Submissions are read by award-winning screenwriters like Diane Drake (What Women Want, Only You), Donald H. Hewitt (Spirited Away, My Neighbor Totoro), and Michael Colleary (Face/Off, Tomb Raider). Readers judge two stories at a time, providing detailed feedback with each submission before deciding which story will advance to the next round. Winners receive thousands of dollars in cash prizes, and the contest has fostered an intimate community of enthusiastic participants, who keep in touch long after the competition is over on the Writing Battle forum. The forum has become a central hub for participants to discuss their process, chat about their submissions, and befriend other writers in ways that were once only possible at in-person events.
To make this possible, Bjork needed a custom solution with user accounts, password-protected admin pages, complex database collections, and more. He joined Wix after browsing around online for low-code solutions that would allow him to build out all of the features he needed without having to deal with a finicky markup language like HTML. “I didn’t really compare it to other services to be honest,” he says. “It was more me saying, ‘I’ll give this a try.’ Turns out Wix had all the tools I needed.”
We caught up with Bjork to learn more about how Writing Battle is bringing writing contests into the future with Wix and Velo.
This interview has been edited for clarity and length.

Q&A with Max Bjork, Creator of Writing Battle
Q: When did the idea for Writing Battle first come to you? What was the initial inspiration—were there competitors doing things that you thought got it wrong, or was it something that came to you completely out of the blue?
A: The idea for Writing Battle came to me after completing another online writing competition and experiencing how archaic the web experience felt.
Don’t get me wrong—I had fun doing it, but there were certain aspects that felt wrong. For instance, the prompts for this other writing contest were in this massive in-browser spreadsheet where everyone’s information was public. Yes…public. Not even behind a username and password. People’s name, city, and country were on this massive public list along with everyone’s prompts. To find your prompts, you had to filter by your first and last name. Uploading your story was cumbersome too. It required me to register for another third-party service, leave the website, and upload my story there.
This was the largest and most popular writing competition of its kind, attracting five thousand people per competition, all paying over fifty dollars to sign up. Insanity. I thought, “I can do this better. I’ve never done web development before, but how hard can it be?” Then I found Wix.
I set out to A) Have the entire online writing competition experience on a single website. B) Gamify the writing competition with prompts that can be redrawn like cards in poker, trophies, and a fun online tournament structure. C) Lower the cost to enter by getting the participants to read each other’s stories and give each other feedback—where every participating writer is also a judge (the cost is lowered by not having to pay a bunch of judges).
Q: When did you first start using Wix? What motivated you to choose Wix over another no-code/low-code website builder? Were there some costs and benefits you had considered when choosing a website builder? Were there any features with Wix that stood out to you?
A: I remembered writing some HTML in high school and I knew that I didn’t want anything to do with it. I had no experience with low-code website builders before. I believe I found Wix through a Google search and read somewhere that you could write frontend and backend code. I didn’t really compare it to other services to be honest. It was more me saying, “I’ll give this a try.” Turns out Wix had all the tools I needed.
Q: What was your relationship like to code before joining Wix? I know that you were in the Navy, completed a computer science degree, and worked as a software/systems engineer before starting Writing Battle, most of which likely involved some coding. Was it a big adjustment to move to Wix and Velo and learn JavaScript? Were there any hiccups you encountered in the beginning?
A: I had never written a single line of JavaScript before starting my project on Wix. I knew C# and Java (and other compiled programming languages), but never touched a scripting language before. Maybe I played with Python before, but only a handful of times. I certainly had to rethink programming.
Also, web development is WEIRD. Sure, programmers are used to certain things failing and effectively handling errors through try/catch and error catching layers—but, with web development, you have to balance calls from the client to the server, retrying calls from the client to the server, load times client-side, load times server-side, mobile vs. desktop, differences in browsers and fonts, and more. It’s way different than a Java application. I was learning this stuff while working full time and with two kids under 2 years old. Without Wix, Writing Battle would never have been created.
The biggest hiccup was error handling and learning about prototypes and how JavaScript inherits properties. I couldn’t wrap my head around JavaScript not having an easy-to-use `Throwable` class like Java. I was like, “Huh!? I just create my own object with title and message attributes describing the error?”
As far as hiccups with Wix, it was understanding the differences between .jsw files and .js files on the backend. Security and the protection of user data was important for me from the get-go because of my experience with the other competition’s massive public spreadsheet. Writing and having other people read and critique your work is hard for people and takes a lot of courage. The least a competition can do is respect that some people would rather not have their information and their work public.

Q: Which Velo APIs are you using in your project?
A: I use probably 30 collections and really take advantage of the wix-data API. It’s nice to not have to rely on a third-party service for database storage.
Also, triggered emails are amazing. The UX for creating the content of the email, and the ability to have dynamic variables to customize each email to each individual is so cool. I created my own UX for sending batches of emails to my customers with a bunch of admin tools for filtering users based on custom requirements. No need for MailChimp or something like that. Velo can do it all.
It sounds like your site is quite complex with all of these moving parts. What were some of the challenges you encountered as you built it out, either in terms of scale, complexity, organization, etc. Were Wix and Velo successful as tools for helping you manage that complexity? Or were there other resources that you wished you’d had to help with this.
It wasn’t clear to me how Wix throttled server requests. For the longest time, I thought it was based on time in the backend, instead of client-to-server requests. I know the information was out there, but I didn’t find it until fairly recently.








Comments