Learn more about our current job openings and benefits of working at FSL.
Detailed reviews and feedback from past and current clients.
Get to know the Management Team behind FullStack Labs.
Our step-by-step process for designing and developing new applications.
Writings from our team on technology, design, and business.
Get answers to the questions most frequently asked by new clients.
Learn about our company culture and defining principles.
A high level overview of FullStack Labs, who we are, and what we do.
A JavaScript framework that allows rapid development of native Android and IOS apps.
A JavaScript framework maintained by Facebook that's ideal for building complex, modern user interfaces within single page web apps.
A server side programming language known for its ease of use and speed of development.
A lightweight and efficient backend javascript framework for web apps.
An interpreted high-level programming language great for general purpose programming.
A JavaScript framework maintained by Google that addresses many of the challenges encountered when building single-page apps.
A JavaScript framework that allows developers to build large, complex, scalable single-page web applications.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A progressive JavaScript framework known for its approachability, versatility, and performance.
View a sampling of our work implemented using a variety of our favorite technologies.
View examples of the process we use to build custom software solutions for our clients.
View projects implemented using this javascript framework ideal for building complex, modern user interfaces within single page web apps.
View projects implemented using this framework that allows rapid development of native Android and IOS apps.
View projects implemented using this backend javascript framework for web apps.
View projects implemented using this high-level programming language great for general purpose programming.
View projects implemented using this server side programming language known for its ease of use and speed of development.
We have vast experience crafting healthcare software development solutions, including UI/UX Design, Application Development, Legacy Healthcare Systems, and Team Augmentation. Our development services help the healthcare industry by enhancing accessibility, productivity, portability, and scalability.
We offer a range of custom software development solutions for education companies of all sizes. We're experts in Education Software Development and specialists in enhancing the learning experience across web, mobile, and conversational UI.
We're experts in developing Custom Software Solutions for the Logistics Industry. Our work offered a whole new and more efficient way for Logistics companies to manage their crucial operations.
We partner with various construction industry organizations to build custom software development solutions. Our Construction Software Development Services allow construction companies to manage projects, resources, and documentation.
We have vast experience crafting healthcare software development solutions, including UI/UX Design, Application Development, Legacy Healthcare Systems, and Team Augmentation. Our development services help the healthcare industry by enhancing accessibility, productivity, portability, and scalability.
We offer a range of custom software development solutions for education companies of all sizes. We're experts in Education Software Development and specialists in enhancing the learning experience across web, mobile, and conversational UI.
We're experts in developing Custom Software Solutions for the Logistics Industry. Our work offered a whole new and more efficient way for Logistics companies to manage their crucial operations.
We partner with various construction industry organizations to build custom software development solutions. Our Construction Software Development Services allow construction companies to manage projects, resources, and documentation.
Learn more about our current job openings and benefits of working at FSL.
Detailed reviews and feedback from past and current clients.
Get to know the Management Team behind FullStack Labs.
Our step-by-step process for designing and developing new applications.
Writings from our team on technology, design, and business.
Get answers to the questions most frequently asked by new clients.
Learn about our company culture and defining principles.
A high level overview of FullStack Labs, who we are, and what we do.
A JavaScript framework that allows rapid development of native Android and IOS apps.
A JavaScript framework maintained by Facebook that's ideal for building complex, modern user interfaces within single page web apps.
A server side programming language known for its ease of use and speed of development.
A lightweight and efficient backend javascript framework for web apps.
An interpreted high-level programming language great for general purpose programming.
A JavaScript framework maintained by Google that addresses many of the challenges encountered when building single-page apps.
A JavaScript framework that allows developers to build large, complex, scalable single-page web applications.
A progressive JavaScript framework known for its approachability, versatility, and performance.
A dynamic programming language used in all sorts of web and mobile applications.
A cross-platform programming language designed to run robust applications on any device.
A UI toolkit used to build natively compiled applications from a single codebase.
A functional programming language that’s ideal for scalability, maintainability, and reliability.
A Customer Relationship Management (CRM) platform that seamlessly integrates with your business operations.
A high-performance programming language that makes it easy to build simple, reliable, and efficient software.
View a sampling of our work implemented using a variety of our favorite technologies.
View examples of the process we use to build custom software solutions for our clients.
View projects implemented using this javascript framework ideal for building complex, modern user interfaces within single page web apps.
View projects implemented using this framework that allows rapid development of native Android and IOS apps.
View projects implemented using this backend javascript framework for web apps.
View projects implemented using this high-level programming language great for general purpose programming.
View projects implemented using this server side programming language known for its ease of use and speed of development.
Several tools to enhance organization and productivity while working from home.
With the recent shift to working from home and organizations committing to keep the WFH model and closing physical locations, many are wondering what tools can help increase productivity and reduce distractions. Desktop space is at a premium, even with multiple monitors, and it can be hard to organize everything to where it can be found quickly. I have over a decade of experience working from home, including when I was an employee for HP (before it split into Hewlett-Packard Enterprise / HPE and Hewlett Packard Inc. / HPI) and most recently at FullStack Labs where most of the company works remotely. You might be wondering: “How do we maximize our productivity in this remote, distributed world?” This post describes some of the free tools available but also mentions some of the paid tools I have used and like as well.
Not surprisingly, the right tools make it very easy to stay organized and highly productive. The very first thing is a way to securely manage logins and passwords, especially because most digital tools require some form of login. My history as an IT administrator has made me security conscious, and with more and more instances of hacks and the need to have different, strong passwords, a login- and password-management tool is highly recommended.
I started using PasswordSafe a long time ago—it has high encryption, it’s free, and it has remained my go-to for password management. It has a password generator where you can customize the password policy and enables you to double-click to copy/paste your passwords. The thing I like about PasswordSafe is that it is offline, which can be viewed as either a pro or a con. It will not automatically enter passwords and does not really take multi-factor authentication into account, but that’s where Keeper can assist.
Keeper does everything PasswordSafe can and more, but it is not free. Keeper allows for centralized shared password management (which can be a security administrator’s dream) and integrates reasonably well with multi-factor authentication.
Managing window clutter can really help keep you organized. Have you ever had so many windows open that you had trouble locating the one you wanted? The following programs basically give you an application container with buttons to switch between each application. The upside is that you have less window clutter, but a downside is that if the application crashes you lose anything you had up in the applications being managed unless you saved the content.
Station is a tool I was introduced to at FullStack Labs, and it is a game changer! Instead of having tons of applications cluttering up my taskbar, I now have a way to centralize web-based applications. All of the tools I get into later in this post fit underneath Station. It has a navigation bar on the left-hand side with icons corresponding to the application, and the application pops up on the right. What is especially nice is that you can have a main login (e.g., Google email) that can then be used across the other applications. One nice benefit is that, since I use a personal laptop for both work and home, Station keeps me from fighting multiple identities as I launch applications.
Stack is almost identical to Station but additionally supports synchronization between multiple devices. This allows you to have the same application states between multiple devices (e.g.: desktop, laptop, tablet, etc.).
Having a checklist of tasks that need to be completed can really help keep you organized. Think of a shopping list - same principle. As items are completed, they get crossed off the list. The beauty of task-management applications is they have additional properties such as due dates and reminders so you don’t forget to do them in time.
If your company is a Microsoft shop, you probably use Outlook Tasks to manage your to-do list. I like the ability to create checkboxes/tasks from within OneNote and see them show up in Outlook. Using that feature sometimes results in rather long task descriptions that are not entirely clear, so I only use it occasionally. I also like how tasks can pop up as reminders.
If you do not have Outlook or if you have personal items you need to track, Todoist is a great option. I like Todoist a lot because it is intuitive and enables deeper organization than I found when using Outlook Tasks. You simply type in your tasks and, if you also include a recurrence and/or date/time in the task entry field, Todoist automatically sets the task properties. For instance, “review blog traffic every weekday at 5:00 pm” will create a recurring task every M-F. It also sorts tasks based on their due date like Outlook Tasks. You can quickly look at the items on your list and plan out your day. I really love the ability to group tasks underneath projects. As a business analyst/project manager, I often juggle multiple projects, so having a project-specific view as well as a Today view that lists all the day’s tasks really helps! The project is listed as well, so I know the task’s context.
Say goodbye to sticky notes on your monitor - note-taking applications can help you avoid the clutter. Being able to quickly find the notes you need can save you lots of time, increasing your productivity.
When I was a consultant for Microsoft, I really liked using OneNote integration because it made collaboration and managing meetings easy. I could set up a meeting in Outlook, tag it as a Teams Meeting, and send the meeting to OneNote to automatically populate a nice template for capturing notes. OneNote automatically brings in the attendees with checkboxes next to their names so you can quickly track who was at the meeting. It also automatically pulls in whatever content is in the meeting invitation. You can collapse most of the auto-generated content so it doesn’t take up space but is still available. At the bottom is an area for capturing notes. You can use OneNote with a personal account free of charge. One drawback is that if a shared team notebook grows too large and has too many people making changes in it, synchronization conflicts can (and often do) occur, sometimes without resolution unless a new page is created and the content transferred over. It is nice, however, that an entire notebook (including its internal tabs and organization) can be shared with other OneNote users as a single file and backed up that way as well.
If you are not concerned with Outlook integration, Notion is a tool to consider. It has a similar feel to OneNote and handles video embedding nicely as well. Notion also has Task Lists and Journals. The Task List is similar to a Kanban board with lanes and cards you can move between lanes. However, the Task List requires more setup than Todoist, which is why I did not list it in the Tasks section. With the popularity of the Agile methodology, Notion’s Task List can be used within a team when purchased, but there are many other options out there for managing a team task board, so I would only consider formalizing it as a team tool if it Notion is already part of the organization’s supported and licensed business platforms. Journal allows for date- and time-stamped entries with additional properties, and the entries are then able to be sorted and filtered. This is extremely useful for capturing recurring-meeting notes. Journal functionality does not exist in OneNote, so has to be organized manually, however it does insert the date in the note title whenever dealing with a recurring meeting.
Meetings are unavoidable, so what tools are positioned well for conducting meetings? There are quite a few tools that can host meetings, however, I list my top 2 tools here based on popularity, support, and ease of use. Being able to quickly schedule and manage meetings while you’re in them can really boost productivity.
Teams is a very powerful collaboration tool and has the power of Microsoft behind it. However, it seems to have a higher learning and adjustment curve. Videos are integrated with Microsoft’s cloud-based Stream service. On the upside, Stream enabled automatic subtitling, but when there is a lot of ambient noise within the room the recording’s subtitles can get interesting. Also, making the recordings available to individuals not on the original invitation list required several steps and the meeting organizer was the only one who could make those changes. Cloud-based storage of the recordings could be a real storage-saver, but I prefer to have meetings in the form of local recording files. I also really enjoyed Team’s continuity of common Office keyboard commands and the ability to paste formatted tables from Excel into chat. An important consideration is that even though Teams enables the establishment of quick collaboration spaces for teams, it can quickly become disorganized and overwhelming, making it hard to find what you need and leading to a lot of duplication.
I regularly use Slack and Zoom to meet and communicate with project stakeholders and team members because of how straightforward (and popular) both are. Zoom’s popularity is likely due to its easy learning curve. With its growth in prominence as a result of COVID-19, many already know how to use it.
Back in the day, I used to take screenshots and manipulate them in Microsoft Paint (e.g.: crop them down to what I really wanted to capture) - talk about painfully slow! There are many tools out there to help make that quick and easy, thereby increasing your productivity.
I find myself wanting to capture screenshots and even videos, but it can be frustrating when a screenshot includes a lot of unnecessary content and then you have to open it up in a graphics editing program to trim it down to what you want. I really like the capabilities of SnagIt, but it is not free. When you hit print-screen, SnagIt freezes the screen and gives a marker where your icon is. With the built-in zoom functionality, it lets you get to the exact pixel you want. You can also mark up images within SnagIt itself, join images together, and more. One feature which is really nice is the ability to blur sensitive information within an image capture. However, it was frustrating to have to make sure my mouse cursor was outside the area I wanted to capture.
A free tool for image capture is Lightshot. It operates very similarly to how SnagIt does, however its streamlined features make it much simpler, and it stays in the frozen-screen state as you mark up the image. I like how Lightshot has copy, share, and print icons right there in the main interface. I frequently ended up pasting the wrong thing when using SnagIt because I forgot to select everything in the marked-up image using CTRL-A and then copy it using CTRL-C. Similar to Snagit, Lightshot also intercepts print-screen keypresses to launch itself but seems to get to the screen-freeze state much more quickly than SnagIt.
Earlier I mentioned the ability to record meetings, but what about recording a video outside of a meeting? Loom is great for this and is free, but do note the free version does a little product advertising at the very ending frame of the video. I absolutely love how Loom very easily provides a screen and cam combination capture. There is a little cam capture in a corner of your screen along with the screen being captured. If you have multiple monitors, you can select the monitor to record. One thing to be careful of is that it captures the entire monitor contents — at the time of writing this post, you could not select a specific application or window to share like you can in Microsoft Teams. The capturing tools I listed can be especially helpful when generating screens for interactive prototypes, as described later.
As a business analyst, I frequently use flowcharts, wireframes, and mind maps to get everyone on the same page. Having the right tool for the job and cutting through all the confusion can really increase productivity.
I love the power and universality of Visio, but it is not free and can have connection hiccups when moving things around unless you explicitly connect lines between shapes to specific end-points on the shapes themselves, which can be tedious. There is wide stencil support and you can accomplish some really nice diagrams. One important feature it sports is the ability to create and organize processes by swimlane (horizontal grouping) and phase (vertical grouping).
Balsamiq can also be used to generate wireframes/mock-ups, but it is not free either. I really like how most visual elements can be dragged and dropped onto the canvas, making creation a real breeze. Many business analysts and organizations rally behind Balsamiq.
Whimsical is a set of free tools that enables easy creation of simple flowcharts (no swimlanes or phases), detailed wireframes, and quick mind maps. I love how capture begins in just a few clicks and how intuitive the interface is. Comments are visually indicated nicely and you can quickly and easily share without worrying whether the recipients have the right software loaded to view it.
Here is where the blog post focuses more on software development because that is at the core of what we do here at FullStack Labs.
At FullStack Labs, the Playbook provides guidelines for the project lifecycle. The Design project phase occurs before any development begins and is where everyone gains consensus for what should be developed. Because software is both visual and functional, being able to combine both as part of the requirements-gathering process is extremely helpful. We use Whimsical during the User Experience Design step to create a Feature Map/decomposition because it can do so very quickly and easily. We then use Whimsical to develop user flows to help with context.
Having an interactive prototype without needing to do a whole bunch of development ahead of time can avoid a lot of costly rework down the road and, most importantly, uncover requirements not yet mentioned. At FullStack Labs, we use Invision to develop and collaborate with customers regarding user interfaces as part of the User Experience Design step after user flows have been created and even during the final step (Prototype & Estimation) of the Design phase.
InVision allows for the creation of wireframes and interactive, online prototypes. Wireframes are great for gaining consensus on high-level interface layouts which can then be made into high-fidelity mockups. You can start with image files or files from Sketch (style concepts) or Photoshop. The high-fidelity mockups then become interactive prototypes with the addition of hotspot links. What is really nice is that, at the time of the writing of this blog post, InVision allows you to set up different user experiences including iPhone, Android, iPad, Android Tablet, Apple Watch, and Android Wear. In addition, you can add markup to pull fonts, spacing, and CSS assets using InVision Studio (also free). The prototype is easy to share and you can add labels to help move the prototype through the design, review, and approval stages.
I have used many different tools in the past to manage testing and quality assurance, and one common problem most QA/Testing tools have is that they can get bogged down in a lot of administrative overhead—the information isn’t really used all that often, making it difficult to enter and maintain entries. I really like spreadsheets for this purpose, but collaborative testing and feedback during the testing phase is better using Airtable. It enables discussion between the tester and developer, organization by priority and impact, listing which view/screen/item the feedback pertains to, OS, type of observation (such as praise or recommendation), and component being discussed (visual design, transition, and so on). You can include attachments such as screenshots and apply both views and filters to organize the information for different stakeholders.
As you can see, there are plenty of software packages available to help make your time working from home more productive. While the tools I showcase here are but a small glimpse of tools in the marketplace, they are some of the tools I have found to be particularly helpful. For those of you who are funding your work-from-home expenses (tax break, anyone?) many of the tools I listed above are at no cost to you, but typically at a cost of more powerful functionality.
We’d love to learn more about your project.
Engagements start at $75,000.