Day 7: Week 1 retrospective - what worked, what didn't
Day 7 of 30. End of week one. Time to be honest about where we are.
Day 7 of 30. End of week one. Time to be honest about where we are.
We’ve been heads-down for a week. “Shipping” every day, or at least thinking every day, and writing about our learning. But are we actually on track? Let’s review.
The 30-day progress
30-day progress
==============================The goal: build a screenshot API SaaS and get our first customer in 30 days. Specifically, by day 15 we wanted to have something people would find useful and which works well.
That’s 8 days from now. Exciting!
What we actually accomplished
Week 1 progress
On paper, we’re on track, and every planned task got done, more or less. We’re sure we can make improvements on each step, but for now, we have a solid basis.
What’s actually working
The screenshot engine works. We can hit an endpoint, pass a URL, and get back a PNG. It takes 2-3 seconds for most sites. That’s the core product, and it works.
CI/CD is smooth. Push to main, wait a few minutes, it’s deployed. There are no manual steps, and the setup is simple.
Costs are controlled. We’re under $10 per month, not counting our own hours.
Daily writing is sustainable. We were worried the dev log might feel like a chore, but it doesn’t. Writing clarifies thinking, and knowing we’ll publish keeps us accountable.
What’s not working (yet)
We don’t have an API yet. We have a screenshot function. But there’s no authentication, no rate limiting, no job queue, no user accounts. Someone can’t actually use this as a service yet.
No landing page. Besides our blog, we have currently zero web presence. If someone wanted to sign up today, they couldn’t.
Scope is not well-defined yet. We have a lot of potential features in our backlog which we’re keen on delivering, but we have to make sure we’re keeping track of our mission.
For a customer by day 15
Day 15 requirements
That’s a lot for 8 days, but not impossible.
The numbers
What would success look like?
By day 15 (end of week 2):
- Landing page live
- API functional with auth
- Stripe integration working
- Posted in 3+ communities
- At least 5 beta signups
- Ideally: At least 1 customer
By day 30:
- Stable product
- Clear documentation
- 10+ users (free or paid)
- At least $50 in revenue
- A decision: continue or sunset
Lessons from week 1
Infrastructure first was right. Having CI/CD and hosting sorted means we can now move fast on features without deployment friction.
Writing takes time but pays off. These posts take 30-45 minutes each. That’s time not coding. But they force clarity and create a record we’ll value later.
The boring stuff matters. We spent zero time on “exciting” features like AI enhancement or visual diffs. We spent all our time on Docker, databases, and deployment. That’s correct prioritization.
Solo building is hard. No one to bounce ideas off, no one to catch mistakes, no one to share the load. We’re managing, but it’s harder than working with a team.
Tomorrow: the actual API
Week 2 starts now. Day 8 we’re building the REST API contract - the endpoints, request/response formats, error handling. The interface that developers will actually use.
Let’s go.
Book of the day
The Lean Startup by Eric Ries
The classic. We’ve read it before, but week 1’s retrospective reminded us of its core message: build, measure, learn, ideally as fast as possible.
We’ve been building, but we haven’t been measuring enough. We haven’t introduced analytics yet, we have no landing page to gauge interest and we have room to improve in our marketing of our product.
Ries would tell us to get something in front of potential customers immediately, even if it’s embarrassing. Week 2 is about closing that loop.