Building Solutions To Real Problems
Codesmith's emphasis on creating open-source software and building products that benefit the software engineering community provides residents with real-world problem-solving and decision-making experiences that they can speak to during their job search. Open Source Products are significant software engineering accomplishments that are built within a team environment, using agile methodology that replicates engineering-team best practices.
Projects Residents Build
What I Built with Laurence Diarra
Open Source Product
Open Source Products
Open Source Products (OSP) constitute a significant portion of the software engineering immersive program - residents spend approximately five weeks in their OSP group ideating, building, and launching their software, all with the guidance of the entire instruction team and mentorship of an Engineering Fellow.
Residents spend their time doing self-directed research on technologies that are interesting to them, and collaborating to hone their ideas.
Each team will develop 3 fully fleshed-out ideas for potential products (either original or iteration).
The Instruction Team provides support and feedback on their ideas and scope of the product.
Teams follow Agile development workflow and practice regular code review, pair programming, and feedback within the group.
Instruction team members provide engineering mentorship throughout the process.
Each team receives a stipend for expenses related to launching their product.
Teams develop an outreach strategy, publish articles, engage with the Open Source community, and receive feedback from users and industry leaders.
Original vs Iteration Products
Codesmith residents are encouraged to ideate on the most complex issues faced by engineers today and develop open source software that provides solutions to them. Through this process, open source product development teams work with some of the most contemporary and exciting technology in the industry, and grow immensely as autonomous problem solvers and collaborative teammates.
Types of Open Source Products
Tools & Integrations
Developer tools and integrations are an integral part of the development lifecycle for professional engineers. Codesmith residents have created tools and integrations to assist with many aspects of the development process, from debugging, code prototyping, testing, and even CI/CD processes.
Frameworks & Libraries
Tools & Integrations Built by Residents
Reactime is a Chrome extension created to help developers optimize and debug their React applications. Reactime remedies the increasingly difficult pain point of managing state by making the development environment more accessible and comfortable.
OverVue is a prototyping tool that allows developers to dynamically create and visualize a Vue application, implementing a real-time intuitive tree display of component hierarchy and a live-generated code preview. This provides experienced Vue developers with a tool that facilitates seamless prototyping and architecting their applications, and allows new developers to onboard a Vue application quickly and efficiently.
ReacType is a rapid prototyping tool that allows users to visualize their application architecture dynamically, with a drag-and-drop canvas display and an interactive, real-time component code preview that can be exported as a React app. The beauty of ReacType is that you can use it in parallel with create-react-app or other boilerplate code generators. Instead of exporting an entire application from ReacType, you can simply export your components into an existing project.
Using Spearmint, developers can easily generate React/Redux/Hooks/Context/Endpoint tests by using our user-friendly GUI. It dynamically converts user inputs into executable Jest test code by using DOM query selectors provided by the Testing Library. From its inception, Spearmint has sought to provide a simpler way to write tests for React Applications. Our user-friendly GUI allows developers to dynamically generate test files that can be directly exported into a project directory without writing a single line of code!
If you’ve deployed a software application, monitoring is necessary for gaining insight into its usage and to prevent/diagnose failures. The growing trend towards microservice architecture and gRPC means there is a need for monitoring tools that support these technologies. Popular solutions either require haphazardly combining multiple open-source tools or paying for expensive monitoring software. Chronos bridges this gap, as an open-source tool for Node.js that can be used to instrument, collect, and visualize monitoring data.
Docketeer provides a simple interface to manage Docker resources & visualize both host and container metric data. As a containerized application, it can be deployed alongside your application cluster with hardly any effort. Docketeer’s goal is to be a centralized management system where Docker command functionality, library viewing, and container health monitoring are all found in one place, overall simplifying and enhancing the process of the users container management environment.
Swell is a cross-platform desktop app that is meant to be used alongside a developer’s existing environment to test your API. The market leaders in this space (Postman and Insomnia) have outgrown their origins as lightweight testing suites, and are also missing several important modern technologies. Swell picks up on their shortcomings and gives engineers a one-stop shop to quickly and easily test their REST / GraphQL / gRPC endpoints, with additional support for Streams (including SSEs), Web Sockets and GraphQL Subscriptions.
Frameworks & Libraries Built by Residents
Svelte is a well-loved and relatively new frontend framework/compiler that has been growing in popularity for the last few years within the developer community. However, unlike other industry frameworks such as React, Vue or Angular, Svelte does not yet have a comparable robust library ecosystem. Enter Svelvet: a lightweight Svelte component library for building interactive node-based flow diagrams. Svelvet is designed to be easy to use, intuitive and highly customizable. Other libraries that offer diagramming and visualization come with caveats: they are not free, flowchart-based, customizable, and/or intuitive. Svelvet fills this need!
vno is a Command Line Interface that simplifies the use of Vue with a Deno runtime environment. As Paul Krill, editor at large of InfoWorld, says “with vno, a developer can employ the “elegance” of Vue while leveraging the “simplicity and security” of Deno”.
GraphQL is highly flexible, which makes it an amazing tool, but results in query responses being difficult to cache. That's where Quell comes in - with its minimally opinionated highly generalized front- and backend GraphQL caching libraries that can be used separately or together, make GraphQL’s flexibility more efficient.
Obsidian utilizes normalized caching strategies to store response data in both a client and server-side cache. Obsidian is Deno’s first native GraphQL caching client and server module. It utilizes normalized caching strategies to store response data in both a client and server-side cache. Obsidian supports mutations and implements a write through caching policy to maintain that the cache and database are in sync.
Chromogen is a UI-Focused Test Generation Library for Recoil and Zustand-based Applications. It allows any developer to generate meaningful unit tests for their frontend in minutes, just by interacting in the way a user normally would. Writing test suites is a major pain point for developers trying to validate their application’s reliability and functionality. Chromogen was inspired to tackle this issue by automating this process, aimed at saving both time and energy to reduce business costs and resources.
Hear From Codesmith Grads
What I Built with Laurence Diarra
Discover how her astronautical engineering degree inspired what she built for her solo project – a live tracker for upcoming rocket launches! Plus, see Laurence's process as she builds out the MERN stack to track launches.
Building at Codesmith
Learn More About Software Built by Residents on our Blog
A Deep Dive Into the Immersive Program's Project Phase
“The production project* is the meat of the project phase. This is where you develop with a group over the period of four weeks. Codesmith highly encourages creating or iterating on a developer tool for the production project*.”
Collaborative Learning at Codesmith
“This intensely collaborative environment enabled our cohort to not only grow closer as a team and intimately learn with one another, but this structure also meant we could learn wealths of information in a small period of time.”
How Codesmith Bridges the Gap between a CS Degree and a Career in Software Engineering
“Everything from the extremely supportive environment to the project based learning process is geared around helping individuals gain the confidence to attack tougher and tougher new issues.”
*As of August 2021, Production Projects are now called Open Source Products.
Interested in learning more about the software you’ll build at Codesmith? Schedule a call with an Alumni Advisor to learn more about our programs and plan your next steps!
Frequently Asked Questions
Codesmith is committed to open source and proud to be a featured Open Source Labs partner.
Open Source Labs (OSLabs) is a selective community of dedicated engineers with the shared mission of driving creative technological advances through open source.
Open Source Products are great for those who want to improve their coding skills while at the same time contributing to projects in a meaningful way that is used by many others. Codesmith’s commitment to open source and pushing forward the engineering community means that we encourage Open Source Products done in partnership with organizations like OSLabs, which hosts Open Source Products that our residents are able to iterate on. The OSLabs Github features Open Source Products that Codesmith Residents can iterate upon.
Yes, we’ve worked with many partner organizations and companies. If you are interested in collaborating please email email@example.com. Some examples of previous Open Source Products that are out of Beta are:
YouDescribe, an online platform where users can describe youtube videos to aid those who need more than solely the video for context.
First Freight, a leading CRM provider for freight forwarding companies in the world, approached Codesmith Residents to build a custom email automation service. While there are a few services that already handle email automation - First Freight was looking for a solution that integrated deeply with their existing system. The team built an email automation tool for their marketing department that was simple to use and provided all the analytics necessary to make informed business decisions.
For more information, visit our Projects Built by Residents page.