Making Entrepreneurship Accessible

Fatima Rizvi
8 min readFeb 2, 2021

Dating apps were born because single people had trouble finding other single people to date.

Job boards were born because people looking for employment had a difficult time finding potential employers, and companies struggled to find the best candidates to fill open roles.

Similarly, potential entrepreneurs struggle to get proper training and funding, while programs that exist to train and fund them strain to actually find the potential entrepreneurs.

Enter MicroFund. MircoFund was created to connect potential entrepreneurs to programs created to train and fund entrepreneurs- mircoentrepreneur programs.

Current MicroFund landing page, UX/UI to be improved by future groups

How it works

Microentrepreneur programs can apply to join MicroFund. Once their application is approved, they join the database of microentrepreneur programs and become partners of MicroFund. Potential entrepreneurs, individuals who would like to participate in microentrepreneur programs, can create an account of the MicroFund platform. Once they’ve created an account, they can apply to one or more partner organization programs.

Creation of MircoFund

The idea for MicroFund came from Lambda School, an intensive online coding school, with the aim that other companies will be able to use the application we are building. The project is worked on by students who are in Lambda Labs, which is the final unit in Lambda School where students have the opportunity to work on cross-functional remote development teams on projects with a real-world application. It’s the most anticipated unit of the entire course, I was both thrilled and anxious about starting it. It could’ve been the best month I’d had yet, it could’ve been a chance for me to realize I’d been completely faking it this whole time and let my team down…

… Dramatic, I know. Imposter syndrome (while manageable!) is never fun.

My team took over MicroFund during its second month in Lambda Labs, meaning that we inherited an existing code base from the previous student team. This was a great learning experience for most of us, as during previous team projects we had always started from scratch.

Mapping Out Our Plans

We met with our stakeholder at least once a week while we worked on the project, and they gave us three main goals:

  • Improve the user interface and overall user experience
  • Complete any incomplete tasks from the previous group
  • Give users the ability to track, review, and accept/reject applications

Our first few meetings were focused on brainstorming, breaking down our tasks, and planning. During a brainstorming session, we began talking about the best way to allow users to track, view, and accept/reject the applications they’ve received. We came up with the feature that I spent most of my time working on: a search page where users can filter and search through all applications by name and status.

With these goals and features in mind, we came up with 10 user stories, which we then broke down into specific engineering tasks that were assigned to each of us.

Trello card with a user story broken down into engineering tasks

We then worked on creating user flowcharts, wireframes, and improving our understanding of the codebase. This planning process, while exhaustive, made our later work much easier. We had a plan broken down into tiny, manageable steps, wireframes to keep everyone on the same page, and a way to clearly track every one’s progress. Furthermore, breaking down the tasks so thoroughly helped us to see where we could make reusable components that could be used across the whole application, saving us time.

An Obstacle Course of a Month

I mentioned earlier that this month was a great learning experience. Of course, “great learning experience” is another way to say that “there were many challenges”, so let’s talk about those challenges.

One of many errors I ran into attempting to run the frontend locally

For starters, we couldn’t get the backend to deploy or get the frontend up and running. We ended up having to discuss the deployment process with Lambda School instructors in order to find some well hidden error.

Meanwhile, it took me until Thursday of week two to get the frontend running locally. I ran into multiple errors, which I eventually solved with help from Google searches and other teammates.

The highlighted route “/search” is a SecureRoute on the deployed website, but in order to access it locally I made it public.

However, even when I did get the frontend up and running, I couldn’t actually log in and get an authorization token. At this point, I decided to alter the application’s routes (only on my local copy) in order to bypass the need to login so that I could begin coding.

Those major issues, along with the time devoted to the planning process, meant that we were one and a half weeks into our alotted four weeks before we got the chance to write any code. Other issues we ran into were learning react-query for the first time, determining and fixing flaws in the dependencies, learning to use and reconfigure a new styling library, and most importantly understanding how much work was already completed by the previous team before we inherited the codebase. It was a busy month.

Searching for Solutions to the Search Page

JSX for SearchPage.js

Once we started coding, I got to work on creating the search page. I ended up breaking this feature down into three main components: SearchPage, SearchInput, and CompactApp.

SearchPage.js contains all the smaller components, retrieves data from MircoFund’s backend, and manages state while SearchInput holds the form to input search criteria. CompactApp displays a button with condensed application information. Upon clicking, a modal expands with a more detailed view of the application along with the option to accept or reject it.

Logic to filter out applications based on input from SearchInput,js, located in CompactApp.js

While working on this feature, I also got the chance to freshen up on my CSS. I used a style sheet to modify the ant design button component and to improve the general UX of the page.

Due to the authorization issues I mentioned earlier, I was unable to use our custom react query hooks to retrieve data the way I wanted. My goal had been to access the applications available to the logged in user only, but since I couldn’t log into the application locally, I was unable to use the hooks. So in order to build a functional filter, I alternated between using dummy data and accessing all of the applications in MicroFund’s database using an endpoint. These issues also meant that I was unable to make the accept and reject buttons on the modals functional. The groundwork is laid out for them to be able to toggle the application status, but it isn’t currently something a user can do.

The search page on the initial render, populated with dummy data
The expanded modal after selecting an application

Lessons Learned from this Learning Experience

Despite the jokes I’ve made about this past month being an “obstacle course”, I really did find it to be a valuable time. I learned so much about how to look at the big picture of a project and break it down into the smallest parts. Creating user stories was new, as was a user story flow. Although I’d used trello to plan out team projects before, I had never done it to the extent that we did now, breaking down every feature into small engineering tasks and assigning those to specific team members.

Our stakeholder meetings also gave me the opportunity to practice presenting code. I would typically speak for my team during these meetings and describe our current status on the project, the decisions we’d made, why we made those decisions, and our plans for the next step. It was somewhat nerve wracking at first, but over time I gained confidence in my ability to provide a clear and thorough briefing.

MicroFund’s Current Status

Over the course of the month, we completed and delivered the following features and fixes:

  • Partner organizations can submit applications to join MircoFund. They can see their application status.
  • Potential program participants can submit applications to join a partner organization. They can see their application status.
  • Altered the setup of the backend to give it proper authorization and to add the correct authorization and authentication to the endpoints.
  • Users can view their dashboard.
  • A search page with a functional filter.
  • A page to view a specific application in its entirety.
  • A page to look through all available partner organizations.
Quick demonstration of the search page

The Future of MicroFund

There were some features that we were unable to deliver during our time in Lambda Labs. One feature, as I mentioned above, is making sure the search page only displays applications that the logged in user should have access to. Some of the others are giving users the ability to toggle the status of the applications made to them, and allowing organizations to update their profiles.

Even more generally, I think the design of the application could be greatly improved. During some of our planning meetings with our stakeholder, we discussed wanting the design to be as neutral as possible, so that anyone who decides to use MicroFund can alter the themes and designs as they’d like. I don’t think we’ve accomplished that goal yet. We also don’t have a way to navigate the application (like a nav bar), which greatly hinders the user experience, as well as many other smaller features which might improve the UX/UI.

These incomplete and missing features will have to be developed by the next group of students who take over MicroFund. I think they are going to run into some of the same challenges that we did regarding authorization, but the changes we made should ensure they don’t struggle for so long (or at all) to deploy both the frontend and backend. Hopefully our documentation- our up to date trello and the detailed GitHub pull requests- will help them hit the ground with a running start and allow them to start coding much sooner.

Overall, I think that MicroFund has the potential to help many people by making entrepreneurship more accessible. It might not be ready to launch yet, but I think that given a few more rounds of Lambda Labs, MicroFund will be an extremely useful platform to connect potential entrepreneurs to the resources they need.

--

--

Fatima Rizvi

Full Stack Web Developer who enjoys creating things, be it with her laptop or her hands.