Cosmic JS Blog Stay tuned for community news, company announcements and updates from the Cosmic JS team.

Developer Spotlight: Ben Packer


by Carson Gibbons on September 14, 2017


In this Cosmic JS Developer Spotlight, we sat down with Ben Packer, a web developer who focused on natural language processing prior to turning his talents toward web development for non-profit initiatives. Ben serves as the Director of Technology for Brand New Congress, an initiative aiming to elect 535 new members of Congress.  Check him out on Twitter or LinkedIn, and enjoy the Q/A.

How long have you been building software?
I've been programming for 4 years now, but only full-time professionally for 3 months since I graduated college. I've done a bit of everything, previously focusing on natural language processing before turning to web development.

What is your preferred development stack?
I've used lots of MERN (MongoDB, Express, React, Node), but have recently made the switch to Elixir + Phoenix + Postgres, which is what I've done all of my Cosmic based development with. Despite the JS in the Cosmic JS name, Elixir's been a great fit due to its built-in in-memory storage solution, called "ets" (Erlang Term Storage). This, combined with Cosmic's web-hooks, has let me serve Cosmic-based pages very quickly out of a cache without managing a separate external Redis or Memcached instance. You can find our Elixir Cosmic wrapper and cache solution here.

What past projects are you most proud of and why?
My work with Brand New Congress and Justice Democrats has been building the tools required to effectively run a large scale and modern grassroots political campaign. I feel very fortunate that I get to focus and do this political work full-time, rather than volunteer and split my headspace as many developers do. Before working with Brand New Congress and Justice Democrats, I developed an open source online meeting platform called assemble, which uses WebRTC technology to bring the experience of breakout groups common in physical meetings to your browser.

Talk a little bit more about your process for building apps. How is building apps for political or idealogical causes different than other client work?
I'm also very happy that I'm able to develop all of these solutions in the open with an A-GPL license attached. Once our tools are mature and ready to be re-purposed, we'll have reduced the costs of running grassroots political campaigns for other organizations and future campaigns, who will be able to self-host what we've developed at a fraction of the cost of traditional campaign software services.

What are some technologies you are excited about that you are using today, or want to learn more about?
Cosmic has made it much easier for me to enable the non-programming parts of our organization to configure the software I make, and to edit the content on our websites. Our use of it has evolved beyond a CMS to a general admin interface – we use it to manage a url shortener, as a user whitelist for internal tools, to specify changing webhooks, etc. With Cosmic, after I recognize that a particular component of our website or process will need to change, I can implement a mechanism for that component to be edited or configured in a matter of minutes.

I don't think that development for political causes is too different than more typical development – we move quickly, things break sometimes, etc. What may be different is that we have volunteers who contribute their own amount of time and/or expertise. If you have experience with Elixir, React, Node.js, or setting up AWS-based workflows and you want to help elect a congress full of individuals who support medicare for all, massive investment in our infrastructure and renewable energy, and refuse to take corporate money, send me an email at ben@justicedemocrats.com and we'll find the best way for you to help.

Our internal tools are built using React, Ant.Design (a React UI toolkit), and communicate with our server over Phoenix Channels (websockets), creating a snappy user experience. Staff members and volunteers will end up spending a lot of their time in these tools, contacting our supporters, managing events, etc., and so it's important that they're performant, with as few pain points as possible.

For our world facing websites, I'd like to bring as much of the new web as I can to the political space. A lot of the things we're encouraging supporters to do are collective action problems – individually ineffective, but collectively powerful, and it's one's belief that you're all working alongside others that gives you the confidence to try. However, people are also overworked and worried about the future, including not only the future of our political system but also their next two weeks.

So, it's my hope that in the coming months we'll be able to design experiences that not only inspire a sense of participation and belonging in collective political action, but that we'll be able to deliver those experiences while you're riding a bus and surfing the web on your friend's old Android phone.

To learn how you can contribute Apps, Articles and Extensions to the Cosmic JS Community, contact us at support@cosmicjs.com.

You may also like


In this installment of the Cosmic JS Developer Spotlight Series, we sat down with Sumit Kharche, a Full Stack Software Developer residing in Pune, India. Submit is an active member of the Cosmic JS Community, having recently built the new React Static Blog, which is available in the Cosmic JS Apps Marketplace. With more community projects on the way, we're excited to interview one of our own for this Spotlight. 😎 Follow Sumit on Twitter, LinkedIn and GitHub, and enjoy the conversation.

In this installment of the Cosmic JS Developer Spotlight Series, we sat down with Dallas-based Software Developer John Allen Hopper. In addition to having a degree in Anthropology, John is a graduate of Coding Dojo and has been building applications in agency environments, freelance gigs and as a contributor for years. Follow John on GitHub, LinkedIn and Twitter, and enjoy the Q/A. 

In this Cosmic JS Developer Spotlight, we sat down with Jazib Sawar, a full stack web developer at Bitbytes.  Jazib has a Bachelor's Degree in Computer Science from the National University of Computer and Emerging Sciences and has led teams on interactive projects for several years.  Jazib is the mastermind behind the Cosmic JS Sticky Notes App that was recently adapted by Life is Good for their Gratitude Wall

In this installment of the Cosmic JS Developer Spotlight Series, we sat down with Ben Hong, a Senior Front End Engineer residing in Washington, D.C. Ben wears several hats, first as a Front End Engineer at GitLab, as well as being an active Google Developer Expert and Vue.js community partner. He's also put some work into VuePress, one of the newest static site generator for Vue.js projects.

In this installment of the Cosmic JS Developer Spotlight Series, we sat down with Diego Perez, a Demandware / Software Developer residing in Spain who recently submitted the new Angular Company Website in the Cosmic Community. Follow Diego on Twitter, LinkedIn or GitHub, and enjoy the Q/A.

In this installment of the Cosmic JS Developer Spotlight Series, we sat down with Jamie Introcaso, an experienced Software Developer residing in Charlotte, North Carolina. Jamie is an active member of the Cosmic JS Community and recently wrote a blog detailing his migration from WordPress to Cosmic JS. With more community projects on the way, we're excited to interview one of our own for this Spotlight. 😎 Follow Jamie on his Cosmic-powered website, Twitter and LinkedIn and enjoy the conversation.