Atomic’s Accelerator Launches the LunchIt! Web App

Our Accelerator cohort has deployed LunchIt!, an internal React/Redux/Node web application that helps Atoms plan pair lunches.

Cell Zero took some time for introspection this past fall and decided to build a broad survey of Atomic’s favorite languages and frameworks into their Accelerator curriculum. The group wanted more familiarity with the wide range of tools folks are using for client and side projects—to understand what problem each tool addresses, where it excels, and what it’s like to work with.

The team was also excited to experience the project lifecycle from start to finish: defining requirements, choosing tools and infrastructure, building a backlog and schedule, developing features, and deploying to CI and production. Lastly, the group wanted to build something fun that could benefit everyone in the company.

Tools

  • Cell Zero picked React/Redux for the LunchIt front-end. The libraries were new to all four participants, so it presented a valuable learning opportunity.
  • The backend uses Node/Express and Postgres, with Knex as a query builder for the database.
  • The team wrote Ruby scripts to pull pair lunch data from Adam’s Google Sheets document, and Python scripts to grab employee data from PunchIt.
  • The project builds using webpack, uses CircleCI for continuous integration, and deploys to Heroku as a staging environment.

Roles

We decided to run the project using the standard Atomic Scrum process.

Rachael Miller took on the Delivery Lead role and did a wonderful job leading our initial research and design phase. Rachael presented the team’s work in weekly sprint meetings and facilitated sprint planning.

Andy Peterson was our Technical Lead for the project. Andy did a great job helping the team navigate the React/Node environment and work through build and deployment issues.

Alex and Dan focused their time on development and taking point on infrastructure and deployment.

Takeaways

  • Folks thought the project did a great job of providing learning opportunities, and they’re looking forward to the next phase of the project. (We’ll be swapping out the Node/Express backend for a Clojure/Compojure server and adding new features).
  • React and Redux were a struggle. Figuring out this puzzle was a favorite part of the project for some folks.
  • Webpack was also a struggle. This was a least favorite part of the project for the team.
  • The team really enjoyed writing the Ruby and Python scripts.
  • The complexity required to get the backend up and running was a bit of a surprise– there were a lot more moving parts than appeared on the surface. There was a lot more required to build out the basic features than the team initially anticipated.
  • Cell Zero loves working with talented and experienced senior Atomic developers. But it was a nice change to work with folks on the same level–a confidence builder.

In Other News

  • Many thanks to Brittany Hunter for taking the cell through a month-long introduction to design in January.
  • Thanks very much to Mike Swieton for presenting on security and encryption on 12/9.
  • Cell Zero is heading to EmberConf in Portland on 3/27.
Conversation
  • Matthew Staffeld says:

    This is great news! I am wondering one thing: did Atomic Object treat this internal accelerator project the way a typical project is treated within Atomic Object? Or was the team/accelerator given full autonomy? I see a delivery lead and technical leadership roles, but what about a product owner between the team and the existing business?

    • Jesse Hill Jesse Hill says:

      Hi Matthew – our project teams work directly with clients to build custom software. We used our standard approach for this engagement – the Cell Zero folks worked directly with a client (me) to define requirements and prioritize the backlog. They used our standard practices including weekly iteration meetings, continuous integration, unit and acceptance testing, etc. In a standard AO project, delivery leads work with the client to perform the role that would typically be considered as a “product owner” role.

  • Matthew Staffeld says:

    Also, what about the GitHub or source and the production URL so I can use this?

    • Jesse Hill Jesse Hill says:

      Hi Matthew – we don’t plan to open source the project at the moment. I’ll update this post with a link if we do.

  • Comments are closed.