{"version":3,"file":"component---src-pages-work-js-03a31e6b28ac7884fe95.js","mappings":"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","sources":["webpack://gatsby-starter-blog/./src/components/SubHero.js","webpack://gatsby-starter-blog/./src/pages/work.js","webpack://gatsby-starter-blog/./src/portfolio/dailyHabitTracker.js","webpack://gatsby-starter-blog/./src/portfolio/dungeonMaker.js","webpack://gatsby-starter-blog/./src/portfolio/entrepreneursjumpstart.js","webpack://gatsby-starter-blog/./src/portfolio/homeOwners.js","webpack://gatsby-starter-blog/./src/portfolio/myDailyFortune.js","webpack://gatsby-starter-blog/./src/portfolio/narrativePlanner.js","webpack://gatsby-starter-blog/./src/portfolio/projects.js","webpack://gatsby-starter-blog/./src/portfolio/writeProgress.js","webpack://gatsby-starter-blog/./src/portfolio/rpgAdventureManager.js","webpack://gatsby-starter-blog/./src/portfolio/simpleGoalsTracker.js","webpack://gatsby-starter-blog/./src/portfolio/simpleLeadTracker.js","webpack://gatsby-starter-blog/./src/portfolio/simpleWorkPlanner.js","webpack://gatsby-starter-blog/./src/portfolio/theIndoorGardens.js","webpack://gatsby-starter-blog/./src/portfolio/thePixelArtist.js"],"sourcesContent":["import * as React from \"react\"\nimport { Link } from \"gatsby\"\n\n\nconst SubHero = ({header, copy}) => {\n\n return (\n
\n
\n

{ header }

\n {copy\n ?

{ copy }

\n : null\n }\n
\n
\n )\n}\n\nexport default SubHero\n","import * as React from \"react\"\nimport { Link, graphql } from \"gatsby\"\n\nimport Bio from \"../components/bio\"\nimport Layout from \"../components/layout\"\nimport Seo from \"../components/seo\"\n\nimport SubHero from \"../components/SubHero\"\nimport { projects } from \"../portfolio/projects\"\n\nconst BlogIndex = ({ data, location }) => {\n const siteTitle = data.site.siteMetadata?.title || `Title`\n const copy =\n \"We're proud of our work. Check out some of our previous and ongoing projects.\"\n return (\n \n \n \n
\n {projects.map(project => {\n return (\n \n \n
\n
\n \n {project.name}\n \n

\n {project.excerpt}\n

\n
\n \n \n )\n })}\n \n
\n )\n}\n\nexport default BlogIndex\n\nexport const pageQuery = graphql`\n query {\n site {\n siteMetadata {\n title\n }\n }\n allMarkdownRemark(sort: { fields: [frontmatter___date], order: DESC }) {\n nodes {\n excerpt\n fields {\n slug\n }\n frontmatter {\n date(formatString: \"MMMM DD, YYYY\")\n title\n description\n }\n }\n }\n }\n`\n","export const dailyHabitTracker = {\n name: \"Daily Habit Tracker\",\n excerpt: \"Keep up with your habit goals\",\n image: \"simpleLeadTracker.webp\",\n localUrl: \"daily-habit-tracker\",\n url: \"https://www.simpleadtracker.com\",\n description: \"Daily Habit Tracker is a mobile app that allows users to create and track daily habits. The is designed to encourage hitting your habit each day, and building it long term.\",\n challenge: \"The main goal was to make it very quick and easy to track your habits each day. The app should stay out the way, and be as frictionless as possible to use. It should also be readily available, and able to be used anywhere at anytime.\",\n solution: \"Our end solution was a mobile app that make it simple to track your habit each day. We bring you right to the good stuff with the first button your presented with letting you mark the habit as done.\",\n tech: [\"Clojurescript\", \"Cordova\", \"MySqlLite\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n","export const dungeonMaker = {\n name: \"Dungeon Maker\",\n excerpt: \"Dungeon Building Mobile App\",\n image: \"simpleLeadTracker.webp\",\n localUrl: \"dungeon-maker\",\n featured: true,\n url: \"#\",\n description: \"Dugeon Maker is a mobile app for buidling tiled dungeons. The perfect tool for any dungeon master and RPG lover.\",\n challenge: \"Building a map editor that is easy to use on mobile is not easy, but we were up for the challenge. A map editing tool is inherently complex, and this can make creating a mobile friendly UI difficult.\",\n solution: \"Our end solution creates a separation between drawing and moving. This gives the user control without introducing lots of complex touch interactions. We also provide multiple drop-down panels to help control core functionality. We've further updated the app with new features inclduing terrain tiles.\",\n tech: [\"Clojurescript\", \"Cordova\", \"MySqlLite\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n","export const entrepreneursjumpstart = {\n name: \"Entrepreneurs Jumpstart\",\n excerpt: \"Business and entrepreneurship blog\",\n image: \"simpleLeadTracker.webp\",\n localUrl: \"entrepreneurs-jumpstart\",\n url: \"https://www.entrepreneursjumpstart.com\",\n description: \"Entrepreneurs Jumpstart is a blog focused on running and online businesses and the many hats that go along with that. It touches on everything from SEO to building and MVP of your product.\",\n challenge: \"Like many blogs, the main challenge was figuring out th flow through different categories of content. Making the site flow is important, and keeps users engaged and easily able to discover what they're looking for. We also wanted to make sure that we settled on a post-launch publishing flow that would let us consistently keep the site updated.\",\n solution: \"We ultimately settled on a handful of categories that would allow us to help guide people through the site. We also put a lot of effort in to create a content calendar and keeping that consistently updated. Afte launch, we continue to maintain the site, and run the publishing and marketing.\",\n tech: [\"React\", \"Gatsby\", \"TailwindCSS\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n","export const homeOwners = {\n name: \"Home Owners DIY Guide\",\n excerpt: \"Home Improvement Blog\",\n image: \"diy-guide.jpg\",\n localUrl: \"home-owners\",\n url: \"https://www.homeownersdiyguide.com\",\n description:\n \"Homeowners DIY Guide is a blogging site dedicated to the upkeep of ones home. It talks about various DIY projects, along with helpful advice to keep your home in tip top shape.\",\n challenge:\n \"The biggest challenge we had when building this site was speed. Google was beginning to place more SEO weight on their core web vitals, and we wanted to make sure that we followed best practices. This meant utilizing some new technologies, and working hard to make little optimizations.\",\n solution:\n \"In the end, we moved away from Wordpress and migrated to a static blogging platform. This sacrificed a bit of ease of use for the end user, but made it much easier to build a performant site. Since we manage the site ourselves, this was an easy trade-off to make. We continue to suppor the site with SEO and marketing efforts.\",\n tech: [\"React\", \"Gatsby\", \"TailwindCSS\"],\n images: [\n \"simpleLeadTracker.webp\",\n \"simpleLeadTracker.webp\",\n \"simpleLeadTracker.webp\",\n ],\n}\n","export const myDailyFortune = {\n name: \"My Daily Fortune\",\n excerpt: \"Daily Fortunes\",\n image: \"simpleLeadTracker.webp\",\n localUrl: \"my-daily-fortune\",\n url: \"#\",\n alternateUrl: \"#\",\n description: \"My Daily Fortune is a mobile app that lets users generate a new fortune every day. It is currently available for both IOS and Android devices.\",\n challenge: \"This was one of our first mobile app projects, so it involved a lot of learning on how to actually deploy a mobile app. We wanted to deploy for both Android and IOS devices, and each process is slightly different. This was also a good opportunity for us to create a framework for deploying mobile apps as we wanted to release more in the future.\",\n solution: \"We built My Daily Fortune as a Javascript based web app, and then packaged it for deployment with Cordova. This allowed us to write in a farmiliar language, while still making our deploy target mobile devices. We also used thus project as a test to build our first API in Clojure since it's a fairly simple one.\",\n tech: [\"Cordova\", \"Clojure\", \"jQuery\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n","export const narrativePlanner = {\n name: \"Narrative Planner\",\n excerpt: \"Collaborative Storybuilding Platform\",\n image: \"narrative-planner.jpg\",\n localUrl: \"narrative-planner\",\n url: \"https://www.narrativeplanner.com\",\n featured: true,\n description: \"Narrative Planner is a collaborative story telling tool. It allows multiple users to connect in realtime, and build out complex, branching stories.\",\n challenge: \"There was a lot of challenges in this project due to the complexity, but one of the most difficult was working in a realtime enviroment. Having multiple users connected to a single session means there is a lot of opportunities for race conditions and other weird states of data. We spend a lot of time testing, and made sure that the application worked well when multiple people were working in the same view. There was also a lot of work done to make sure that the application was usable on mobile devices and behaved the same as when working on desktop.\",\n solution: \"The end solution was built entirely using Clojure on both the back and front-ends. Working with Clojure was extermely enjoyable, and makes working with the codebase very easy for future additions.\",\n tech: [\"Clojure\", \"Pedestal\", \"Reagent\", \"Clojurescript\", \"MongoDB\"],\n services: [\"Design\", \"Development\", \"Dev Ops\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n","import { simpleLeadTracker } from \"./simpleLeadTracker\"\nimport { theIndoorGardens } from \"./theIndoorGardens\"\nimport { narrativePlanner } from \"./narrativePlanner\"\nimport { myDailyFortune } from \"./myDailyFortune\"\nimport { homeOwners } from \"./homeOwners\"\nimport { thePixelArtist } from \"./thePixelArtist\"\nimport { dungeonMaker } from \"./dungeonMaker\"\nimport { rpgAdventureManager } from \"./rpgAdventureManager\"\nimport { simpleGoalsTracker } from \"./simpleGoalsTracker\"\nimport { simpleWorkPlanner } from \"./simpleWorkPlanner\"\nimport { dailyHabitTracker } from \"./dailyHabitTracker\"\nimport { entrepreneursjumpstart } from \"./entrepreneursjumpstart\"\nimport { writeProgress } from \"./writeProgress\"\n\nexport const projects = [\n simpleLeadTracker,\n theIndoorGardens,\n narrativePlanner,\n homeOwners,\n writeProgress,\n myDailyFortune,\n thePixelArtist,\n dungeonMaker,\n rpgAdventureManager,\n simpleGoalsTracker,\n simpleWorkPlanner,\n dailyHabitTracker,\n entrepreneursjumpstart,\n]\n","export const writeProgress = {\n name: \"WriteProgress\",\n excerpt: \"Tool To Help Writers Track Their Writing\",\n image: \"writeProgress.jpg\",\n localUrl: \"writeProgress\",\n url: \"https://www.writeProgress.com\",\n description:\n \"WriteProgress is a Sass application that helps writers write more by tracking their writing. It provides tools for tracking writing, along with additional features to help writers improve.\",\n}\n","export const rpgAdventureManager = {\n name: \"RPG Adventure Manager\",\n excerpt: \"Mobile Campaign Managment for RPG Games\",\n image: \"simpleLeadTracker.webp\",\n localUrl: \"rpg-adventure-manager\",\n url: \"#\",\n description: \"RPG Adventure Manager is a mobile app for dungeon masters running tabletop RPG games. It's the perfect tool for keeping track of your players, NPCs, quests, and more.\",\n challenge: \"Our end goal was create something that was generic enough to be used across multiple games. We wanted it to also be very simple so that users could quickly add what they needed, and then get back to the game.\",\n solution: \"The end result is a simple to use but powerful tool that lets users manage every part of their campaign. Since launch, we've added additional list building features, and even a drag and drop interface to build branching story paths.\",\n tech: [\"Reagent\", \"Clojurescript\", \"Cordova\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n","export const simpleGoalsTracker = {\n name: \"Simple Goals Tracker\",\n excerpt: \"Manage Your Goals From Your Phone\",\n image: \"simpleLeadTracker.webp\",\n localUrl: \"simple-goals-tracker\",\n url: \"#\",\n description: \"Simple Goals Tracker does exactly what it says; it lets you plan goals as quickly and easily as possible. The app lets you define goals, track progress agaisnt them, and gives you data on how often you complete or fail a goal.\",\n challenge: \"The main challenge was building a very easy to use UI. We wanted the app to be quick to use, and then get out of the way. Too many apps take too long to figure out, and that defeats the purpose of an app that's meant to help you be more productive.\",\n solution: \"Another hybrid app, we built this one with Clojurescript and pacakges with Cordova. The app is currently available for IOS, but we have plans in the future to make it available for Android as well.\",\n tech: [\"Reagent\", \"Clojurescript\", \"Cordova\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n","export const simpleLeadTracker = {\n name: \"Simple Lead Tracker\",\n excerpt: \"CRM Solution For Small Business\",\n image: \"simpleLeadTracker.webp\",\n localUrl: \"simple-lead-tracker\",\n featured: true,\n url: \"https://www.simpleadtracker.com\",\n description: \"Simple Lead Tracker is a custom CRM solution built for small businesses and freelancers. It focuses on being a simple and cost effective solution.\",\n challenge: \"Our main goal was to streamline the CRM process and create a solution that was simple to use for small businesses. Existing solutions have a lot of bloat and can be cumbersome to use. We wanted to cut back all those extras, and provide an easy solution that could be setup and used right away. To that end, we really focused on creating an intuitive ui and focusing on only essential features.\",\n solution: \"The end solution achieves what we set out to do by providing a simple but effective application. It gives users the ability to manage their leads without being bogged down in too many extras. While it might not compete with more feature filled CMSs, it fills a niche between simple spreadsheets and advanced software.\",\n tech: [\"PHP\", \"VueJS\", \"MySQL\", \"Laravel\"],\n services: [\"Design\", \"Development\", \"Dev Ops\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n","export const simpleWorkPlanner = {\n name: \"Simple Work Planner\",\n excerpt: \"Simple mobile task planner\",\n image: \"simpleLeadTracker.webp\",\n localUrl: \"simple-work-planner\",\n url: \"#\",\n description: \"Simple Work Planner is a stripped down TODO list app that lets users create tasks and plan out their week.\",\n challenge: \"We wanted this app to be dead simple to use, and provide a UI that only took a few mintues to setup. We wanted users to be able to quickly add tasks so that they coudl spend less time managing their work and more time actually working.\",\n solution: \"We deployed the app on IOS using Cordova and built the bones using Clojurescript and Reagent. It's available on IOS with future plans to release to Android.\",\n tech: [\"Reagent\", \"Clojurescript\", \"Cordova\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n","export const theIndoorGardens = {\n name: \"The Indoor Gardens\",\n excerpt: \"Garden Blog + Marketing\",\n image: \"indoor-gardens.jpg\",\n localUrl: \"the-indoor-gardens\",\n featured: true,\n url: \"https://www.theindoorgardens.com\",\n description: \"The Indoor Gardens is a blog dedicated to teaching indoor gardening techniques. It has a wide variety of articles that covers everything from plant care to setting up your very own garden.\",\n services: [\"Web Design\", \"Content Marketing\", \"SEO Research\", \"Social Media Management\"],\n challenge: \"SEO is a crtical piece to any good blog, and we wanted to make sure we followed all the best practices. One area we really wanted to nail was page speed. We recently re-built the entire site using Gastby, a static site generator, and have noticed a huge increase in page load speed. We're now hitting 90+ on almost every page using Google's core web vitals test, and have seen a good uptick in traffic because of it.\",\n solution: \"As noted, we used Gatsby to build this site. This makes it possible to serve each page as a static resource, which cuts down on time spend communicating with the server. In addition, we continue to work on thre site adding new features, as well as handling the marketing, SEO, and social media schedules.\",\n tech: [\"Gatsby\", \"React\", \"AWS\"],\n images: []\n}\n","export const thePixelArtist = {\n name: \"The Pixel Artist\",\n excerpt: \"Pixel Art Mobile App\",\n image: \"simpleLeadTracker.webp\",\n localUrl: \"the-pixel-artist\",\n url: \"#\",\n description: \"The Pixel Artist is a tool for creating pixel art on your phone. It lets artists create simple pixel art, and the export them as images to share.\",\n challenge: \"Building art tools is never easy, and The Pixel Artist is no exception. There was some technical challenges getting the drawing to work properly, as well as some discovery work to tap into native phone controls to save images to the user's device.\",\n solution: \"The Pixel Artist ended up being a hybrid add that's built with Javascript but taps into some Cordova plugins to give some native functionality. This allowed us to let users save their art to their device, which was critical to make this appeal to anyone..\",\n tech: [\"Javascript\", \"HTML5\", \"Cordova\"],\n images: [\"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\", \"simpleLeadTracker.webp\"]\n}\n"],"names":["header","copy","className","data","location","siteTitle","site","siteMetadata","title","projects","project","key","name","style","backgroundImage","image","height","Link","to","localUrl","itemProp","backgroundColor","excerpt","dailyHabitTracker","url","description","challenge","solution","tech","images","dungeonMaker","featured","entrepreneursjumpstart","homeOwners","myDailyFortune","alternateUrl","narrativePlanner","services","simpleLeadTracker","theIndoorGardens","thePixelArtist","rpgAdventureManager","simpleGoalsTracker","simpleWorkPlanner"],"sourceRoot":""}