Projects
Phungible

created by David

A simple budgeting app for those with simple "paycheck in, bills/expenses out". It provides the ability to project how much money you'll have on any given day, assuming you stick to your proposed budget.

ProjectGallery.Me

created by David

Still in early development. Initially, this was a just project to get a little more time under my belt with Next, AWS, and Mongo. Then, I decided to see if I can polish this up into something useful for others who just want a place to showcase their projects and the journey.

Journal Posts
So, once again, I've done the classic developer move of turning my attention away from making ProjectGallery.me presentable and attempting to get users. Instead, I spent recent time converting this to react server components. See the PR here At first it was quite painful as it was buggy as hell. But the Next team stepped up and made things much more stable. And RSCs are an absolute dream to work with. Just from this near straight conversion, almost 1k lines of boilerplate vaporized. This was due specifically to not only RSCs, but also react's server actions (which I originally thought was a NextJS-specific concept), and Next's layout system. Looking forward to eventually putting some attention toward actually making it at least pretend it's usable😂
Personal Post
Since December, I've launched two projects: ProjectGallery.me and GlobalPlaylist Chrome Extension. However, when making these, I committed the cardinal startup sin and had 0 plans for how to market or generate revenue from them. Thus far, I've taken the approach of solving my own immediate problem and hoping that others might have the same problem. Though I'm still getting value from them, it's still basically a "build it, and they will come" approach to business, which is fundamentally flawed. Unfortunately, I don't have any other ideas to work on. At the moment, my plan is to just continue to iterate on these for my own use until I have some other idea that I'm excited about. All that said, I did make some improvments along the way. ProjectGallery.me took me over 3 months to get to something I would call "MVP" (which is really kind of a lie since a "product" requires some way of making money, but I digress...), which was super fast relative to what I'd normally take for a project. But from conception to launch, GlobalPlaylist Chrome Extension was done in under 2 weeks. My hope is that I can come up with some idea that I'm able to boil down to an MVP and turn around in a similarly rapid pace to begin to actually validate it. But until then, I'm going to use my free time to chug on these 2 projects. Hopefully, I'm not just filling the void with meaningless work with no movement😅
Once I got ProjectGallery.me into a usable spot, I'd realized that I had no direct path to any revenue without volume. So I decided to change my focus to something more simple for the time being. As complicated as that could turn out to be, I need to figure out how to crawl before I start running. Starting again And that's when GlobalPlaylist was born. Much like ProjectGallery.me, GlobalPlaylist solves a problem I have. And I'm imagining others could have the same issue. That is, I consume copious amounts of video content from various sources (such as YouTube, Odysee, and Spotify) and my current workflow is to throw them all into a window and go from one tab to the next as I finish them. GlobalPlaylist streamlines this for me. I can add lists to a playlist on the fly and the extension will go from one video to the next automatically. And I'm hoping to soon add the ability to add text-to-speech articles to the list. What about the Benjamins? Or...Washingtons, as it were... My business plan for this is to make the extension open source, free with complete local functionality. While the development and marketing time are obviously not free, they require no ongoing cost on my part. Making it available on the Chrome Web Store allows me to try and get users in the door and see what they actually use. Once I start getting initial feedback and have a set of users who like the base functionality, I can then offer a premium service for any features that could require a server, such as syncing playlists across devices, the ability to share lists, and maybe eventually a mobile app. Nothing crazy. Just a couple of bucks in exchange for an account to sync to. He can be taught! One of my goals for this next project was to shorten the cycle time and try and shift more focus on getting users. And I'm happy to say that I succeeded on this front. ProjectGallery.me took over three months from conception to the current state which I'd actually call "MVP". This project is much more bare-bones and went from ideation to app store submission in less than two weeks. And most of that was rediscovering the current state of browser security media security limitations and how to work around those. While I'll still be making relatively small iterations, I think the majority of my time over the next week will be geared toward hitting a goal of 10 installs. Wish me luck!
After much delay, I've finally gotten a first draft of the landing page completed and published. This has been something I've been putting off for quite a while. My first mention of this becoming my priority was January 11. That was almost two months ago. For context, the bulk of the existing site functionality was created in less than a month (the first commit was December 19). As difficult as this simple, nonsense page took to finally get into production, I'm starting to realize that this was just blocking another task that I've been procrastinating on: figuring out who the paying customer is and getting that first dollar. My idea is to sell job listings to companies looking for high-quality, self-starter talent. You know...that type of candidate who might have projects that demonstrate their passion and skills in tangible end-products. But being a two-sided market problem, I am coming to the realization that this might be a bit advanced for any shorter term feedback. This is going to have to be something that takes more time to grow. And the only way I know how to grow this is to grow a user base by being my own enthusiastic first customer and trying to build an audience. Gear shift While I do this, ProjectGallery.me development might be moving to the back burner. But I'll be an active user while fixing bugs and making small-ish tweaks in the meantime. But new major functionality will probably be frozen for a while until I can begin getting user feedback. All that said, I'm probably going to spin up a new project of some sort. Something much smaller in scale that will hopefully be a much more beginner-friendly path to market validation. And, of course, I'll be logging the experience here on ProjectGallery.me. Time Well Spent Of course, this begs the question: have I been wasting my time and do I continue to do so by trying to make something work that is not within my capabilities too do so? The answer here is a firm "no". For one, I've made several versions of a portfolio in the past. And since each one of those currently rests in a project graveyard, they were objectively wasted time. This is something that I can still leverage in the future since it was implemented as a multi-user application as opposed to a hard-coded one-off. I spun up ProjectGallery.me relatively quickly because I leveraged functionality from previous projects as a base. And with this project, I've further refined those pieces and even expanded the functionality. Of course third party services exist to handle some of these things, such as authentication. But these often come with the caveat of having to figure out how to make these work offline. Or worry about the pricing model or vendor lock-in. With this iterative approach, the core of the app keeps getting batter and becomes easier to leverage in the future. Keep on Keepin' On And with that, I think that pauses things (or rather, significantly slows down) work on ProjectGallery.me while I try to focus on my next project. Can't wait to tell everyone what that will be (including myself)!
When I was younger, I wanted to find some software solution for tracking my money. When I shopped around, it seemed like everything was geared squarely at CPAs. Given that I had no assets, a paycheck, and bills, I wanted something simple that would help me determine how much money I would have on a given day and flag when I might go red. This app has taken on a couple of incarnations. The earliest of which was written in C#. This latest iteration is a rewrite of an Angular/Couchdb version I'd developed. Unfortunately, my financial situation is a bit more complex than when I first came up with this idea, meaning I was never able to dog-food this and give it an extended run. I used this as more of an excuse to try out Ionic's new React version. In the end, I'm quite happy with the results, but sad that I'm currently disconnected from the situation that originally drove me to create Phungible.
This week, I spent a lot of time spinning my wheels. My original intent was to work on the landing page to let people know what exactly they are looking at. But as I started thinking about it, screen shots are one of the biggest components of landing pages. That meant I needed to start adding my own projects. Ya know, really dog-fooding it before really trying to serve it to others. But as I started doing that, it still felt off. Honestly, this is probably procrastinating actually using the app since that would mean potentially getting more eyes on it. But either way, I ended up reworking a few things that I feel are a good baseline. Here are the change highlights: Changed user gallery to a tabbed layout where the project details are separated from the journal posts Added a short bio section to the gallery that is displayed at the top Added a detailed bio section under "about" tab in the gallery for people to enter longer breakdowns about themselves Reworked project pages into a tabbed layout with project details being separated from the journal Added a "links" section to project page Though it's still very much a skeleton (I'm using the default MUI theme still...), this feels like it has the basic information to make it more usable for my purposes. And being my own first user, my hope is that this translates into solving a similar problem for others. Hopefully, I can more easily communicate my intent through this example. With that said, my next steps will be to load up my gallery with my own projects and then create a landing page using screenshots.
Not exactly a trail-blazing day, but I'm glad that I did get some work done. Even though it wasn't my most productive, I'm calling this a win since I really wanted to roll over and be lazy tonight. My plan was to address the landing page. But considering that I'm not exactly on my "A" game, I opted for something more menial. I finally got around to fixing a sorting bug and also properly hiding unpublished journal posts. That sets the stage for me to implement auto-saves (which the lack-of as bitten me a few times due to an auth bug I'm still chasing down). Additionally, I added a "journal" section to the project landing page. Now, all the thoughts about a particular project can be read (such as the thoughts about a little project called ProjectGallery.me 😅). Even though I got some stuff done, I really need to start addressing the landing page issue. That, and I also need to start looking at the gallery and project pages as landing pages of their own since the intent is for users to use these to share their work with the public. The biggest difficulty will be getting away from that nagging, and incorrect feeling that I'm wasting time if I'm not pushing code. But with that, another day in the bank!
Yesterday was the first time in a while that I haven't made any code changes. While I did do a little bit of work on the site, I can't help but shake the feeling of not having been productive if I'm not writing code. It's one of those limitations of naturally being the "technician" of the entrepreneur/technician/manager business personalities that I need to break through. As of now, coming to ProjectGallery.me is completely confusing because a new person has no idea what they are looking at. I am just vomiting data at them with no context. Up to now, I've had this idea that I want the site to be immediately useable by anyone who gets to the page. I'm basing this experience off of something like Twitter where you are immediately greeted with your feed. There are two things I've missed by running with this goal. Twitter has a landing page when you are not signed in Twitter's has little use to a lone user. Given this, it's obvious that I need to rethink what I want to do with the landing page and go with something more traditional. And breaking this down, it's also apparent that I am waffling between two primary objectives. My stated primary use case is for ProjectGallery.me to allow users to showcase their portfolio of work and to attach context through journal posts. However, by wanting to immediately present stuff to an anonymous user, I'm simultaneously trying to solve for the discovery of interesting content, which is secondary. Basically, I need to refocus and remember that I am my own first customer. Until I have a simple showcase that I'm happy to enter all of my toy projects as well as my bigger ones (such as this...) and I'm able to communicate this intent to others who have the same need, then I shouldn't be wasting time thinking about discovery. As for creating a more traditional landing page, @remotejoeclark made the fantastic recommendation of checking out https://landings.dev/ by @nilansaha. My main task this evening will be to skim through and get some inspiration for how to communicate the intention of ProjectGallery.me.
I still have a lot of work left before the user galleries are anything that will potentially start gravitating users. But I'm moving the basic lego blocks into place. The gallery page now shows the two most recent projects and a list of recent journal entries. I need to figure out how I want to divide the screen real estate between project cards and journal list items. I might have to make this configurable since this may need to be case by case. I want galleries to be largely standardized, but I also want them to work for the purposes of showcasing projects and the thoughts of that went into them. Still need to think some more on this... I also still have a lot of basic stuff that's actively getting in my way as a user. To that end, I implemented sorting for the images in projects. Up to this point, I could add/remove images, but I couldn't change the orders. A couple of times, I went to the database to make some changes. That should have been a red flag that I should have just bitten the bullet and made this change. It's pretty simple stuff. The control elements only show on hover, but for the purposes of mobile, they are always present when on a smaller screen. I probably should have also added some transparency for this case as well. But oh well. Another day, another piece of stone chiseled away from the rock!
Had some time to hide away at a coffee shop on Saturday and get a little bit of momentum. Unfortunately, just as I was hitting my stride, it turned out that they closed at 4pm instead of 7pm as was posted on their website🤦‍♂️. No matter. Still got some progress. As usual, I also squeezed in micro sessions of coding when I could between family time. Part of what I wanted to get do was get all my todos down in a file. For mhy day job, I'm all too familiar with the major project management tools and will do anything I can to avoid more time in them than I have to. Also, being a one-man show, there's no reason to over complicate the situation. I just need a simple todo list to capture work as I come up with it that lives in my code as opposed to an external service that I'll never visit. With that, I did find this nice extension for vs code that is essentially just a thin presentational layer over a todo markdown file, which is perfect for my needs. Beyond that, I got journal posts showing on the main page. I tried a couple of different looks before settling on what is there now. My top priories are to Clarify the intent of ProjectGallery.me Figure out the business model In reality, 2 is the top priority since a project is not a product until someone is willing to pay for it. And 2 can't happen unless 1 is done. From there, being user number 1, I'll continue iterating on it for my own needs and posting about it and other projects as I go. Exercising the app as it meets my needs I'm hoping will function as the best form of advertisement.
Today, I finally got around to doing the hard part: making a logo. Being completely phobic of anything resembling design work, my first approach was to try out some AI tools, but couldn't find anything that seemed to work. Then, I tried some of the more traditional, established logo design services with similar results. Then I remembered that I had a Canva subscription that I've used probably once in the last year. I queued up a few tutorial videos on the topic and after a few minutes, took a step back and reminded myself that I'm still working with an MVP. And in the same way I'm ok cutting software development corners, I should be ok cutting corners here. So i just slapped up the name and the tag line and picked an icon. Boom. Done. The result can be seen here. The next item of business was to add open graph and twitter tags to enable eye-catching cards. For the base site, I am using the above image. For projects, I am using the first image of the project in question. And the journal posts currently show no image (though, that's probably a bug since I would expect the base site image to be showing). Once I add images to journal entries, that will similarly be shown in the preview card. The tests posts for these can be found here. Tomorrow, my main target will be the home page and clarifying the purpose of the platform.
Not a of lot actual progress today. Mostly a day of taking steps to get Twitter cards working and trying to figure out how to communicate the goal of ProjectGallery.me. While filling in the open graph metadata, I had to start thinking about things like the tagline. While I came up dry, thankfullly ChatGPT was able to come to my rescue. Of the five choices it helpfully manifested, I am deciding to run with "Your work, your story - share it with the world no [website name]". Unfortunately, I was not able to be as lucky on the logo front to populate the Twitter card and the favicon. I tried a number of ai logo generators, but couldn't find anything that felt right. After that, I'd forgotten that I have a Canva subscription that I'm throwing money at but not using. After playing with it for a time, I'm thinking that will be my best bet to come up with something half workable. I'll probably have a bunch of Canva youtube videos playing in the background tomorrow during my day job.
Mental note: Create an incremental save feature on journal entries. Because I really don't like typing things twice Mental note 2: Also, finish getting images into journals. It looks barren without them... Had a bit of a rough day (well...really "a rough last night" considering my dog was psych-ing me out all night making me think he had made a mess when it was really just bad....bad gas...), but still managed to get a few bug fixes in. Really, my next priority needs to be communicating the goal of ProjectGallery.me, which I haven't really reviewed since a couple of weeks ago when I first came up with the idea and posted about it on twitter. Ultimately, ProjectGallery.me is intended to be a portfolio of work for people to showcase their work, big and small with context about the technology or experience in building it. It's not looking to be a competitor to Product Hunt, which, as the name implies, is geared toward commercial products. Being a place for portfolios of work, I want this to be a place for everything from cool toy projects all the way up to full on commercial products. One reason for this is to relieve the pressure that comes along with trying to burn mental cycles coming up with some personal, stand-out way to show off the work when your work has very little to do with that sort of thing. Having a standardized portfolio relieves some of that pressure and allows the work to speak for itself. Additionally, I want to make it easy to find other work for learning or inspiration. I have yet to implement search (considering not much is here, yet), but it would be great to be able to search for projects people have done in a particular space or even with a given technology and read about their experience. But this will not be prioritized until there is a little content. That said, I have my first external user! Thanks to thystle for taking the time to add his project STEMin10!
Just getting started! This is the first developer journal entry on ProjectGallery.me (for both the project listing as well as the site itself). I'm calling this point "MVP" and am looking forward to actually begin using this, even in it's primitive form, while I continue to work on it, as well as continue to document the development. By no means am I ready to start actively promoting this and seeking users considering that the functionality, while present, is not exactly self explanatory. And that's assuming that you ignore the several bugs I've already found as I raced to make this post before I turn in for the night. But I'm not going to prevent any curious passers-by from creating an account either. I anticipate I'll be sliding time over into promotion as ProjectGallery.me takes shape as opposed to making a hard cut from dev to marketing. But tomorrow is another day with more progress as I chip away!
HomeGalleriesLogin