With over a decade of experience as a developer and product lead, I've seen it all. From the frantic pace of startups to pet projects with zero structure, and the rigidity of corporate environments. I've observed the pitfalls of launching a project with zero planning, and the dangers of falling into over-engineering and over-planning. The further you stray from the balance between speed and optimization, the worse the outcomes, sooner or later.
How do you launch a project quickly to minimize time to market without descending into chaos? This was the challenge I faced when starting cryptodesign.club.
Stage 1: Whoami - Understanding project context
Before diving in, understand the scope of your project. Ask yourself:
- What’s the budget?
- Are there any deadlines?
- What skills do you and your team possess?
- How much time can you realistically dedicate?
- What’s essential for the MVP?
- Is there a roadmap beyond the MVP?
- Who are your competitors, and what are they doing?
- What's your competitive edge?
- What are the milestones and goals?
Orientation is crucial. Without it, you risk heading in the wrong direction, wasting time and resources. I won’t go into further detail, this phase has been covered countless times in other articles before.
CDC Context
- Budget: Nearly zero.
- Deadline: None.
- Team: 4 members (full-stack developer (me), 2 designers, 1 front-end dev).
- Motivation: High.
- Time Commitment: Side project; main gigs take priority.
The MVP is a gallery website. Indirect competitors include Dribbble and Layers.to. Unlike others filled with design fluff, our designers personally experienced the need for practical crypto design inspiration. Post-MVP launch, we may adjust based on what works.
Stage 2: Booting Up
Now that your goals and circumstances are clear, gear up for your project. Like preparing for a journey into harsh conditions, ensure you have your essential tools ready.
Communication
Establish a dedicated communication platform for your team. Use a familiar work-related chat app to minimize friction.
Profiles
No matter what, you will want to reserve the following:
- Web domain
- Email address
- Chrome profile/dedicated browser/dedicated machine
Depending on your project, you might need social media accounts, design software, project management tools, etc. Stick to essentials and prefer tools you already use. You can always expand later.
CDC Context
- Domain: Registered with Namecheap.
- Email: Obtained via ProtonMail.
- Browser Profile: Created a Brave profile for project-specific accounts.
- Tools: VSCode, Notion, Figma (already installed), and Discord (created channels).
Stage 3: Divide and Conquer
With a clear understanding of where you stand and your milestones, it's time to start. However, don’t rush; instead, break down the problem into manageable chunks.
Divide and Conquer is one of the best algorithms to break down any sufficiently complex problem. Pretty much every business is a non-trivial problem.
Caesar famously applied this algorithm during his conquest of Gaul (modern-day France). Rather than attacking the entire country at once, he focussed on conquering one tribe at a time, which led to consistent success. By breaking down your problem into smaller, manageable chunks—just as Caesar did with the armies of Gaul—you can achieve your own Veni, Vidi, Vici.
CDC Context
We have two members with substantial followings, so we designed a landing page for a waitlist in Figma. Implementing in Next.js, hosted on Vercel and integrated with Loops.so, allowed us to efficiently control the design and UX and ramp up a successful pre-launch campaign.
In a meeting, we decided on creating an MVP as the first milestone. We listed potential features, skimming it down to what was essential. The rest went into a potential v2 list.
In order to create v1 we definitely need a design, a frontend and starting content. The design is done in Figma (already paid for), the frontend done with free VSCode, hosted for free on Vercel. The list of content is curated by team effort. Seems like we have all the tools together and spent 0 bucks so far and this is going to be a fast one, we are on track.
We could probably skimp on having a backend at this moment, but decided to go for that anyway, as I realised having a headless CMS is sufficient as a backend solution and I have previous experience using self-hosted Strapi on render.com on a basic instance. Again this is free and fast to do. And all of this is scalable for future versions / change of plans, so might as well do it.
Stage 4: Parallelization and Optimization
So far this was a team effort. In order to optimize resource usage you now want to split tasks between team members so less time is wasted going further single threaded.
Ideally everyone should do what they know best. However, in a fast-paced startup you might end up doing things you have no idea about. Try your best to learn but don’t hesitate to reach out to team members / friends / the internet if you need help to not slow down.
Clearly communicate if blocked by dependencies. Collaborate to find workarounds, help others, or switch to another task.
CDC Context
We setup a Kanban board in Notion. Prioritized tasks as good as we could and assigned team members. Whenever there are dependencies, we talk about that in Discord to not block each other.
We chose Next.js as both devs were already familiar with it and React and the new App Router is great for UX/site speed/SEO.
We went with Strapi as our CMS. Why? It’s free if you self host. It’s very scalable for image hosting as you can integrate pretty much any image hosting service and there are plugins for every popular one. So unlike using Sanity or Contentful CMS we can scale better with serving images by hosting them on Cloudflare R2. We also looked at Payload CMS as its quite hyped now, but a quick look at the open GitHub issues revealed that it’s not ready for show time for us at the moment, we don’t want to run into framework issues or migration pains down the road.
Also, Strapi gives us a good GraphQL interface and we were able to copy/paste the integration code for Next.js form another project, more time saved.
For the frontend we are running with CSS modules as both devs are familiar with them and they are quite easy to write and maintain.
But, but, could you not have done this in an easier way?
Yes, we could have approached v1 in various ways. However, building a flexible system from the start prevents us from having to retrofit a basic v1 when we pivot for v2. This strategy saves us from extensive future refactoring and keeps the additional workload manageable. Our thorough market research and growing waitlist give us confidence in our approach. If circumstances were different, a more bare-bones methodology might have been considered.
Stage 5: Deployment
Keep your goal in mind. You have a great idea and you want to bring that to market as fast as you can to test your business theory and get feedback. And maybe pivot. And maybe you stumble upon other things in the meantime. And hopefully you get some cashflow going with this.
Having a Kanban board with tasks quickly gives you an overview of what’s missing until you reach your next milestone. If you see something blocked, help unblock the task. If you don’t know what’s going on, reach out to your team member. Sometimes things take longer than planned and that’s ok also, as long as you keep that laser vision on getting your MVP out.
CDC Context
The MVP isn’t out yet. We aim for an MVP launch by month's end. Despite full-time obligations, progress is steady and well-communicated.
This balanced approach has kept us on track without straying into chaos. By focusing on essentials and leveraging familiar tools, we've managed to avoid pitfalls and optimize our time to market while setting a strong foundation for future growth.
Stage 6: Infinite loop
Once the MVP is launched we will gather all feedback and go back to the drawing table. Figure out what’s needed next and set up another milestone that we can follow.
Scale efficiently and thrive 🖖
Top comments (0)