Hi, I’m Daniel Ghandahari
Passionated fullstack developer 🤙
I am a Fullstack Developer with a strong focus on React/Typescript for frontend development and Java Spring Boot for backend development. Additionally, I have experience in AWS, Kubernetes, and setting up CI/CD workflows. While these technologies are my strengths, I'm passionate about learning and using new tools and technologies.
Experience
Swace Digital AB
Fullstack developer and Data Scientist – Getmusicat
Swace Digital AB is an IT-company that creates and maintains multiple projects. Getmusicat is one of those projects. The app is new and recently had its release. Getmusicat holds a bunch of streaming channels that are always on. The music that is played are from artists that are not directly attached to a label and are licensed by themselves. This way, customers’ music services are cheaper and avoids special fees to labels. Potential customers are for example clothing stores. Swace has expressed the desire for auto scheduling of music in Getmusicat. This, so the customers can choose music channels that maximizes their business value, without having to think about the best music option at a specific moment. For this, Daniel is implementing a recommender system in the app with artificial intelligence. He is doing this as his Master Thesis for Master Programme in Computer and Information Engineering at Uppsala University. From Swace’s side, Alfren Yrelin (developer and graphical designer) is Daniel’s supervisor. At Uppsala University, Kristiaan Pelckmans (researcher and associate professor) is Daniel’s reviewer.
Swace Digital AB
Fullstack developer – Taggis
Swace Digital AB is an IT-company that creates and maintains multiple projects. Taggis is on of those projects. It’s an application that provides interactive e-learning. Some of the customers are SAS, Norwegian, Pelesys and Ryanair. Airway- and real estate companies can gain a lot of benefit from efficient e-learning. For instance, when a pilot or a cabin crew needs to learn different physical parts of the plain or when a broker has to show its clients a house. With interactive 360-walkaraounds, quizes and presentations, Taggis make this highly efficient. Initially, Daniel was assigned to this project for a new desired feature. It was a new mode in the app, where creation of still image courses should be an option. Previosly, 360-courses was only supported. Afterwards, Daniel was maintaining Taggis, both the front-end and the back-end. The maintenance part included continuous bug fixing that was reported from stakeholder, frequent interaction with UX-designers and implementation of new features.
GE Healthcare
System Developer – Independent Project in Information Engineering
GE, abbreviated General Electrics, is a multi-national conglomerate that is a world leader in various fields. The company works with different segments such as renewable energy, technology in electricity production, oil and gas, aviation systems, transport and healthcare. In Uppsala, Sweden, GE works with their healthcare segment in the affiliate company GE Healthcare. One of their focuses is the process of protein pureification and the technique of it, which is called chromatography. Daniel Implemented a control mechanism for GE Healthcares chromatography machines. The mechanism was being able to send commands like “start” and “stop” without physically having to be in contact with the machine. GE Healthcare wanted to avoid maintenance of a new application. Therefore, Daniel implemented the control mechanism through the Twitter API. This due to that many users have Twitter accounts.
BrightLabs
System Developer – Unit and Integration Tester
BrightLabs is an IT-company that is located in Stockholm. They maintain multiple projects, where HomeMaker is one of them. The application facilitates management of housing development projects. It also considers the interaction between project developer and home buyers. With HomeMaker, home buyers digitally make their interior design choices and can tailor their apartment based on the project developer’s product range. Home buyers and product developers communicates through the app, regarding everything from correspondence to necessary apartment documentation. Daniel was assigned the task of developing unit- and integration tests for the application. The tests where testing the back-end functionality. Both the tests and the back-end was written in Java/Groovy. For the tests, the framework Spock was used. Apart from the development, Daniel parallely managed data inputs and customer support.
Scania Group
System Developer
Scania is one of the world leaders when it comes to transport solutions. They focus on improvement of mobility for better businesses, environment and society for heavy vehicles like trucks and busses. The company runs a large and long-term project about autonomous vehicles and maintains a safety analysis application. An analysis could be to measure the risk of danger for a vehicle to be self driven depending on certain parameters. Example of such parameters can be weather, road condition, type of tiers and weight of vehicle. Daniel was assigned to this project for the summer, to extend the software. The form of working was mainly pair programming. Daniel and another summer worker (Arman Vatandoust) were pairs and therefore in continuous contact during the project. There was an agile approach in the project work flow with Kanban. In the project work flow, there was also weekly meetings with the different programming pairs and senior developers.
SL/Trafikförvaltningen - Current assignment
Fullstack developer – CDRI (Central dynamisk resenärsinformation)
The project/team CDRI (Central dynamisk resenärsinformation) provides traveling information on busses, trains, and ships in the local traffic of Stockholm. The team builds the software application running on HD-screens that provides journey information, deviations, custom made content adapted for targeted areas, and more. CDRI also manages the information on inner- and outer LED-displays and the sounds in the vehicles. Daniel initially joined the team with a main focus on frontend applications. He implemented the screen information application, set up the CMS integration, and some other internal tools. The technique he used was React/TypeScript. Also, he did backend development where he developed Spring Boot microservices. The team itself was responsible for the infrastructure and deploy pipelines. Daniel created and maintained infrastructure resources in AWS, used Helm/Kubernetes to deploy microservices, and worked with designing and implementing the CI/CD deploy pipeline.
Projects
QTL as a service (QTLaaS)
A cloud service for genetic analysis – Cloud automation
Quantitative trait loci (QTL) analysis is to locate regions in the genome. The knowledge that QTL brings can help with drug targeting, plant and animal breeding and heritable diseases. Its analysis runs heavy numerical methods and it’s therefore considered beneficial to run this analysis in a cloud infrastructure. The course Applied Cloud Computing in Uppsala University had a project for automation of different processes in the cloud for QTLaaS. Daniel and some classmates automated certain process. They built a Flask REST API in Python. With this API, the user could simply control its cloud resources.
Dring Labs AB
Company website
The company landing page, presenting Daniel and his consultancy.
Teaching Assistant
Imperative and Object-Oriented Programming Methodology (IOOPM)
Daniel had shown his technical side in combination with his social skills when he was reading the 20 credits course Imperative and Object-Oriented Programming Methodology (IOOPM) at Uppsala University. The year after, he was assigned as teaching assistant in the course, with duties as examine and helping students, in the programming languages C and Java.
Johanna Ris | Art Page
Personalized art web site
Johanna Ris is a talented artist that creates paintings, sketches and installations. She’d had problems to distribute her work. Previously, she tried to reach out with her work via a very anonymous facebook page. Daniel solved this problem by developing a personal website containing a categorized gallery, an about page and a contact page. This was developed as a web-app with good support on not only computers but also on mobile devices and tablets. For sustainable usage, Johanna can upload new images of her art on flickr and they will be dynamically uploaded on her page.
Automatic Price Suggestion when Selling Used Products
Predictive modeling of Machine Learning models
Daniel was taking the course Machine Learning at Uppsala University. The final step of the course was a project, consisting of three persons. Daniel and two friends chose to participate in a Kaggle kernel competition as their project. The competition was called Mercari Price Suggestion Challenge. The objective was to train and test a data set of already used products and try to create a predictive model for price estimation of other used products. Different machine learning algorithms were benchmarked on different platforms. Daniel and his classmates ended up in a good place in the competition leaderboard and were satisfied with the result.
Yalpify
Real-time music service Spotify-app
A common problem in social events is to pick music that satisfies all the people that are present. Daniel and his friends have solved this by creating an app where people can connect for optimal music selection. In the app, a user can create a room and retrieve a four-digit PIN-code. The user’s friends can join the room with the PIN-code, in real-time. In the room, settings for genre, exploration, popularity and more are set. At its final step, the app will create a Spotify playlist depending on those settings and the room-users most listened to tracks.
Hi, there
Start-page web-app
Hithere is a one-page web-app. It's mainly intended to use as a start page in a web browser. The app provides information such as what time it is, battery level on the device in use, whether the device is charging or not, a calendar, daily motivational quote and the weather at the location the user is at. Daniel developed Hithere with React.js, React.js's hooks library and used Styled Components for the styling of the site. He deployed the app by using the service Netlify.
The Flying Dutchman
User Interface
The course User Interface I at Uppsala University holds a project called The Flying Dutchman. It’s abot creating a proper user interface for users to be able to order beverages in The Flying Dutchman bar. There should be support for VIP-customers, a Drag-and-Drop ordering system, categorization, account management and more. Daniel implemented a modern looking user interface with HTML, CSS and Javascript (jQuery). Without a dedicated back-end, Daniel still managed to implement an intuitive flow in the UI. This by implementing essential functionality as accumulating order costs, resetting the sum multiple language support and more.
FindingMetro
Web-app that finds nearest subways
Daniel was searching for a new apartment online. One criterion he had was to be close to the subway. To find out whether an address was close to the subway, he had to zoom in on the map and visually look for the closest subway. This was inefficient. To solve this, Daniel created a web-app called FindingMetro. The user simply types an address in a search field and gets the closest subways with the exact distances. If there aren't any subways near a given address/place, the app will tell it. FindingMetro works globally, i.e. the search field autocompletes all addresses/places and works for all subways in the world.
Scrubit
Web-app for shopping
The organization IT-sektionen at Uppsala University runs a venue for mostly IT-students, but also other students at the university. It is called Skrubben. There, students socialize, study and are provided with snacks. For buying the snacks, Daniel and some friends created a web-shop, called Scrubit. With Scrubit, one simply choses the goods he/she wants to buy and gets redirected to the payment application Swish, with all necessary information pre-filled. Separate from the web-shop, Scrubit also provides an admin application. The board of IT-sektionen are the only ones that has access to it. From there, they can insert, update and delete items in the web-shop. The purpose of Scrubit is to make the shopping in Skrubben more efficient. The application also strengthens the status of IT-sektionen outwards.