HN user

caspg

126 karma

I'm working as a Software Engineer and building projects on the side. Currently, I'm trying to launch https://veloplanner.com

https://www.linkedin.com/in/kacper-golinski-78aa3866

Posts9
Comments39
View on HN

For those interested in the technical implementation: I built VeloPlanner with my favorite tech stack: Elixir/Phoenix, React, and MapLibre GL JS. The architecture is a hybrid approach:

- Phoenix controllers for static content (route guides, listings)

- Phoenix LiveView for most of the forms

- React for the planner and interactive maps where high performance is critical

One of the bigger technical challenges was self-hosting all the infrastructure - I'm running my own map tile server and routing engine (Graphhopper) on beefy servers with lots of RAM to maintain full control over the cycling-specific routing algorithms. The memory requirements are substantial, especially for processing large-scale route data across multiple regions.

This approach lets me customize the routing to prioritize official cycling routes while still giving users flexibility when planning custom segments.

Happy to dive deeper into any specific aspect if there's interest!

I used Claude AI project to attach requirement for the project. Then I just went with single conversation. I specified that I want to do it in small steps and then was just doing copy -> paste until I reached the limit. I think it was because I was doing one big convo instead attaching code to the project.

So pretty simple flow, totally not scalable for bigger projects.

I need to read and check Cursor AI which can also use Claude models.

I wanted to develop a simple tool to compare maps. I thought about using this opportunity to try out Claude AI for coding a project from scratch. It worked surprisingly well!

At least 95% of the code was generated by AI (I reached the limit so had to add final bits on my own).

Newsletter signup form uses LiveView https://veloplanner.com/newsletter/new I was testing LiveView with page transitions and it was working quite nicely with maps as well (maps were handled by JS of course). You can play with it here https://travelermap.net/ - you can check search (cmd + k) which is powered by LV.

EDIT: As for plans for veloplanner, I'll be adding some of the interactive features (comments etc) as LiveView.

I'm running a https://velomapa.pl - website with cycling related stuff (routes, races, photos, and other stuff) in Poland.

It's a super seasonal niche. During the season it brings around $1000/month through various types of ads and donations.

Now, I'm building and growing https://travelermap.net, which hopefully will work nicely all year around. It's also a content site that I'm planning to monetize using ads.

Initially, I just wanted to map parks from the US but then I got carried away. The website also allows previewing of Wikipedia articles about each park.

Data about national parks come from Wikipedia. I'm sure it's missing quite a few less popular parks. Let me know if you find something missing.

It's built with Elixir/Phoenix, TypeScript, and MapLibre. It's just a static site for now but I'm planning to add user accounts and community aspects to it. I think it will be cool to allow rating, reviewing, and uploading user photos.

I'm working remotely most of my career. My first programming job was for a software house. Their approach was remote-first but they had an office in my city. They required to be on-site for the first couple of months and after the initial period, I was working 100% remote. Next, I moved to work directly for startups with full-time remote contracts.

Working remotely is not for everyone plus companies prefer to hire people with prior experience. I think the crucial thing is to get some remote exposure before finding a full-time remote job. Probably, the easiest way to do this is with freelance work or negotiating partial remote with current employer.

I believe that online presence helps to find remote job (more than an onsite job). It won't hurt for sure if you can show a nice blog, programming related twitter or side projects.

A few times, I did what you described. I was working and experimenting for couple of days and after I was satisfied I "brought project up-to-date". But this caused me headaches a few times. It's hard to revert certain changes, hard to understand what was going on a couple of days ago.

Right now, I wouldn't work for 5 days without a single commit. Those "best practices" were invented to address concrete problems.

My advice is not to worry about commit history when you are starting. But definitely try to commit as often as possible. Group changes in logical chunks. Try to use meaningful commit titles and messages.