hello friends . We are in sofia , bulgaria , visiting the belgium ruby conference , and today with us we have uh doslav stankov , who used to be the cto in product hunt and now he runs a company named angry angry buildings . So welcome to the show . Yeah , thanks for having me so tell us how .
How was it at product hunt ? What , what , what did you build there ? How is it to be like that ? Yeah , I mean .
I was one of the early engineering guys . I spent eight years at Product Hunt and after our acquisition to AngelList , the team kind of some of the team went to AngelList and at some point they needed to rebuild the team .
And that's the moment I become the head of engineering there and I started having the whole how to basically rebuild our engineering team , I mean not from scratch . We had like two , three people and for four years I was the one who was doing the all the technical management of the engineering team there , I know that AngelList uses Ruby .
Yeah , and does ProductHunt still use Ruby ?
Oh yeah , so the architecture of ProductHunt was ? It started as a traditional Rails app with Backbonejs in the frontend , but it still uses Rails , but it uses Rails for a GraphQL API server that powers Nextjs front-end application . And again , the architecture of Progvent evolved in the eight years I was there .
Of course , okay , and now you're running Angry Buildings .
What is this ? So Angry Building is a facility management software . So this is the software where the people who manage the building so in Bulgaria we have this concept of domov pravytel . This means each building is like a small company and the building people pay taxes for living in that building and those taxes are actually , it's called like fees .
Those fees are used to maintain the building and they have to say , oh , when with our roof starts leaking , okay , we are taking from these funds money to repair , the funds we are paying for cleaning . Uh , if an elevator breaks out , who is the person responsible for having the maintenance of this building ?
So I'm building , we are building the software for , uh , managing this process , because having individuals do that is doable , but to start to become the most hated neighbor and there is a lot of companies that can better do that for you and we are making the .
Basically , there are ERP systems that they manage everything in those processes from one end and on the other end , everybody who lives in the building actually can download an app and actually can see , oh , who is not paying their fees , how much money is the building have , how much ? Where are all those money going like ?
Because every person cares about saving money . Yeah , I mean , they're like why I'm paying this . Yeah , where are my money going ? And the third thing is I have an issue who do they call ? Yeah , what should I do ?
And we start from this problem to kind of build this system and our goal is , in couple of years , to rebrand as happy building , because to achieve the goal , and how big is the team ?
as I understand , you have just one engineer yeah , so it's me .
Yeah , yeah , managing , managing , I'm gonna managing myself . Yeah , so it's me . Yeah , one CTO . Yeah , I mean , we have one CTO . Managing the Managing , I mean I'm managing myself .
You have the best boss right ?
Yes , I mean , I actually have a lot of difficult conversation with me . But , yeah , the team we have right now five people . So we have one of my co-founders she is coming from sales and we have another salesperson .
We have marketing and support person and we have like a visual director for like the branding and all that stuff and because of the business is very it turns out like we didn't plan it to be like that .
I was dreaming onboarding like people filling up web forms and I never talked with customers , but it turns out because we're making a business software , we need a lot of in-hand experience all phone experience and support and sales , so it's a lot of b2b sales and we those people are very important for that part , and when would you consider hiring another developer ?
select your two engineer company when I can afford it .
That's the simple answer when the business actually can afford another engineer . Uh , I once I actually hired the consultancy company to do a couple of integrations because I found out that if I needed to learn the things that we were integrating with , it would be more money and I'm going to lose clients maybe for this .
So at that point I hired one help here and there . But yeah , the goal would be when I can afford it .
One question I have like in your talk you speak about , you know some very cool things like . This is how we prioritize things and this is how we figured out that , the things that are important , that we fast track . This is how we figured out . Like you know , on Fridays you said that you're fixing bugs .
Where do you get the time , or do you take some time , to analyze the processes like , and the things that are happening and like ? okay , I should maybe think how did we ? How did we work like this month I do , can we ?
improve something , or I do this all the time , like I'm constantly this is in the back , like this is a professional defect , or when I was a people account , yeah , one of my jobs was to find processes and kind of seeing patterns . I always said my job there was to remove friction and make the operation run smooth .
And I just noticed stuff like that and I'm doing a lot of talks , I'm doing a lot of writing and I'm trying to see because , again , a lot of the time I'm working alone , I need to put stuff into words in order to have something feasible to think about . So I a lot of the things were happened naturally .
A lot of the things happen because experience , some of those things are discovered and some of those , oh , I actually realized this is how I prioritized it . It's like like the Friday thing was it happened ? Very naturally . We say , okay , I don't want we have an office , I don't go there .
I work in the coworking upstairs , like actually , my desk is over there above us . I work here because I don't want to be disturbed if I'm in our company office where we have clients . When it says I would be like very unproductive .
So I say , okay , every Friday I'm coming and let's have this meeting , and this meeting is not very structured , it's very messy and it's a lot around . What's the hottest thing on your mind , like , for example , somebody on our support was complaining oh man , this is so hard . It's so hard about that , okay .
I would fix it .
Or this is the moment when I'm talking with our salesperson and then he was like , okay , I will fix it . Or this is the moment when I'm talking with our salesperson and then he was like , okay , I cannot make a sale because those companies are having all their data with one of our competitors and they have like five fields of data .
This is a big blocker for us to sell there . And I'm like , okay , let's rewrite the importer that can import . And he was like , is this possible ? Yeah , and he was like jaw drop . And I was like , yeah , he's like why ? And he was like , why don't you tell me earlier ?
I'm like I didn't know this was a problem and this is all those things we are kind of like doing in this part . And because Friday is not going to my productive day , this is the time all those maintenance things which I know them are very important . Like at product , we had something called bug duty .
In the end , like we experimented a lot with things , but we had this process called bug duty where engineer on the team during the sprint work , one engineer would be basically the bug fixer . So we put them out . So they are if there's an emergency , if there was like a bug tracker and a lot and I noticed that a lot of stuff got accumulated .
But if you just clean up time , that's time to time , it's easier over time yeah , I have a different question .
Yeah , what is your front end stack ?
uh , angry building ? Uh , all right , so the front end stack or angry building right now is I use the basic rails , or , at angry building right now is I use the basic rails , I use tailwind . I actually bought tailwind ui to style that . I don't have almost any custom css on the javascript front I don't use .
The only javascript external library I use is the ugs rails and the ugs with zero dependency rails for , like post action lights , both submit and all of that data helpers , and I just have customly written javascript for the everything chaos .
And everything chaos is not that much , it's like I show it in the slides , I just make a grip and it's like , uh , one thousand to twenty lines .
It sounds like you're using the rails six and you don't use hotwire I'm .
I'm with actually , I don't know what's the latest version of I'm with it . I'm like latest rails , but they don't use any hot wire , any stimulus , just because I actually don't need them . Like they add a lot more complexity to my problems , uh , complexity to my publication , which I don't need at this point in the moment .
It's not something I'm saying no because they're bad technology for I don't like them . It's just because they won't add any value to my customers and my app looks like a single page app , like I was showing somebody oh , this is this . Oh yeah , that's not nice . Who use this ? No , it's just full page reloads because I use Tailwind .
Tailwind just gives you one small CSS file . I have a thousand line JavaScript . How fast is that ? I actually don't even have , like , google Analytics in the main app . I don't need it . So it's actually really fast to actually render the data . So it looks like a single page app in a lot of places . And , yeah , I have one place .
I actually use Ajax because we have one of our killer features . Surprisingly , none of our competitors have that . It's like only search field , where somebody is calling you on a phone . You enter a phone and you can see this is the customer , this is the apartment , this is what they own and this is the only more stuff I need .
But it's like a simple only search and I use a lot of html . Uh , goodies like , for example , I'm very big master of the summary html tag where with summary , you can open , close it , you can style it like . My mobile version is like . It has this button and it's just a summary and styled with that .
I don't need anything more and I use the dialogue and I use a lot of that . So that's the reason I my front-end stack there . It's very simplistic . In some ways it's not the best UI , but works .
Great thanks for joining us for this mini episode and maybe someday you will join for a full episode sure , I'm always glad to talk about me friends , thanks for watching . Thank you see ya .